
/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* 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 */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* DWARF original prototype: void KmeansImage._omp_fn.0(anon_struct_20_5_617bb85c * param_0) */

void __thiscall KmeansImage__omp_fn_0(anon_struct_20_5_617bb85c *this)

{
  double dVar1;
  double dVar2;
  double dVar3;
  double dVar4;
  double dVar5;
  double dVar6;
  KmeansInfo **ppKVar7;
  CacheView *cache_view;
  ExceptionInfo *exception;
  Image *pIVar8;
  size_t sVar9;
  ColorspaceType CVar10;
  KmeansInfo *pKVar11;
  PixelInfo *pPVar12;
  PixelTrait PVar13;
  size_t sVar14;
  PixelChannelMap *pPVar15;
  size_t sVar16;
  PixelTrait PVar17;
  PixelTrait PVar18;
  int iVar19;
  int iVar20;
  PixelTrait PVar21;
  double dVar22;
  double dVar23;
  int iVar24;
  double dVar25;
  char cVar26;
  int iVar27;
  Quantum *pQVar28;
  PixelTrait *pPVar29;
  KmeansInfo *pKVar30;
  MagickBooleanType MVar31;
  size_t sVar32;
  int in_GS_OFFSET;
  double local_8c;
  size_t local_84;
  size_t local_7c;
  int local_70;
  int local_28;
  int local_24;
  int local_20;
  
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  ppKVar7 = this->kmeans_pixels;
  cache_view = this->image_view;
  exception = this->exception;
  pIVar8 = this->image;
  cVar26 = GOMP_loop_dynamic_start(0,pIVar8->rows,1,1,&local_28,&local_24);
  local_70 = local_28;
  iVar24 = local_24;
  do {
    local_28 = local_70;
    local_24 = iVar24;
    if (cVar26 == '\0') {
      GOMP_loop_end_nowait();
      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
        __stack_chk_fail_local();
      }
      return;
    }
    do {
      iVar27 = omp_get_thread_num();
      if (this->status != MagickFalse) {
        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);
        dVar25 = _DAT_002df2e0;
        if (pQVar28 != (Quantum *)0x0) {
          sVar9 = pIVar8->columns;
          if (0 < (int)sVar9) {
            local_7c = 0;
            CVar10 = pIVar8->colorspace;
            pKVar11 = ppKVar7[iVar27];
            pPVar12 = pIVar8->colormap;
            PVar13 = pIVar8->alpha_trait;
            sVar14 = pIVar8->colors;
            pPVar15 = pIVar8->channel_map;
            sVar16 = pIVar8->number_channels;
            PVar17 = pPVar15[5].traits;
            PVar18 = pPVar12->alpha_trait;
            iVar27 = pPVar15[1].offset;
            iVar19 = pPVar15->offset;
            iVar20 = pPVar15[2].offset;
            do {
              dVar22 = _DAT_002df2e0;
              if (PVar13 == UndefinedPixelTrait) {
                if (PVar18 != UndefinedPixelTrait) {
                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;
                  dVar1 = pPVar12->alpha;
                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +
                          (double)DAT_002df8ac;
                  dVar5 = 1.0;
                  goto LAB_001451a1;
                }
                dVar2 = 0.0;
                dVar5 = 1.0;
              }
              else {
                if (pPVar15[4].traits == UndefinedPixelTrait) {
                  if (PVar18 == UndefinedPixelTrait) {
                    dVar5 = (double)DAT_002df8a8;
                    goto LAB_00145141;
                  }
                  dVar5 = (double)DAT_002df8a8;
                  dVar1 = dVar5 - pPVar12->alpha;
                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;
                  dVar1 = pPVar12->alpha;
                }
                else {
LAB_00145170:
                  dVar5 = pQVar28[pPVar15[4].offset];
                  if (PVar18 == UndefinedPixelTrait) {
LAB_00145141:
                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +
                            (double)DAT_002df8ac;
                    if (PVar13 == UndefinedPixelTrait) {
                      dVar5 = 1.0;
                    }
                    else {
                      dVar5 = dVar5 * _DAT_002df2e0;
                    }
                    goto LAB_00144d08;
                  }
                  dVar1 = pPVar12->alpha;
                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;
                  if (PVar13 == UndefinedPixelTrait) {
                    dVar5 = 1.0;
                    goto LAB_001451a1;
                  }
                }
                dVar5 = dVar5 * _DAT_002df2e0;
LAB_001451a1:
                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;
              }
LAB_00144d08:
              dVar1 = pQVar28[iVar19];
              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;
              if (CVar10 == CMYKColorspace) {
                if (pPVar15[3].traits == UndefinedPixelTrait) {
                  dVar6 = 0.0;
                  dVar3 = dVar5;
                }
                else {
                  dVar6 = pQVar28[pPVar15[3].offset];
                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;
                }
                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;
                dVar23 = dVar5 * dVar6;
                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;
                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;
              }
              else {
                dVar2 = dVar2 * (double)DAT_002e9cd8;
                if (CVar10 - HCLColorspace < 6) {
                  if ((double)DAT_002df2b8 < ABS(dVar4)) {
                    dVar4 = dVar4 - (double)DAT_002df2b8;
                  }
                  dVar4 = dVar4 + dVar4;
                }
              }
              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;
              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;
              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;
              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {
                dVar2 = 0.0;
                pKVar30 = pKVar11;
              }
              else {
                pPVar29 = &pPVar12[1].alpha_trait;
                sVar32 = 1;
                local_84 = 0;
                do {
                  PVar21 = *pPVar29;
                  if (PVar13 == UndefinedPixelTrait) {
                    if (PVar21 == UndefinedPixelTrait) {
                      dVar2 = 1.0;
                      dVar6 = 0.0;
                    }
                    else {
                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;
                      dVar4 = *(double *)(pPVar29 + 0xe);
                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +
                              (double)DAT_002df8ac;
                      dVar2 = 1.0;
LAB_00145038:
                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;
                    }
                  }
                  else {
                    if (pPVar15[4].traits == UndefinedPixelTrait) {
                      if (PVar21 != UndefinedPixelTrait) {
                        dVar4 = *(double *)(pPVar29 + 0xe);
                        dVar2 = (double)DAT_002df8a8;
                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;
                        goto LAB_00145030;
                      }
                      dVar6 = 0.0;
                      dVar2 = (double)DAT_002df8a8;
                    }
                    else {
LAB_00145048:
                      dVar2 = pQVar28[pPVar15[4].offset];
                      if (PVar21 != UndefinedPixelTrait) {
                        dVar4 = *(double *)(pPVar29 + 0xe);
                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;
                        if (PVar13 == UndefinedPixelTrait) {
                          dVar2 = 1.0;
                          goto LAB_00145038;
                        }
LAB_00145030:
                        dVar2 = dVar2 * _DAT_002df2e0;
                        goto LAB_00145038;
                      }
                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +
                              (double)DAT_002df8ac;
                      if (PVar13 == UndefinedPixelTrait) {
                        dVar2 = 1.0;
                        goto LAB_00144dfb;
                      }
                    }
                    dVar2 = dVar2 * dVar25;
                  }
LAB_00144dfb:
                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;
                  if (CVar10 == CMYKColorspace) {
                    if (pPVar15[3].traits == UndefinedPixelTrait) {
                      dVar3 = 0.0;
                      local_8c = dVar2;
                    }
                    else {
                      dVar3 = pQVar28[pPVar15[3].offset];
                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;
                    }
                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;
                    dVar23 = dVar2 * dVar3;
                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *
                            local_8c;
                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;
                  }
                  else {
                    dVar6 = dVar6 * (double)DAT_002e9cd8;
                    if (CVar10 - HCLColorspace < 6) {
                      if ((double)DAT_002df2b8 < ABS(dVar4)) {
                        dVar4 = dVar4 - (double)DAT_002df2b8;
                      }
                      dVar4 = dVar4 + dVar4;
                    }
                  }
                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;
                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;
                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +
                          dVar23 * dVar2 * dVar23;
                  if (dVar2 < dVar5) {
                    dVar5 = dVar2;
                    local_84 = sVar32;
                  }
                  sVar32 = sVar32 + 1;
                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));
                dVar2 = (double)(int)local_84;
                pKVar30 = pKVar11 + local_84;
              }
              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;
              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;
              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;
              if (PVar13 != BlendPixelTrait) {
                if (pPVar15[4].traits == UndefinedPixelTrait) {
                  dVar22 = 1.0;
                }
                else {
                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];
                }
                pKVar30->alpha = dVar22 + pKVar30->alpha;
              }
              if (CVar10 == CMYKColorspace) {
                if (pPVar15[3].traits == UndefinedPixelTrait) {
                  dVar22 = 0.0;
                }
                else {
                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];
                }
                pKVar30->black = dVar22 + pKVar30->black;
              }
              pKVar30->count = pKVar30->count + 1.0;
              pKVar30->distortion = dVar5 + pKVar30->distortion;
              if (PVar17 != UndefinedPixelTrait) {
                pQVar28[pPVar15[5].offset] = dVar2;
              }
              local_7c = local_7c + 1;
              pQVar28 = pQVar28 + sVar16;
            } while (local_7c != sVar9);
          }
          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);
          if (MVar31 != MagickFalse) goto LAB_00144f9d;
        }
        this->status = MagickFalse;
      }
LAB_00144f9d:
      local_70 = local_70 + 1;
    } while (local_70 < iVar24);
    cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24);
    local_70 = local_28;
    iVar24 = local_24;
  } while( true );
}



void FUN_00144b70(int *param_1)

{
  double dVar1;
  double dVar2;
  double dVar3;
  double dVar4;
  double dVar5;
  double dVar6;
  double dVar7;
  double dVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  double *pdVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  int iVar20;
  int iVar21;
  int iVar22;
  int iVar23;
  double dVar24;
  double dVar25;
  int iVar26;
  char cVar27;
  int iVar28;
  int iVar29;
  int *piVar30;
  double *pdVar31;
  int iVar32;
  int unaff_EBP;
  int iVar33;
  int iVar34;
  int in_GS_OFFSET;
  double local_8c;
  int local_84;
  int local_7c;
  int local_70;
  int local_28;
  int local_24;
  int local_20;
  
  FUN_00045159();
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar9 = param_1[3];
  iVar10 = param_1[2];
  iVar11 = param_1[1];
  iVar12 = *param_1;
  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);
  local_70 = local_28;
  iVar26 = local_24;
  do {
    local_28 = local_70;
    local_24 = iVar26;
    if (cVar27 == '\0') {
      GOMP_loop_end_nowait();
      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
        FUN_002decd0();
      }
      return;
    }
    do {
      iVar28 = omp_get_thread_num();
      if (param_1[4] != 0) {
        iVar29 = GetCacheViewAuthenticPixels
                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);
        if (iVar29 != 0) {
          iVar13 = *(int *)(iVar12 + 0x18);
          if (0 < iVar13) {
            local_7c = 0;
            dVar1 = *(double *)(unaff_EBP + 0x19a76a);
            iVar14 = *(int *)(iVar12 + 4);
            pdVar15 = *(double **)(iVar9 + iVar28 * 4);
            iVar28 = *(int *)(iVar12 + 0x28);
            iVar16 = *(int *)(iVar12 + 0x294);
            iVar17 = *(int *)(iVar12 + 0x24);
            iVar18 = *(int *)(iVar12 + 0x2a8);
            iVar19 = *(int *)(iVar12 + 0x298);
            iVar20 = *(int *)(iVar18 + 0x40);
            iVar21 = *(int *)(iVar28 + 8);
            iVar22 = *(int *)(iVar18 + 8);
            iVar33 = *(int *)(iVar18 + 0x14) * 8;
            iVar34 = *(int *)(iVar18 + 0x20) * 8;
            do {
              if (iVar16 == 0) {
                if (iVar21 != 0) {
                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;
                  dVar2 = *(double *)(iVar28 + 0x40);
                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *
                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +
                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                  dVar8 = 1.0;
                  goto LAB_001451a1;
                }
                dVar6 = 0.0;
                dVar8 = 1.0;
              }
              else {
                if (*(int *)(iVar18 + 0x34) == 0) {
                  if (iVar21 == 0) {
                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                    goto LAB_00145141;
                  }
                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);
                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                  dVar2 = *(double *)(iVar28 + 0x40);
                }
                else {
LAB_00145170:
                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);
                  if (iVar21 == 0) {
LAB_00145141:
                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *
                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +
                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                    if (iVar16 == 0) {
                      dVar8 = 1.0;
                    }
                    else {
                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);
                    }
                    goto LAB_00144d08;
                  }
                  dVar2 = *(double *)(iVar28 + 0x40);
                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +
                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                  if (iVar16 == 0) {
                    dVar8 = 1.0;
                    goto LAB_001451a1;
                  }
                }
                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);
LAB_001451a1:
                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;
              }
LAB_00144d08:
              dVar2 = *(double *)(iVar29 + iVar22 * 8);
              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);
              if (iVar14 == 2) {
                if (*(int *)(iVar18 + 0x28) == 0) {
                  dVar3 = 0.0;
                  dVar4 = dVar8;
                }
                else {
                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);
                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *
                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;
                }
                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);
                dVar24 = dVar8 * dVar3;
                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -
                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);
                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);
              }
              else {
                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);
                if (iVar14 - 4U < 6) {
                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {
                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);
                  }
                  dVar5 = dVar5 + dVar5;
                }
              }
              dVar3 = *(double *)(iVar29 + iVar33);
              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);
              dVar4 = *(double *)(iVar29 + iVar34);
              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);
              dVar8 = dVar24 * dVar8 * dVar24 +
                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;
              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {
                dVar6 = 0.0;
                pdVar31 = pdVar15;
              }
              else {
                piVar30 = (int *)(iVar28 + 0x58);
                iVar32 = 1;
                local_84 = 0;
                do {
                  iVar23 = *piVar30;
                  if (iVar16 == 0) {
                    if (iVar23 == 0) {
                      dVar6 = 1.0;
                      dVar24 = 0.0;
                    }
                    else {
                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;
                      dVar5 = *(double *)(piVar30 + 0xe);
                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *
                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +
                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                      dVar6 = 1.0;
LAB_00145038:
                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;
                    }
                  }
                  else {
                    if (*(int *)(iVar18 + 0x34) == 0) {
                      if (iVar23 != 0) {
                        dVar5 = *(double *)(piVar30 + 0xe);
                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +
                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                        goto LAB_00145030;
                      }
                      dVar24 = 0.0;
                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                    }
                    else {
LAB_00145048:
                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);
                      if (iVar23 != 0) {
                        dVar5 = *(double *)(piVar30 + 0xe);
                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +
                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                        if (iVar16 == 0) {
                          dVar6 = 1.0;
                          goto LAB_00145038;
                        }
LAB_00145030:
                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);
                        goto LAB_00145038;
                      }
                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *
                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +
                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                      if (iVar16 == 0) {
                        dVar6 = 1.0;
                        goto LAB_00144dfb;
                      }
                    }
                    dVar6 = dVar6 * dVar1;
                  }
LAB_00144dfb:
                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);
                  if (iVar14 == 2) {
                    if (*(int *)(iVar18 + 0x28) == 0) {
                      dVar7 = 0.0;
                      local_8c = dVar6;
                    }
                    else {
                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);
                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *
                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;
                    }
                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)
                    ;
                    dVar25 = dVar6 * dVar7;
                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -
                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *
                            local_8c;
                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);
                  }
                  else {
                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);
                    if (iVar14 - 4U < 6) {
                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {
                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);
                      }
                      dVar5 = dVar5 + dVar5;
                    }
                  }
                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);
                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);
                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +
                          dVar25 * dVar6 * dVar25;
                  if (dVar6 < dVar8) {
                    dVar8 = dVar6;
                    local_84 = iVar32;
                  }
                  iVar32 = iVar32 + 1;
                } while ((iVar32 != iVar17) &&
                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));
                dVar6 = (double)local_84;
                pdVar31 = pdVar15 + local_84 * 7;
              }
              dVar5 = *(double *)(unaff_EBP + 0x19a76a);
              *pdVar31 = *pdVar31 + dVar2 * dVar5;
              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];
              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];
              if (iVar16 != 4) {
                if (*(int *)(iVar18 + 0x34) == 0) {
                  dVar5 = 1.0;
                }
                else {
                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);
                }
                pdVar31[3] = dVar5 + pdVar31[3];
              }
              if (iVar14 == 2) {
                if (*(int *)(iVar18 + 0x28) == 0) {
                  dVar2 = 0.0;
                }
                else {
                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *
                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);
                }
                pdVar31[4] = dVar2 + pdVar31[4];
              }
              pdVar31[5] = pdVar31[5] + 1.0;
              pdVar31[6] = dVar8 + pdVar31[6];
              if (iVar20 != 0) {
                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;
              }
              local_7c = local_7c + 1;
              iVar29 = iVar29 + iVar19 * 8;
            } while (local_7c != iVar13);
          }
          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);
          if (iVar28 != 0) goto LAB_00144f9d;
        }
        param_1[4] = 0;
      }
LAB_00144f9d:
      local_70 = local_70 + 1;
    } while (local_70 < iVar26);
    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);
    local_70 = local_28;
    iVar26 = local_24;
  } while( true );
}


PUSH EBP
CALL 0x00045159
ADD EBP,0x2d948a
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xa4
MOV ESI,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x94],ESI
XOR ESI,ESI
MOV EAX,dword ptr [ESP + 0xb8]
MOV EBX,EBP
MOV ESI,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x60],EAX
MOV dword ptr [ESP + 0x74],ESI
MOV ESI,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0x68],ESI
MOV ESI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x6c],ESI
LEA ESI,[ESP + 0x90]
MOV dword ptr [ESP + 0x84],ESI
MOV dword ptr [ESP + 0x70],EAX
PUSH ESI
LEA ESI,[ESP + 0x90]
MOV dword ptr [ESP + 0x84],ESI
PUSH ESI
PUSH 0x1
PUSH 0x1
PUSH dword ptr [EAX + 0x1c]
PUSH 0x0
CALL 0x000336c0
ADD ESP,0x20
TEST AL,AL
JZ 0x00144fd3
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x84]
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x88]
MOV dword ptr [ESP + 0x5c],EAX
NOP
MOV EBX,EBP
CALL 0x000317c0
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x58]
MOV EAX,dword ptr [EAX + 0x10]
TEST EAX,EAX
JZ 0x00144f9d
SUB ESP,0x8
PUSH dword ptr [ESP + 0x6c]
PUSH 0x1
MOV EDI,dword ptr [ESP + 0x78]
PUSH dword ptr [EDI + 0x18]
PUSH dword ptr [ESP + 0x50]
PUSH 0x0
PUSH dword ptr [ESP + 0x7c]
CALL 0x000312c0
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00144f92
MOV EAX,dword ptr [EDI + 0x18]
TEST EAX,EAX
MOV dword ptr [ESP + 0x44],EAX
JLE 0x00144f79
MOV EAX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x30],0x0
MOV EDI,dword ptr [ESP + 0x6c]
FLD qword ptr [EBP + 0xffec12e0]
FSTP qword ptr [ESP + 0x70]
MOV EBX,dword ptr [EAX + 0x4]
MOV ESI,dword ptr [EDI + ESI*0x4]
MOV EDX,dword ptr [EAX + 0x28]
MOV ECX,dword ptr [EAX + 0x294]
MOV dword ptr [ESP + 0x4],EBX
SUB EBX,0x4
MOV EDI,dword ptr [ESP]
MOV dword ptr [ESP + 0x1c],EBX
MOV EBX,dword ptr [EAX + 0x24]
MOV dword ptr [ESP + 0x54],ESI
MOV dword ptr [ESP + 0x2c],EDX
MOV dword ptr [ESP + 0x18],EBX
MOV EBX,dword ptr [EAX + 0x2a8]
MOV EAX,dword ptr [EAX + 0x298]
MOV ESI,dword ptr [EBX + 0x40]
MOV dword ptr [ESP + 0x8],EAX
SHL EAX,0x3
MOV dword ptr [ESP + 0x4c],EAX
MOV EAX,dword ptr [EDX + 0x8]
MOV dword ptr [ESP + 0x48],ESI
MOV ESI,dword ptr [EBX + 0x14]
MOV dword ptr [ESP + 0x40],EAX
MOV EAX,dword ptr [EBX + 0x8]
SHL ESI,0x3
MOV dword ptr [ESP + 0x34],ESI
MOV ESI,dword ptr [EBX + 0x20]
SHL EAX,0x3
MOV dword ptr [ESP + 0x50],EAX
SHL ESI,0x3
MOV dword ptr [ESP + 0x38],ESI
MOV ESI,ECX
TEST ESI,ESI
JNZ 0x00145128
MOV EAX,dword ptr [ESP + 0x40]
TEST EAX,EAX
JNZ 0x00145240
FLDZ
FLD1
MOV EAX,dword ptr [ESP + 0x50]
CMP dword ptr [ESP + 0x4],0x2
FLD qword ptr [EDI + EAX*0x1]
MOV EAX,dword ptr [ESP + 0x2c]
FLD qword ptr [EAX + 0x20]
FSUBR ST0,ST1
FLD qword ptr [EBP + 0xffec12e0]
FMUL ST1
JZ 0x001451d8
FSTP ST0
FXCH ST3
CMP dword ptr [ESP + 0x1c],0x5
FMUL dword ptr [EBP + 0xffecbcd8]
JA 0x00144d60
FLD dword ptr [EBP + 0xffec12b8]
FLD ST4
FABS
FUCOMIP ST0,ST1
JBE 0x00144d50
FSUBP ST4,ST0
FXCH ST3
JMP 0x00144d54
FSTP ST0
FXCH ST3
FADD ST0,ST0
JMP 0x00144d68
FXCH ST3
LEA ESI,[ESI]
FLD ST2
MOV EAX,dword ptr [ESP + 0x34]
FMUL ST1
MOV EDX,dword ptr [ESP + 0x38]
CMP dword ptr [ESP + 0x18],0x1
FMULP
FADDP ST3,ST0
FLD qword ptr [EDI + EAX*0x1]
MOV EAX,dword ptr [ESP + 0x2c]
FST qword ptr [ESP + 0x8]
FLD qword ptr [EAX + 0x28]
FSUBP
FLD qword ptr [EBP + 0xffec12e0]
FMUL ST1
FLD ST3
FMUL ST2
FMULP ST2
FXCH
FADDP ST4,ST0
FLD qword ptr [EDI + EDX*0x1]
FST qword ptr [ESP + 0x10]
FSUB qword ptr [EAX + 0x30]
FMULP
FMUL ST2
FMULP ST2
FXCH
FADDP ST2,ST0
JLE 0x00145290
FLD qword ptr [EBP + 0xffec12d0]
FUCOMIP ST0,ST2
JNC 0x00145290
ADD EAX,0x58
MOV EDX,0x1
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP],ESI
JMP 0x00144de2
FXCH
MOV ESI,dword ptr [ESP]
MOV ECX,dword ptr [EAX]
TEST ESI,ESI
JNZ 0x00145000
TEST ECX,ECX
JNZ 0x001450e0
FLD1
FLDZ
FLD qword ptr [EAX + 0x18]
CMP dword ptr [ESP + 0x4],0x2
FSUBR ST0,ST3
FLD qword ptr [EBP + 0xffec12e0]
FMUL ST1
JZ 0x00145080
FSTP ST0
FXCH
CMP dword ptr [ESP + 0x1c],0x5
FMUL dword ptr [EBP + 0xffecbcd8]
JA 0x00144e50
FLD dword ptr [EBP + 0xffec12b8]
FLD ST2
FABS
FUCOMIP ST0,ST1
JBE 0x00144e40
FSUBP ST2,ST0
FXCH
JMP 0x00144e44
FSTP ST0
FXCH
FADD ST0,ST0
JMP 0x00144e58
FXCH
LEA ESI,[ESI]
FLD ST0
FMUL ST3
FMULP
FADDP
FLD qword ptr [ESP + 0x8]
FSUB qword ptr [EAX + 0x20]
FLD qword ptr [EBP + 0xffec12e0]
FMUL ST1
FLD ST1
FMUL ST4
FMULP ST2
FXCH
FADDP ST2,ST0
FLD qword ptr [ESP + 0x10]
FSUB qword ptr [EAX + 0x28]
FMULP
FMUL ST2
FMULP ST2
FADDP
FXCH ST2
FUCOMI ST0,ST2
JBE 0x00144ea0
FSTP ST0
FXCH
MOV dword ptr [ESP + 0x28],EDX
JMP 0x00144ea4
FSTP ST2
FXCH
ADD EDX,0x1
CMP EDX,dword ptr [ESP + 0x18]
JZ 0x00144ebe
FLD qword ptr [EBP + 0xffec12d0]
ADD EAX,0x50
FUCOMIP ST0,ST1
JC 0x00144de0
MOV EAX,dword ptr [ESP + 0x28]
MOV ESI,dword ptr [ESP]
MOV dword ptr [ESP],EAX
IMUL EAX,EAX,0x38
ADD EAX,dword ptr [ESP + 0x54]
FILD dword ptr [ESP]
FLD qword ptr [EBP + 0xffec12e0]
FMUL ST3
MOV EDX,dword ptr [ESP + 0x34]
FLD qword ptr [EAX]
FADDP ST4,ST0
FXCH ST3
FSTP qword ptr [EAX]
FLD qword ptr [EDI + EDX*0x1]
FMUL ST3
MOV EDX,dword ptr [ESP + 0x38]
FADD qword ptr [EAX + 0x8]
FSTP qword ptr [EAX + 0x8]
FLD qword ptr [EDI + EDX*0x1]
FMUL ST3
FADD qword ptr [EAX + 0x10]
FSTP qword ptr [EAX + 0x10]
CMP ESI,0x4
JZ 0x00144f30
MOV EDX,dword ptr [EBX + 0x34]
TEST EDX,EDX
JZ 0x00145230
FXCH ST2
MOV EDX,dword ptr [EBX + 0x38]
FMUL qword ptr [EDI + EDX*0x8]
FXCH
FXCH ST2
FXCH
FADD qword ptr [EAX + 0x18]
FSTP qword ptr [EAX + 0x18]
JMP 0x00144f34
FSTP ST2
FXCH
CMP dword ptr [ESP + 0x4],0x2
JZ 0x001451b0
FLD1
FADD qword ptr [EAX + 0x28]
FSTP qword ptr [EAX + 0x28]
FXCH
FADD qword ptr [EAX + 0x30]
FSTP qword ptr [EAX + 0x30]
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x00144f60
MOV EAX,dword ptr [EBX + 0x44]
FSTP qword ptr [EDI + EAX*0x8]
JMP 0x00144f62
FSTP ST0
ADD dword ptr [ESP + 0x30],0x1
ADD EDI,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [ESP + 0x30]
CMP EAX,dword ptr [ESP + 0x44]
JNZ 0x00144cf0
SUB ESP,0x8
MOV EBX,EBP
PUSH dword ptr [ESP + 0x6c]
PUSH dword ptr [ESP + 0x6c]
CALL 0x00031800
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00144f9d
MOV EAX,dword ptr [ESP + 0x58]
MOV dword ptr [EAX + 0x10],0x0
ADD dword ptr [ESP + 0x3c],0x1
MOV EAX,dword ptr [ESP + 0x3c]
CMP dword ptr [ESP + 0x5c],EAX
JG 0x00144c10
SUB ESP,0x8
MOV EBX,EBP
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x84]
CALL 0x00031760
ADD ESP,0x10
TEST AL,AL
JNZ 0x00144bf8
MOV EBX,EBP
CALL 0x00033790
MOV EAX,dword ptr [ESP + 0x8c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x001452df
ADD ESP,0x9c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ESI,dword ptr [EBX + 0x34]
TEST ESI,ESI
JNZ 0x00145048
TEST ECX,ECX
JZ 0x001452a1
FLD qword ptr [EAX + 0x38]
FLD dword ptr [EBP + 0xffec18a8]
FLD ST1
FSUBR ST0,ST1
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
FXCH
JMP 0x00145030
FXCH
FXCH ST2
LEA ESI,[ESI]
FMUL qword ptr [EBP + 0xffec12e0]
FXCH ST2
FMUL qword ptr [EBP + 0xffec12e0]
FMULP ST2
JMP 0x00144dfb
MOV ESI,dword ptr [EBX + 0x38]
FLD qword ptr [EDI + ESI*0x8]
TEST ECX,ECX
JNZ 0x001452b8
FLD ST0
MOV ECX,dword ptr [ESP]
FSUB dword ptr [EBP + 0xffec18a8]
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
TEST ECX,ECX
JNZ 0x001452ab
FSTP ST1
FLD1
FXCH
JMP 0x00144dfb
MOV ESI,dword ptr [EBX + 0x28]
TEST ESI,ESI
JZ 0x00145110
MOV ECX,dword ptr [EBX + 0x2c]
FLD qword ptr [EDI + ECX*0x8]
FLD ST0
FSUBR dword ptr [EBP + 0xffec18a8]
FMULP ST2
FXCH
FMUL ST4
FSTP qword ptr [ESP + 0x20]
FLD qword ptr [EAX + 0x30]
FSUB ST1,ST0
FLD qword ptr [EBP + 0xffec12e0]
FMUL ST2
FXCH ST5
FMUL ST2
FMULP ST2
FXCH ST3
FADDP
FXCH ST2
FSUBR dword ptr [EBP + 0xffec18a8]
FMULP ST3
FXCH ST2
FMUL qword ptr [ESP + 0x20]
FXCH
FMUL dword ptr [EBP + 0xffecbcd8]
FXCH
FXCH ST2
JMP 0x00144e58
MOV ESI,dword ptr [EBX + 0x34]
TEST ESI,ESI
JNZ 0x00145048
FLD qword ptr [EAX + 0x38]
FLD ST0
FSUBR dword ptr [EBP + 0xffec18a8]
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
FLD1
FXCH ST2
JMP 0x00145038
FSTP ST0
FXCH ST2
FST qword ptr [ESP + 0x20]
FLDZ
FXCH
FXCH ST3
FXCH
JMP 0x001450a3
MOV EAX,dword ptr [EBX + 0x34]
TEST EAX,EAX
JNZ 0x00145170
MOV EAX,dword ptr [ESP + 0x40]
TEST EAX,EAX
JNZ 0x001452e4
FLD dword ptr [EBP + 0xffec18a8]
FLD ST0
FSUB dword ptr [EBP + 0xffec18a8]
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
TEST ESI,ESI
JZ 0x00145315
FXCH
FMUL qword ptr [EBP + 0xffec12e0]
JMP 0x00144d08
MOV EAX,dword ptr [EBX + 0x38]
MOV ECX,dword ptr [ESP + 0x40]
FLD qword ptr [EDI + EAX*0x8]
TEST ECX,ECX
JZ 0x00145141
MOV EAX,dword ptr [ESP + 0x2c]
FLD qword ptr [EAX + 0x40]
FLD ST1
FSUB ST0,ST1
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
TEST ESI,ESI
JNZ 0x00145304
FSTP ST2
FXCH
FLD1
FXCH ST2
FMUL qword ptr [EBP + 0xffec12e0]
FMULP ST2
FXCH
JMP 0x00144d08
MOV ECX,dword ptr [EBX + 0x28]
TEST ECX,ECX
JZ 0x00145280
MOV EDX,dword ptr [EBX + 0x2c]
FLD qword ptr [EBP + 0xffec12e0]
FMUL qword ptr [EDI + EDX*0x8]
FADD qword ptr [EAX + 0x20]
FSTP qword ptr [EAX + 0x20]
JMP 0x00144f3f
MOV EDX,dword ptr [EBX + 0x28]
TEST EDX,EDX
JZ 0x00145270
MOV EAX,dword ptr [EBX + 0x2c]
FLD qword ptr [EDI + EAX*0x8]
FLD ST0
MOV EAX,dword ptr [ESP + 0x2c]
FSUBR dword ptr [EBP + 0xffec18a8]
FMULP ST2
FXCH
FMUL ST4
FXCH
FLD qword ptr [EAX + 0x38]
FSUB ST1,ST0
FLD qword ptr [EBP + 0xffec12e0]
FMUL ST2
FXCH ST6
FMUL ST2
FMULP ST2
FXCH ST6
FADDP
FXCH ST5
FSUBR dword ptr [EBP + 0xffec18a8]
FMULP ST4
FMULP ST3
FXCH ST3
FMUL dword ptr [EBP + 0xffecbcd8]
FXCH ST3
JMP 0x00144d68
FSTP ST2
FXCH
FLD1
JMP 0x00144f1e
MOV EAX,dword ptr [EBX + 0x34]
TEST EAX,EAX
JNZ 0x00145170
MOV EAX,dword ptr [ESP + 0x2c]
FLD qword ptr [EAX + 0x40]
FLD ST0
FSUBR dword ptr [EBP + 0xffec18a8]
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
FLD1
FXCH ST2
JMP 0x001451a1
FSTP ST0
FLD ST2
FLDZ
JMP 0x001451fd
FLDZ
JMP 0x001451c7
MOV EAX,dword ptr [ESP + 0x54]
FLDZ
FXCH
FXCH ST2
FXCH
JMP 0x00144ed2
FLDZ
FLD dword ptr [EBP + 0xffec18a8]
JMP 0x001452ad
FXCH
FMUL qword ptr [ESP + 0x70]
FXCH
JMP 0x00144dfb
FLD qword ptr [EAX + 0x38]
FLD ST1
MOV ECX,dword ptr [ESP]
FSUB ST0,ST1
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
TEST ECX,ECX
JNZ 0x00145028
FSTP ST2
FXCH
FLD1
FXCH ST2
JMP 0x00145038
CALL 0x002decd0
MOV EAX,dword ptr [ESP + 0x2c]
FLD dword ptr [EBP + 0xffec18a8]
FLD ST0
FSUB qword ptr [EAX + 0x40]
FMUL ST0
FADD dword ptr [EBP + 0xffec18ac]
FLD qword ptr [EAX + 0x40]
FXCH
FXCH ST2
JMP 0x00145306
FXCH ST2
FMUL qword ptr [EBP + 0xffec12e0]
FXCH ST2
FXCH
JMP 0x001451a1
FSTP ST1
FLD1
JMP 0x00144d08
(translation_unit "void FUN_00144b70(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}\n\n" (function_definition "void FUN_00144b70(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00144b70(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  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double dVar4;" primitive_type identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "double dVar7;" primitive_type identifier ;) (declaration "double dVar8;" 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 "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "char cVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "double *pdVar31;" primitive_type (pointer_declarator "*pdVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "double local_8c;" primitive_type identifier ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "FUN_00045159();" (call_expression "FUN_00045159()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = param_1[3];" (assignment_expression "iVar9 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = param_1[2];" (assignment_expression "iVar10 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = param_1[1];" (assignment_expression "iVar11 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = *param_1;" (assignment_expression "iVar12 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);" (assignment_expression "cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" identifier = (call_expression "GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" identifier (argument_list "(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" ( number_literal , (pointer_expression "*(undefined4 *)(iVar12 + 0x1c)" * (cast_expression "(undefined4 *)(iVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) )))) , number_literal , number_literal , (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" identifier = identifier) ;) (expression_statement "iVar26 = local_24;" (assignment_expression "iVar26 = local_24" identifier = identifier) ;) (do_statement "do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );" do (compound_statement "{\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  }" { (expression_statement "local_28 = local_70;" (assignment_expression "local_28 = local_70" identifier = identifier) ;) (expression_statement "local_24 = iVar26;" (assignment_expression "local_24 = iVar26" identifier = identifier) ;) (if_statement "if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }\n      return;\n    }" if (parenthesized_expression "(cVar27 == '\0')" ( (binary_expression "cVar27 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }\n      return;\n    }" { (expression_statement "GOMP_loop_end_nowait();" (call_expression "GOMP_loop_end_nowait()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_002decd0();\n      }" { comment (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })) (do_statement "do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);" do (compound_statement "{\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    }" { (expression_statement "iVar28 = omp_get_thread_num();" (assignment_expression "iVar28 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (if_statement "if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }" { (expression_statement "iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);" (assignment_expression "iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" identifier = (call_expression "GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" identifier (argument_list "(iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar12 + 0x18)" * (cast_expression "(undefined4 *)(iVar12 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x18)" ( (binary_expression "iVar12 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }" { (expression_statement "iVar13 = *(int *)(iVar12 + 0x18);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x18)" identifier = (pointer_expression "*(int *)(iVar12 + 0x18)" * (cast_expression "(int *)(iVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x18)" ( (binary_expression "iVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }" if (parenthesized_expression "(0 < iVar13)" ( (binary_expression "0 < iVar13" number_literal < identifier) )) (compound_statement "{\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }" { (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "dVar1 = *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar1 = *(double *)(unaff_EBP + 0x19a76a)" identifier = (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar12 + 4);" (assignment_expression "iVar14 = *(int *)(iVar12 + 4)" identifier = (pointer_expression "*(int *)(iVar12 + 4)" * (cast_expression "(int *)(iVar12 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "pdVar15 = *(double **)(iVar9 + iVar28 * 4);" (assignment_expression "pdVar15 = *(double **)(iVar9 + iVar28 * 4)" identifier = (pointer_expression "*(double **)(iVar9 + iVar28 * 4)" * (cast_expression "(double **)(iVar9 + iVar28 * 4)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + iVar28 * 4)" ( (binary_expression "iVar9 + iVar28 * 4" identifier + (binary_expression "iVar28 * 4" identifier * number_literal)) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar12 + 0x28);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x28)" identifier = (pointer_expression "*(int *)(iVar12 + 0x28)" * (cast_expression "(int *)(iVar12 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x28)" ( (binary_expression "iVar12 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar12 + 0x294);" (assignment_expression "iVar16 = *(int *)(iVar12 + 0x294)" identifier = (pointer_expression "*(int *)(iVar12 + 0x294)" * (cast_expression "(int *)(iVar12 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x294)" ( (binary_expression "iVar12 + 0x294" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar12 + 0x24);" (assignment_expression "iVar17 = *(int *)(iVar12 + 0x24)" identifier = (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(iVar12 + 0x2a8);" (assignment_expression "iVar18 = *(int *)(iVar12 + 0x2a8)" identifier = (pointer_expression "*(int *)(iVar12 + 0x2a8)" * (cast_expression "(int *)(iVar12 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x2a8)" ( (binary_expression "iVar12 + 0x2a8" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(iVar12 + 0x298);" (assignment_expression "iVar19 = *(int *)(iVar12 + 0x298)" identifier = (pointer_expression "*(int *)(iVar12 + 0x298)" * (cast_expression "(int *)(iVar12 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x298)" ( (binary_expression "iVar12 + 0x298" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar18 + 0x40);" (assignment_expression "iVar20 = *(int *)(iVar18 + 0x40)" identifier = (pointer_expression "*(int *)(iVar18 + 0x40)" * (cast_expression "(int *)(iVar18 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x40)" ( (binary_expression "iVar18 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(iVar28 + 8);" (assignment_expression "iVar21 = *(int *)(iVar28 + 8)" identifier = (pointer_expression "*(int *)(iVar28 + 8)" * (cast_expression "(int *)(iVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar18 + 8);" (assignment_expression "iVar22 = *(int *)(iVar18 + 8)" identifier = (pointer_expression "*(int *)(iVar18 + 8)" * (cast_expression "(int *)(iVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 8)" ( (binary_expression "iVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = *(int *)(iVar18 + 0x14) * 8;" (assignment_expression "iVar33 = *(int *)(iVar18 + 0x14) * 8" identifier = (binary_expression "*(int *)(iVar18 + 0x14) * 8" (pointer_expression "*(int *)(iVar18 + 0x14)" * (cast_expression "(int *)(iVar18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x14)" ( (binary_expression "iVar18 + 0x14" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar34 = *(int *)(iVar18 + 0x20) * 8;" (assignment_expression "iVar34 = *(int *)(iVar18 + 0x20) * 8" identifier = (binary_expression "*(int *)(iVar18 + 0x20) * 8" (pointer_expression "*(int *)(iVar18 + 0x20)" * (cast_expression "(int *)(iVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x20)" ( (binary_expression "iVar18 + 0x20" identifier + number_literal) )))) * number_literal)) ;) (do_statement "do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);" do (compound_statement "{\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            }" { (if_statement "if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }" { (if_statement "if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }" { (if_statement "if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) != 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00145170;" goto statement_identifier ;)) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" identifier = (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_001451a1;" goto statement_identifier ;) })) (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" identifier = number_literal) ;) (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" else (compound_statement "{\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" { (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }" { (if_statement "if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }" { (expression_statement "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) (goto_statement "goto LAB_00145141;" goto statement_identifier ;) })) (expression_statement "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) (expression_statement "dVar2 = dVar8 - *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = dVar8 - *(double *)(iVar28 + 0x40)" identifier = (binary_expression "dVar8 - *(double *)(iVar28 + 0x40)" identifier - (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) )))))) ;) (expression_statement "dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "dVar2 * dVar2" identifier * identifier) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" identifier = (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" else (compound_statement "{\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" { (labeled_statement "LAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" statement_identifier : (expression_statement "dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" * (cast_expression "(int *)(iVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x38)" ( (binary_expression "iVar18 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (if_statement "if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }" { (labeled_statement "LAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" statement_identifier : (expression_statement "dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (parenthesized_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) )) * (parenthesized_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;)) (if_statement "if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                      dVar8 = 1.0;\n                    }" { (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" else (compound_statement "{\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" { (expression_statement "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) }))) (goto_statement "goto LAB_00144d08;" goto statement_identifier ;) })) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" identifier = (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar8 - dVar2) * (dVar8 - dVar2)" (parenthesized_expression "(dVar8 - dVar2)" ( (binary_expression "dVar8 - dVar2" identifier - identifier) )) * (parenthesized_expression "(dVar8 - dVar2)" ( (binary_expression "dVar8 - dVar2" identifier - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (if_statement "if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }" { (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_001451a1;" goto statement_identifier ;) })) }))) (expression_statement "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (labeled_statement "LAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;" statement_identifier : (expression_statement "dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;" (assignment_expression "dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8" identifier = (binary_expression "dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8" (binary_expression "dVar2 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;)) }))) (labeled_statement "LAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);" statement_identifier : (expression_statement "dVar2 = *(double *)(iVar29 + iVar22 * 8);" (assignment_expression "dVar2 = *(double *)(iVar29 + iVar22 * 8)" identifier = (pointer_expression "*(double *)(iVar29 + iVar22 * 8)" * (cast_expression "(double *)(iVar29 + iVar22 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar22 * 8)" ( (binary_expression "iVar29 + iVar22 * 8" identifier + (binary_expression "iVar22 * 8" identifier * number_literal)) ))))) ;)) (expression_statement "dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar2 - *(double *)(iVar28 + 0x20))" ( (binary_expression "dVar2 - *(double *)(iVar28 + 0x20)" identifier - (pointer_expression "*(double *)(iVar28 + 0x20)" * (cast_expression "(double *)(iVar28 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x20)" ( (binary_expression "iVar28 + 0x20" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (if_statement "if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }" { (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" * (cast_expression "(int *)(iVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x28)" ( (binary_expression "iVar18 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) (expression_statement "dVar4 = dVar8;" (assignment_expression "dVar4 = dVar8" identifier = identifier) ;) }) (else_clause "else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" else (compound_statement "{\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" { (expression_statement "dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" * (cast_expression "(int *)(iVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x2c)" ( (binary_expression "iVar18 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;" (assignment_expression "dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;) }))) (expression_statement "dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(iVar28 + 0x38))" ( (binary_expression "dVar3 - *(double *)(iVar28 + 0x38)" identifier - (pointer_expression "*(double *)(iVar28 + 0x38)" * (cast_expression "(double *)(iVar28 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x38)" ( (binary_expression "iVar28 + 0x38" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar24 = dVar8 * dVar3;" (assignment_expression "dVar24 = dVar8 * dVar3" identifier = (binary_expression "dVar8 * dVar3" identifier * identifier)) ;) (expression_statement "dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (binary_expression "dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38))" identifier * (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38))" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - (pointer_expression "*(double *)(iVar28 + 0x38)" * (cast_expression "(double *)(iVar28 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x38)" ( (binary_expression "iVar28 + 0x38" identifier + number_literal) ))))) ))) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "(dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162)" (parenthesized_expression "(dVar6 + dVar24 * dVar3)" ( (binary_expression "dVar6 + dVar24 * dVar3" identifier + (binary_expression "dVar24 * dVar3" identifier * identifier)) )) * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" else (compound_statement "{\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" { (expression_statement "dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) (if_statement "if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }" if (parenthesized_expression "(iVar14 - 4U < 6)" ( (binary_expression "iVar14 - 4U < 6" (binary_expression "iVar14 - 4U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }" { (if_statement "if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }" if (parenthesized_expression "((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5))" ( (binary_expression "(double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)" (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))) < (call_expression "ABS(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )) (compound_statement "{\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }" { (expression_statement "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);" (assignment_expression "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier = (binary_expression "dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier - (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))))) ;) })) (expression_statement "dVar5 = dVar5 + dVar5;" (assignment_expression "dVar5 = dVar5 + dVar5" identifier = (binary_expression "dVar5 + dVar5" identifier + identifier)) ;) })) }))) (expression_statement "dVar3 = *(double *)(iVar29 + iVar33);" (assignment_expression "dVar3 = *(double *)(iVar29 + iVar33)" identifier = (pointer_expression "*(double *)(iVar29 + iVar33)" * (cast_expression "(double *)(iVar29 + iVar33)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar33)" ( (binary_expression "iVar29 + iVar33" identifier + identifier) ))))) ;) (expression_statement "dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(iVar28 + 0x28))" ( (binary_expression "dVar3 - *(double *)(iVar28 + 0x28)" identifier - (pointer_expression "*(double *)(iVar28 + 0x28)" * (cast_expression "(double *)(iVar28 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar4 = *(double *)(iVar29 + iVar34);" (assignment_expression "dVar4 = *(double *)(iVar29 + iVar34)" identifier = (pointer_expression "*(double *)(iVar29 + iVar34)" * (cast_expression "(double *)(iVar29 + iVar34)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar34)" ( (binary_expression "iVar29 + iVar34" identifier + identifier) ))))) ;) (expression_statement "dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar4 - *(double *)(iVar28 + 0x30))" ( (binary_expression "dVar4 - *(double *)(iVar28 + 0x30)" identifier - (pointer_expression "*(double *)(iVar28 + 0x30)" * (cast_expression "(double *)(iVar28 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x30)" ( (binary_expression "iVar28 + 0x30" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;" (assignment_expression "dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6" identifier = (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6" (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5" (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7" (binary_expression "dVar24 * dVar8 * dVar24" (binary_expression "dVar24 * dVar8" identifier * identifier) * identifier) + (binary_expression "dVar8 * dVar7 * dVar7" (binary_expression "dVar8 * dVar7" identifier * identifier) * identifier)) + (binary_expression "dVar8 * dVar5 * dVar5" (binary_expression "dVar8 * dVar5" identifier * identifier) * identifier)) + identifier)) ;) (if_statement "if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" if (parenthesized_expression "((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a)))" ( (binary_expression "(iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))" (parenthesized_expression "(iVar17 < 2)" ( (binary_expression "iVar17 < 2" identifier < number_literal) )) || (parenthesized_expression "(dVar8 <= *(double *)(unaff_EBP + 0x19a75a))" ( (binary_expression "dVar8 <= *(double *)(unaff_EBP + 0x19a75a)" identifier <= (pointer_expression "*(double *)(unaff_EBP + 0x19a75a)" * (cast_expression "(double *)(unaff_EBP + 0x19a75a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a75a)" ( (binary_expression "unaff_EBP + 0x19a75a" identifier + number_literal) ))))) ))) )) (compound_statement "{\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }" { (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" identifier = number_literal) ;) (expression_statement "pdVar31 = pdVar15;" (assignment_expression "pdVar31 = pdVar15" identifier = identifier) ;) }) (else_clause "else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" else (compound_statement "{\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" { (expression_statement "piVar30 = (int *)(iVar28 + 0x58);" (assignment_expression "piVar30 = (int *)(iVar28 + 0x58)" identifier = (cast_expression "(int *)(iVar28 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x58)" ( (binary_expression "iVar28 + 0x58" identifier + number_literal) )))) ;) (expression_statement "iVar32 = 1;" (assignment_expression "iVar32 = 1" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));" do (compound_statement "{\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                }" { (expression_statement "iVar23 = *piVar30;" (assignment_expression "iVar23 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (if_statement "if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }" { (if_statement "if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }" { (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (expression_statement "dVar24 = 0.0;" (assignment_expression "dVar24 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" else (compound_statement "{\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" { (if_statement "if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) != 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00145048;" goto statement_identifier ;)) (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" identifier = (pointer_expression "*(double *)(piVar30 + 0xe)" * (cast_expression "(double *)(piVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xe)" ( (binary_expression "piVar30 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (labeled_statement "LAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;" statement_identifier : (expression_statement "dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;" (assignment_expression "dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6" identifier = (binary_expression "dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6" (binary_expression "dVar5 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;)) }))) }) (else_clause "else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" else (compound_statement "{\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" { (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }" { (if_statement "if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }" { (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" identifier = (pointer_expression "*(double *)(piVar30 + 0xe)" * (cast_expression "(double *)(piVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xe)" ( (binary_expression "piVar30 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) (expression_statement "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5)" (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) )) * (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (goto_statement "goto LAB_00145030;" goto statement_identifier ;) })) (expression_statement "dVar24 = 0.0;" (assignment_expression "dVar24 = 0.0" identifier = number_literal) ;) (expression_statement "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) }) (else_clause "else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" else (compound_statement "{\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" { (labeled_statement "LAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" statement_identifier : (expression_statement "dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" * (cast_expression "(int *)(iVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x38)" ( (binary_expression "iVar18 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (if_statement "if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }" { (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" identifier = (pointer_expression "*(double *)(piVar30 + 0xe)" * (cast_expression "(double *)(piVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xe)" ( (binary_expression "piVar30 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5)" (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) )) * (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (if_statement "if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }" { (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_00145038;" goto statement_identifier ;) })) (labeled_statement "LAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);" statement_identifier : (expression_statement "dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar6 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;)) (goto_statement "goto LAB_00145038;" goto statement_identifier ;) })) (expression_statement "dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (parenthesized_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) )) * (parenthesized_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (if_statement "if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }" { (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_00144dfb;" goto statement_identifier ;) })) }))) (expression_statement "dVar6 = dVar6 * dVar1;" (assignment_expression "dVar6 = dVar6 * dVar1" identifier = (binary_expression "dVar6 * dVar1" identifier * identifier)) ;) }))) (labeled_statement "LAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);" statement_identifier : (expression_statement "dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar2 - *(double *)(piVar30 + 6))" ( (binary_expression "dVar2 - *(double *)(piVar30 + 6)" identifier - (pointer_expression "*(double *)(piVar30 + 6)" * (cast_expression "(double *)(piVar30 + 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 6)" ( (binary_expression "piVar30 + 6" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;)) (if_statement "if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }" { (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" if (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" * (cast_expression "(int *)(iVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x28)" ( (binary_expression "iVar18 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }" { (expression_statement "dVar7 = 0.0;" (assignment_expression "dVar7 = 0.0" identifier = number_literal) ;) (expression_statement "local_8c = dVar6;" (assignment_expression "local_8c = dVar6" identifier = identifier) ;) }) (else_clause "else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" else (compound_statement "{\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" { (expression_statement "dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" * (cast_expression "(int *)(iVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x2c)" ( (binary_expression "iVar18 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;" (assignment_expression "local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;) }))) (expression_statement "dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;" (assignment_expression "dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar7 - *(double *)(piVar30 + 0xc))" ( (binary_expression "dVar7 - *(double *)(piVar30 + 0xc)" identifier - (pointer_expression "*(double *)(piVar30 + 0xc)" * (cast_expression "(double *)(piVar30 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xc)" ( (binary_expression "piVar30 + 0xc" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar25 = dVar6 * dVar7;" (assignment_expression "dVar25 = dVar6 * dVar7" identifier = (binary_expression "dVar6 * dVar7" identifier * identifier)) ;) (expression_statement "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;" (assignment_expression "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc))" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - (pointer_expression "*(double *)(piVar30 + 0xc)" * (cast_expression "(double *)(piVar30 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xc)" ( (binary_expression "piVar30 + 0xc" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;) (expression_statement "dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "(dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162)" (parenthesized_expression "(dVar24 + dVar25 * dVar7)" ( (binary_expression "dVar24 + dVar25 * dVar7" identifier + (binary_expression "dVar25 * dVar7" identifier * identifier)) )) * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" else (compound_statement "{\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" { (expression_statement "dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) (if_statement "if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }" if (parenthesized_expression "(iVar14 - 4U < 6)" ( (binary_expression "iVar14 - 4U < 6" (binary_expression "iVar14 - 4U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }" { (if_statement "if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }" if (parenthesized_expression "((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5))" ( (binary_expression "(double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)" (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))) < (call_expression "ABS(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )) (compound_statement "{\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }" { (expression_statement "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);" (assignment_expression "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier = (binary_expression "dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier - (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))))) ;) })) (expression_statement "dVar5 = dVar5 + dVar5;" (assignment_expression "dVar5 = dVar5 + dVar5" identifier = (binary_expression "dVar5 + dVar5" identifier + identifier)) ;) })) }))) (expression_statement "dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(piVar30 + 8))" ( (binary_expression "dVar3 - *(double *)(piVar30 + 8)" identifier - (pointer_expression "*(double *)(piVar30 + 8)" * (cast_expression "(double *)(piVar30 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 8)" ( (binary_expression "piVar30 + 8" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar4 - *(double *)(piVar30 + 10))" ( (binary_expression "dVar4 - *(double *)(piVar30 + 10)" identifier - (pointer_expression "*(double *)(piVar30 + 10)" * (cast_expression "(double *)(piVar30 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 10)" ( (binary_expression "piVar30 + 10" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;" (assignment_expression "dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25" identifier = (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25" (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24" (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5" (binary_expression "dVar7 * dVar6 * dVar7" (binary_expression "dVar7 * dVar6" identifier * identifier) * identifier) + (binary_expression "dVar5 * dVar6 * dVar5" (binary_expression "dVar5 * dVar6" identifier * identifier) * identifier)) + identifier) + (binary_expression "dVar25 * dVar6 * dVar25" (binary_expression "dVar25 * dVar6" identifier * identifier) * identifier))) ;) (if_statement "if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }" if (parenthesized_expression "(dVar6 < dVar8)" ( (binary_expression "dVar6 < dVar8" identifier < identifier) )) (compound_statement "{\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }" { (expression_statement "dVar8 = dVar6;" (assignment_expression "dVar8 = dVar6" identifier = identifier) ;) (expression_statement "local_84 = iVar32;" (assignment_expression "local_84 = iVar32" identifier = identifier) ;) })) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8))" ( (binary_expression "(iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8)" (parenthesized_expression "(iVar32 != iVar17)" ( (binary_expression "iVar32 != iVar17" identifier != identifier) )) && (parenthesized_expression "(piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8)" ( (comma_expression "piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8" (assignment_expression "piVar30 = piVar30 + 0x14" identifier = (binary_expression "piVar30 + 0x14" identifier + number_literal)) , (binary_expression "*(double *)(unaff_EBP + 0x19a75a) < dVar8" (pointer_expression "*(double *)(unaff_EBP + 0x19a75a)" * (cast_expression "(double *)(unaff_EBP + 0x19a75a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a75a)" ( (binary_expression "unaff_EBP + 0x19a75a" identifier + number_literal) )))) < identifier)) ))) )) ;) (expression_statement "dVar6 = (double)local_84;" (assignment_expression "dVar6 = (double)local_84" identifier = (cast_expression "(double)local_84" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar31 = pdVar15 + local_84 * 7;" (assignment_expression "pdVar31 = pdVar15 + local_84 * 7" identifier = (binary_expression "pdVar15 + local_84 * 7" identifier + (binary_expression "local_84 * 7" identifier * number_literal))) ;) }))) (expression_statement "dVar5 = *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = *(double *)(unaff_EBP + 0x19a76a)" identifier = (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) ;) (expression_statement "*pdVar31 = *pdVar31 + dVar2 * dVar5;" (assignment_expression "*pdVar31 = *pdVar31 + dVar2 * dVar5" (pointer_expression "*pdVar31" * identifier) = (binary_expression "*pdVar31 + dVar2 * dVar5" (pointer_expression "*pdVar31" * identifier) + (binary_expression "dVar2 * dVar5" identifier * identifier))) ;) (expression_statement "pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];" (assignment_expression "pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1]" (subscript_expression "pdVar31[1]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1]" (binary_expression "*(double *)(iVar29 + iVar33) * dVar5" (pointer_expression "*(double *)(iVar29 + iVar33)" * (cast_expression "(double *)(iVar29 + iVar33)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar33)" ( (binary_expression "iVar29 + iVar33" identifier + identifier) )))) * identifier) + (subscript_expression "pdVar31[1]" identifier [ number_literal ]))) ;) (expression_statement "pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];" (assignment_expression "pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2]" (subscript_expression "pdVar31[2]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2]" (binary_expression "*(double *)(iVar29 + iVar34) * dVar5" (pointer_expression "*(double *)(iVar29 + iVar34)" * (cast_expression "(double *)(iVar29 + iVar34)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar34)" ( (binary_expression "iVar29 + iVar34" identifier + identifier) )))) * identifier) + (subscript_expression "pdVar31[2]" identifier [ number_literal ]))) ;) (if_statement "if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }" if (parenthesized_expression "(iVar16 != 4)" ( (binary_expression "iVar16 != 4" identifier != number_literal) )) (compound_statement "{\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }" { (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  dVar5 = 1.0;\n                }" { (expression_statement "dVar5 = 1.0;" (assignment_expression "dVar5 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" else (compound_statement "{\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" { (expression_statement "dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier = (binary_expression "dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" * (cast_expression "(int *)(iVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x38)" ( (binary_expression "iVar18 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "pdVar31[3] = dVar5 + pdVar31[3];" (assignment_expression "pdVar31[3] = dVar5 + pdVar31[3]" (subscript_expression "pdVar31[3]" identifier [ number_literal ]) = (binary_expression "dVar5 + pdVar31[3]" identifier + (subscript_expression "pdVar31[3]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }" { (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" * (cast_expression "(int *)(iVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x28)" ( (binary_expression "iVar18 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  dVar2 = 0.0;\n                }" { (expression_statement "dVar2 = 0.0;" (assignment_expression "dVar2 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" else (compound_statement "{\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" { (expression_statement "dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" identifier = (binary_expression "*(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" * (cast_expression "(int *)(iVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x2c)" ( (binary_expression "iVar18 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "pdVar31[4] = dVar2 + pdVar31[4];" (assignment_expression "pdVar31[4] = dVar2 + pdVar31[4]" (subscript_expression "pdVar31[4]" identifier [ number_literal ]) = (binary_expression "dVar2 + pdVar31[4]" identifier + (subscript_expression "pdVar31[4]" identifier [ number_literal ]))) ;) })) (expression_statement "pdVar31[5] = pdVar31[5] + 1.0;" (assignment_expression "pdVar31[5] = pdVar31[5] + 1.0" (subscript_expression "pdVar31[5]" identifier [ number_literal ]) = (binary_expression "pdVar31[5] + 1.0" (subscript_expression "pdVar31[5]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pdVar31[6] = dVar8 + pdVar31[6];" (assignment_expression "pdVar31[6] = dVar8 + pdVar31[6]" (subscript_expression "pdVar31[6]" identifier [ number_literal ]) = (binary_expression "dVar8 + pdVar31[6]" identifier + (subscript_expression "pdVar31[6]" identifier [ number_literal ]))) ;) (if_statement "if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }" { (expression_statement "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;" (assignment_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6" (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x44) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x44) * 8" (pointer_expression "*(int *)(iVar18 + 0x44)" * (cast_expression "(int *)(iVar18 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x44)" ( (binary_expression "iVar18 + 0x44" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar29 + iVar19 * 8;" (assignment_expression "iVar29 = iVar29 + iVar19 * 8" identifier = (binary_expression "iVar29 + iVar19 * 8" identifier + (binary_expression "iVar19 * 8" identifier * number_literal))) ;) }) while (parenthesized_expression "(local_7c != iVar13)" ( (binary_expression "local_7c != iVar13" identifier != identifier) )) ;) })) (expression_statement "iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);" (assignment_expression "iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11)" identifier = (call_expression "SyncCacheViewAuthenticPixels(iVar10,iVar11)" identifier (argument_list "(iVar10,iVar11)" ( identifier , identifier )))) ;) (if_statement "if (iVar28 != 0) goto LAB_00144f9d;" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00144f9d;" goto statement_identifier ;)) })) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (labeled_statement "LAB_00144f9d:\n      local_70 = local_70 + 1;" statement_identifier : (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_70 < iVar26)" ( (binary_expression "local_70 < iVar26" identifier < identifier) )) ;) (expression_statement "cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);" (assignment_expression "cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24)" identifier = (call_expression "GOMP_loop_dynamic_next(&local_28,&local_24)" identifier (argument_list "(&local_28,&local_24)" ( (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" identifier = identifier) ;) (expression_statement "iVar26 = local_24;" (assignment_expression "iVar26 = local_24" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\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/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* DWARF original prototype: void KmeansImage._omp_fn.0(anon_struct_20_5_617bb85c * param_0) */\n\nvoid __thiscall KmeansImage__omp_fn_0(anon_struct_20_5_617bb85c *this)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  KmeansInfo **ppKVar7;\n  CacheView *cache_view;\n  ExceptionInfo *exception;\n  Image *pIVar8;\n  size_t sVar9;\n  ColorspaceType CVar10;\n  KmeansInfo *pKVar11;\n  PixelInfo *pPVar12;\n  PixelTrait PVar13;\n  size_t sVar14;\n  PixelChannelMap *pPVar15;\n  size_t sVar16;\n  PixelTrait PVar17;\n  PixelTrait PVar18;\n  int iVar19;\n  int iVar20;\n  PixelTrait PVar21;\n  double dVar22;\n  double dVar23;\n  int iVar24;\n  double dVar25;\n  char cVar26;\n  int iVar27;\n  Quantum *pQVar28;\n  PixelTrait *pPVar29;\n  KmeansInfo *pKVar30;\n  MagickBooleanType MVar31;\n  size_t sVar32;\n  int in_GS_OFFSET;\n  double local_8c;\n  size_t local_84;\n  size_t local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  ppKVar7 = this->kmeans_pixels;\n  cache_view = this->image_view;\n  exception = this->exception;\n  pIVar8 = this->image;\n  cVar26 = GOMP_loop_dynamic_start(0,pIVar8->rows,1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar24 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar24;\n    if (cVar26 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    do {\n      iVar27 = omp_get_thread_num();\n      if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar24);\n    cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar24 = local_24;\n  } while( true );\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "void __thiscall KmeansImage__omp_fn_0(anon_struct_20_5_617bb85c *this)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  KmeansInfo **ppKVar7;\n  CacheView *cache_view;\n  ExceptionInfo *exception;\n  Image *pIVar8;\n  size_t sVar9;\n  ColorspaceType CVar10;\n  KmeansInfo *pKVar11;\n  PixelInfo *pPVar12;\n  PixelTrait PVar13;\n  size_t sVar14;\n  PixelChannelMap *pPVar15;\n  size_t sVar16;\n  PixelTrait PVar17;\n  PixelTrait PVar18;\n  int iVar19;\n  int iVar20;\n  PixelTrait PVar21;\n  double dVar22;\n  double dVar23;\n  int iVar24;\n  double dVar25;\n  char cVar26;\n  int iVar27;\n  Quantum *pQVar28;\n  PixelTrait *pPVar29;\n  KmeansInfo *pKVar30;\n  MagickBooleanType MVar31;\n  size_t sVar32;\n  int in_GS_OFFSET;\n  double local_8c;\n  size_t local_84;\n  size_t local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  ppKVar7 = this->kmeans_pixels;\n  cache_view = this->image_view;\n  exception = this->exception;\n  pIVar8 = this->image;\n  cVar26 = GOMP_loop_dynamic_start(0,pIVar8->rows,1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar24 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar24;\n    if (cVar26 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    do {\n      iVar27 = omp_get_thread_num();\n      if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar24);\n    cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar24 = local_24;\n  } while( true );\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "KmeansImage__omp_fn_0(anon_struct_20_5_617bb85c *this)" identifier (parameter_list "(anon_struct_20_5_617bb85c *this)" ( (parameter_declaration "anon_struct_20_5_617bb85c *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  KmeansInfo **ppKVar7;\n  CacheView *cache_view;\n  ExceptionInfo *exception;\n  Image *pIVar8;\n  size_t sVar9;\n  ColorspaceType CVar10;\n  KmeansInfo *pKVar11;\n  PixelInfo *pPVar12;\n  PixelTrait PVar13;\n  size_t sVar14;\n  PixelChannelMap *pPVar15;\n  size_t sVar16;\n  PixelTrait PVar17;\n  PixelTrait PVar18;\n  int iVar19;\n  int iVar20;\n  PixelTrait PVar21;\n  double dVar22;\n  double dVar23;\n  int iVar24;\n  double dVar25;\n  char cVar26;\n  int iVar27;\n  Quantum *pQVar28;\n  PixelTrait *pPVar29;\n  KmeansInfo *pKVar30;\n  MagickBooleanType MVar31;\n  size_t sVar32;\n  int in_GS_OFFSET;\n  double local_8c;\n  size_t local_84;\n  size_t local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  ppKVar7 = this->kmeans_pixels;\n  cache_view = this->image_view;\n  exception = this->exception;\n  pIVar8 = this->image;\n  cVar26 = GOMP_loop_dynamic_start(0,pIVar8->rows,1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar24 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar24;\n    if (cVar26 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    do {\n      iVar27 = omp_get_thread_num();\n      if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar24);\n    cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar24 = local_24;\n  } while( true );\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double dVar4;" primitive_type identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "KmeansInfo **ppKVar7;" type_identifier (pointer_declarator "**ppKVar7" * (pointer_declarator "*ppKVar7" * identifier)) ;) (declaration "CacheView *cache_view;" type_identifier (pointer_declarator "*cache_view" * identifier) ;) (declaration "ExceptionInfo *exception;" type_identifier (pointer_declarator "*exception" * identifier) ;) (declaration "Image *pIVar8;" type_identifier (pointer_declarator "*pIVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "ColorspaceType CVar10;" type_identifier identifier ;) (declaration "KmeansInfo *pKVar11;" type_identifier (pointer_declarator "*pKVar11" * identifier) ;) (declaration "PixelInfo *pPVar12;" type_identifier (pointer_declarator "*pPVar12" * identifier) ;) (declaration "PixelTrait PVar13;" type_identifier identifier ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "PixelChannelMap *pPVar15;" type_identifier (pointer_declarator "*pPVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "PixelTrait PVar17;" type_identifier identifier ;) (declaration "PixelTrait PVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "PixelTrait PVar21;" type_identifier identifier ;) (declaration "double dVar22;" primitive_type identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "char cVar26;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "Quantum *pQVar28;" type_identifier (pointer_declarator "*pQVar28" * identifier) ;) (declaration "PixelTrait *pPVar29;" type_identifier (pointer_declarator "*pPVar29" * identifier) ;) (declaration "KmeansInfo *pKVar30;" type_identifier (pointer_declarator "*pKVar30" * identifier) ;) (declaration "MagickBooleanType MVar31;" type_identifier identifier ;) (declaration "size_t sVar32;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "double local_8c;" primitive_type identifier ;) (declaration "size_t local_84;" primitive_type identifier ;) (declaration "size_t local_7c;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "ppKVar7 = this->kmeans_pixels;" (assignment_expression "ppKVar7 = this->kmeans_pixels" identifier = (field_expression "this->kmeans_pixels" identifier -> field_identifier)) ;) (expression_statement "cache_view = this->image_view;" (assignment_expression "cache_view = this->image_view" identifier = (field_expression "this->image_view" identifier -> field_identifier)) ;) (expression_statement "exception = this->exception;" (assignment_expression "exception = this->exception" identifier = (field_expression "this->exception" identifier -> field_identifier)) ;) (expression_statement "pIVar8 = this->image;" (assignment_expression "pIVar8 = this->image" identifier = (field_expression "this->image" identifier -> field_identifier)) ;) (expression_statement "cVar26 = GOMP_loop_dynamic_start(0,pIVar8->rows,1,1,&local_28,&local_24);" (assignment_expression "cVar26 = GOMP_loop_dynamic_start(0,pIVar8->rows,1,1,&local_28,&local_24)" identifier = (call_expression "GOMP_loop_dynamic_start(0,pIVar8->rows,1,1,&local_28,&local_24)" identifier (argument_list "(0,pIVar8->rows,1,1,&local_28,&local_24)" ( number_literal , (field_expression "pIVar8->rows" identifier -> field_identifier) , number_literal , number_literal , (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" identifier = identifier) ;) (expression_statement "iVar24 = local_24;" (assignment_expression "iVar24 = local_24" identifier = identifier) ;) (do_statement "do {\n    local_28 = local_70;\n    local_24 = iVar24;\n    if (cVar26 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    do {\n      iVar27 = omp_get_thread_num();\n      if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar24);\n    cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar24 = local_24;\n  } while( true );" do (compound_statement "{\n    local_28 = local_70;\n    local_24 = iVar24;\n    if (cVar26 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    do {\n      iVar27 = omp_get_thread_num();\n      if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar24);\n    cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar24 = local_24;\n  }" { (expression_statement "local_28 = local_70;" (assignment_expression "local_28 = local_70" identifier = identifier) ;) (expression_statement "local_24 = iVar24;" (assignment_expression "local_24 = iVar24" identifier = identifier) ;) (if_statement "if (cVar26 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }" if (parenthesized_expression "(cVar26 == '\0')" ( (binary_expression "cVar26 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }" { (expression_statement "GOMP_loop_end_nowait();" (call_expression "GOMP_loop_end_nowait()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })) (do_statement "do {\n      iVar27 = omp_get_thread_num();\n      if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar24);" do (compound_statement "{\n      iVar27 = omp_get_thread_num();\n      if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    }" { (expression_statement "iVar27 = omp_get_thread_num();" (assignment_expression "iVar27 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (if_statement "if (this->status != MagickFalse) {\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }" if (parenthesized_expression "(this->status != MagickFalse)" ( (binary_expression "this->status != MagickFalse" (field_expression "this->status" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);\n        dVar25 = _DAT_002df2e0;\n        if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }\n        this->status = MagickFalse;\n      }" { (expression_statement "pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception);" (assignment_expression "pQVar28 = GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception)" identifier = (call_expression "GetCacheViewAuthenticPixels(cache_view,0,local_70,pIVar8->columns,1,exception)" identifier (argument_list "(cache_view,0,local_70,pIVar8->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar8->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (expression_statement "dVar25 = _DAT_002df2e0;" (assignment_expression "dVar25 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (pQVar28 != (Quantum *)0x0) {\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }" if (parenthesized_expression "(pQVar28 != (Quantum *)0x0)" ( (binary_expression "pQVar28 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sVar9 = pIVar8->columns;\n          if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }\n          MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);\n          if (MVar31 != MagickFalse) goto LAB_00144f9d;\n        }" { (expression_statement "sVar9 = pIVar8->columns;" (assignment_expression "sVar9 = pIVar8->columns" identifier = (field_expression "pIVar8->columns" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)sVar9) {\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }" if (parenthesized_expression "(0 < (int)sVar9)" ( (binary_expression "0 < (int)sVar9" number_literal < (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            local_7c = 0;\n            CVar10 = pIVar8->colorspace;\n            pKVar11 = ppKVar7[iVar27];\n            pPVar12 = pIVar8->colormap;\n            PVar13 = pIVar8->alpha_trait;\n            sVar14 = pIVar8->colors;\n            pPVar15 = pIVar8->channel_map;\n            sVar16 = pIVar8->number_channels;\n            PVar17 = pPVar15[5].traits;\n            PVar18 = pPVar12->alpha_trait;\n            iVar27 = pPVar15[1].offset;\n            iVar19 = pPVar15->offset;\n            iVar20 = pPVar15[2].offset;\n            do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);\n          }" { (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "CVar10 = pIVar8->colorspace;" (assignment_expression "CVar10 = pIVar8->colorspace" identifier = (field_expression "pIVar8->colorspace" identifier -> field_identifier)) ;) (expression_statement "pKVar11 = ppKVar7[iVar27];" (assignment_expression "pKVar11 = ppKVar7[iVar27]" identifier = (subscript_expression "ppKVar7[iVar27]" identifier [ identifier ])) ;) (expression_statement "pPVar12 = pIVar8->colormap;" (assignment_expression "pPVar12 = pIVar8->colormap" identifier = (field_expression "pIVar8->colormap" identifier -> field_identifier)) ;) (expression_statement "PVar13 = pIVar8->alpha_trait;" (assignment_expression "PVar13 = pIVar8->alpha_trait" identifier = (field_expression "pIVar8->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "sVar14 = pIVar8->colors;" (assignment_expression "sVar14 = pIVar8->colors" identifier = (field_expression "pIVar8->colors" identifier -> field_identifier)) ;) (expression_statement "pPVar15 = pIVar8->channel_map;" (assignment_expression "pPVar15 = pIVar8->channel_map" identifier = (field_expression "pIVar8->channel_map" identifier -> field_identifier)) ;) (expression_statement "sVar16 = pIVar8->number_channels;" (assignment_expression "sVar16 = pIVar8->number_channels" identifier = (field_expression "pIVar8->number_channels" identifier -> field_identifier)) ;) (expression_statement "PVar17 = pPVar15[5].traits;" (assignment_expression "PVar17 = pPVar15[5].traits" identifier = (field_expression "pPVar15[5].traits" (subscript_expression "pPVar15[5]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "PVar18 = pPVar12->alpha_trait;" (assignment_expression "PVar18 = pPVar12->alpha_trait" identifier = (field_expression "pPVar12->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "iVar27 = pPVar15[1].offset;" (assignment_expression "iVar27 = pPVar15[1].offset" identifier = (field_expression "pPVar15[1].offset" (subscript_expression "pPVar15[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar19 = pPVar15->offset;" (assignment_expression "iVar19 = pPVar15->offset" identifier = (field_expression "pPVar15->offset" identifier -> field_identifier)) ;) (expression_statement "iVar20 = pPVar15[2].offset;" (assignment_expression "iVar20 = pPVar15[2].offset" identifier = (field_expression "pPVar15[2].offset" (subscript_expression "pPVar15[2]" identifier [ number_literal ]) . field_identifier)) ;) (do_statement "do {\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            } while (local_7c != sVar9);" do (compound_statement "{\n              dVar22 = _DAT_002df2e0;\n              if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }\nLAB_00144d08:\n              dVar1 = pQVar28[iVar19];\n              dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }\n              dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;\n              dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;\n              dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;\n              if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }\n              pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;\n              pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;\n              pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;\n              if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }\n              if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }\n              pKVar30->count = pKVar30->count + 1.0;\n              pKVar30->distortion = dVar5 + pKVar30->distortion;\n              if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }\n              local_7c = local_7c + 1;\n              pQVar28 = pQVar28 + sVar16;\n            }" { (expression_statement "dVar22 = _DAT_002df2e0;" (assignment_expression "dVar22 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (PVar13 == UndefinedPixelTrait) {\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }\n              else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }" if (parenthesized_expression "(PVar13 == UndefinedPixelTrait)" ( (binary_expression "PVar13 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar2 = 0.0;\n                dVar5 = 1.0;\n              }" { (if_statement "if (PVar18 != UndefinedPixelTrait) {\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }" if (parenthesized_expression "(PVar18 != UndefinedPixelTrait)" ( (binary_expression "PVar18 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                  if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;\n                  dVar5 = 1.0;\n                  goto LAB_001451a1;\n                }" { (if_statement "if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145170;" if (parenthesized_expression "(pPVar15[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar15[4].traits != UndefinedPixelTrait" (field_expression "pPVar15[4].traits" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) (goto_statement "goto LAB_00145170;" goto statement_identifier ;)) (expression_statement "dVar1 = pPVar12->alpha;" (assignment_expression "dVar1 = pPVar12->alpha" identifier = (field_expression "pPVar12->alpha" identifier -> field_identifier)) ;) (expression_statement "dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac;" (assignment_expression "dVar2 = ((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac" identifier = (binary_expression "((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1) +\n                          (double)DAT_002df8ac" (binary_expression "((double)DAT_002df8a8 - dVar1) * ((double)DAT_002df8a8 - dVar1)" (parenthesized_expression "((double)DAT_002df8a8 - dVar1)" ( (binary_expression "(double)DAT_002df8a8 - dVar1" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - identifier) )) * (parenthesized_expression "((double)DAT_002df8a8 - dVar1)" ( (binary_expression "(double)DAT_002df8a8 - dVar1" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - identifier) ))) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "dVar5 = 1.0;" (assignment_expression "dVar5 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_001451a1;" goto statement_identifier ;) })) (expression_statement "dVar2 = 0.0;" (assignment_expression "dVar2 = 0.0" identifier = number_literal) ;) (expression_statement "dVar5 = 1.0;" (assignment_expression "dVar5 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }" else (compound_statement "{\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar5 = dVar5 * _DAT_002df2e0;\nLAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;\n              }" { (if_statement "if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }\n                else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" if (parenthesized_expression "(pPVar15[4].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar15[4].traits == UndefinedPixelTrait" (field_expression "pPVar15[4].traits" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n                  if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }\n                  dVar5 = (double)DAT_002df8a8;\n                  dVar1 = dVar5 - pPVar12->alpha;\n                  dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;\n                  dVar1 = pPVar12->alpha;\n                }" { (if_statement "if (PVar18 == UndefinedPixelTrait) {\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }" if (parenthesized_expression "(PVar18 == UndefinedPixelTrait)" ( (binary_expression "PVar18 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                    dVar5 = (double)DAT_002df8a8;\n                    goto LAB_00145141;\n                  }" { (expression_statement "dVar5 = (double)DAT_002df8a8;" (assignment_expression "dVar5 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_00145141;" goto statement_identifier ;) })) (expression_statement "dVar5 = (double)DAT_002df8a8;" (assignment_expression "dVar5 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar1 = dVar5 - pPVar12->alpha;" (assignment_expression "dVar1 = dVar5 - pPVar12->alpha" identifier = (binary_expression "dVar5 - pPVar12->alpha" identifier - (field_expression "pPVar12->alpha" identifier -> field_identifier))) ;) (expression_statement "dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac;" (assignment_expression "dVar2 = dVar1 * dVar1 + (double)DAT_002df8ac" identifier = (binary_expression "dVar1 * dVar1 + (double)DAT_002df8ac" (binary_expression "dVar1 * dVar1" identifier * identifier) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "dVar1 = pPVar12->alpha;" (assignment_expression "dVar1 = pPVar12->alpha" identifier = (field_expression "pPVar12->alpha" identifier -> field_identifier)) ;) }) (else_clause "else {\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" else (compound_statement "{\nLAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];\n                  if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar1 = pPVar12->alpha;\n                  dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" { (labeled_statement "LAB_00145170:\n                  dVar5 = pQVar28[pPVar15[4].offset];" statement_identifier : (expression_statement "dVar5 = pQVar28[pPVar15[4].offset];" (assignment_expression "dVar5 = pQVar28[pPVar15[4].offset]" identifier = (subscript_expression "pQVar28[pPVar15[4].offset]" identifier [ (field_expression "pPVar15[4].offset" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) ])) ;)) (if_statement "if (PVar18 == UndefinedPixelTrait) {\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }" if (parenthesized_expression "(PVar18 == UndefinedPixelTrait)" ( (binary_expression "PVar18 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\nLAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;\n                    if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }\n                    goto LAB_00144d08;\n                  }" { (labeled_statement "LAB_00145141:\n                    dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;" statement_identifier : (expression_statement "dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac;" (assignment_expression "dVar2 = (dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac" identifier = (binary_expression "(dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8) +\n                            (double)DAT_002df8ac" (binary_expression "(dVar5 - (double)DAT_002df8a8) * (dVar5 - (double)DAT_002df8a8)" (parenthesized_expression "(dVar5 - (double)DAT_002df8a8)" ( (binary_expression "dVar5 - (double)DAT_002df8a8" identifier - (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) )) * (parenthesized_expression "(dVar5 - (double)DAT_002df8a8)" ( (binary_expression "dVar5 - (double)DAT_002df8a8" identifier - (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ))) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;)) (if_statement "if (PVar13 == UndefinedPixelTrait) {\n                      dVar5 = 1.0;\n                    }\n                    else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }" if (parenthesized_expression "(PVar13 == UndefinedPixelTrait)" ( (binary_expression "PVar13 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                      dVar5 = 1.0;\n                    }" { (expression_statement "dVar5 = 1.0;" (assignment_expression "dVar5 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }" else (compound_statement "{\n                      dVar5 = dVar5 * _DAT_002df2e0;\n                    }" { (expression_statement "dVar5 = dVar5 * _DAT_002df2e0;" (assignment_expression "dVar5 = dVar5 * _DAT_002df2e0" identifier = (binary_expression "dVar5 * _DAT_002df2e0" identifier * identifier)) ;) }))) (goto_statement "goto LAB_00144d08;" goto statement_identifier ;) })) (expression_statement "dVar1 = pPVar12->alpha;" (assignment_expression "dVar1 = pPVar12->alpha" identifier = (field_expression "pPVar12->alpha" identifier -> field_identifier)) ;) (expression_statement "dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac;" (assignment_expression "dVar2 = (dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac" identifier = (binary_expression "(dVar5 - dVar1) * (dVar5 - dVar1) + (double)DAT_002df8ac" (binary_expression "(dVar5 - dVar1) * (dVar5 - dVar1)" (parenthesized_expression "(dVar5 - dVar1)" ( (binary_expression "dVar5 - dVar1" identifier - identifier) )) * (parenthesized_expression "(dVar5 - dVar1)" ( (binary_expression "dVar5 - dVar1" identifier - identifier) ))) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (PVar13 == UndefinedPixelTrait) {\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }" if (parenthesized_expression "(PVar13 == UndefinedPixelTrait)" ( (binary_expression "PVar13 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                    dVar5 = 1.0;\n                    goto LAB_001451a1;\n                  }" { (expression_statement "dVar5 = 1.0;" (assignment_expression "dVar5 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_001451a1;" goto statement_identifier ;) })) }))) (expression_statement "dVar5 = dVar5 * _DAT_002df2e0;" (assignment_expression "dVar5 = dVar5 * _DAT_002df2e0" identifier = (binary_expression "dVar5 * _DAT_002df2e0" identifier * identifier)) ;) (labeled_statement "LAB_001451a1:\n                dVar5 = dVar1 * _DAT_002df2e0 * dVar5;" statement_identifier : (expression_statement "dVar5 = dVar1 * _DAT_002df2e0 * dVar5;" (assignment_expression "dVar5 = dVar1 * _DAT_002df2e0 * dVar5" identifier = (binary_expression "dVar1 * _DAT_002df2e0 * dVar5" (binary_expression "dVar1 * _DAT_002df2e0" identifier * identifier) * identifier)) ;)) }))) (labeled_statement "LAB_00144d08:\n              dVar1 = pQVar28[iVar19];" statement_identifier : (expression_statement "dVar1 = pQVar28[iVar19];" (assignment_expression "dVar1 = pQVar28[iVar19]" identifier = (subscript_expression "pQVar28[iVar19]" identifier [ identifier ])) ;)) (expression_statement "dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0;" (assignment_expression "dVar4 = (dVar1 - pPVar12->red) * _DAT_002df2e0" identifier = (binary_expression "(dVar1 - pPVar12->red) * _DAT_002df2e0" (parenthesized_expression "(dVar1 - pPVar12->red)" ( (binary_expression "dVar1 - pPVar12->red" identifier - (field_expression "pPVar12->red" identifier -> field_identifier)) )) * identifier)) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }\n              else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }\n                dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;\n                dVar23 = dVar5 * dVar6;\n                dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;\n                dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;\n              }" { (if_statement "if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }\n                else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }" if (parenthesized_expression "(pPVar15[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar15[3].traits == UndefinedPixelTrait" (field_expression "pPVar15[3].traits" (subscript_expression "pPVar15[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n                  dVar6 = 0.0;\n                  dVar3 = dVar5;\n                }" { (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" identifier = number_literal) ;) (expression_statement "dVar3 = dVar5;" (assignment_expression "dVar3 = dVar5" identifier = identifier) ;) }) (else_clause "else {\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }" else (compound_statement "{\n                  dVar6 = pQVar28[pPVar15[3].offset];\n                  dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;\n                }" { (expression_statement "dVar6 = pQVar28[pPVar15[3].offset];" (assignment_expression "dVar6 = pQVar28[pPVar15[3].offset]" identifier = (subscript_expression "pQVar28[pPVar15[3].offset]" identifier [ (field_expression "pPVar15[3].offset" (subscript_expression "pPVar15[3]" identifier [ number_literal ]) . field_identifier) ])) ;) (expression_statement "dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5;" (assignment_expression "dVar3 = ((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5" identifier = (binary_expression "((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0 * dVar5" (binary_expression "((double)DAT_002df8a8 - dVar6) * _DAT_002df2e0" (parenthesized_expression "((double)DAT_002df8a8 - dVar6)" ( (binary_expression "(double)DAT_002df8a8 - dVar6" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - identifier) )) * identifier) * identifier)) ;) }))) (expression_statement "dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0;" (assignment_expression "dVar6 = (dVar6 - pPVar12->black) * _DAT_002df2e0" identifier = (binary_expression "(dVar6 - pPVar12->black) * _DAT_002df2e0" (parenthesized_expression "(dVar6 - pPVar12->black)" ( (binary_expression "dVar6 - pPVar12->black" identifier - (field_expression "pPVar12->black" identifier -> field_identifier)) )) * identifier)) ;) (expression_statement "dVar23 = dVar5 * dVar6;" (assignment_expression "dVar23 = dVar5 * dVar6" identifier = (binary_expression "dVar5 * dVar6" identifier * identifier)) ;) (expression_statement "dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0;" (assignment_expression "dVar5 = dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0" identifier = (binary_expression "dVar3 * ((double)DAT_002df8a8 - pPVar12->black) * _DAT_002df2e0" (binary_expression "dVar3 * ((double)DAT_002df8a8 - pPVar12->black)" identifier * (parenthesized_expression "((double)DAT_002df8a8 - pPVar12->black)" ( (binary_expression "(double)DAT_002df8a8 - pPVar12->black" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - (field_expression "pPVar12->black" identifier -> field_identifier)) ))) * identifier)) ;) (expression_statement "dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8;" (assignment_expression "dVar2 = (dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8" identifier = (binary_expression "(dVar2 + dVar23 * dVar6) * (double)DAT_002e9cd8" (parenthesized_expression "(dVar2 + dVar23 * dVar6)" ( (binary_expression "dVar2 + dVar23 * dVar6" identifier + (binary_expression "dVar23 * dVar6" identifier * identifier)) )) * (cast_expression "(double)DAT_002e9cd8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }" else (compound_statement "{\n                dVar2 = dVar2 * (double)DAT_002e9cd8;\n                if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }\n              }" { (expression_statement "dVar2 = dVar2 * (double)DAT_002e9cd8;" (assignment_expression "dVar2 = dVar2 * (double)DAT_002e9cd8" identifier = (binary_expression "dVar2 * (double)DAT_002e9cd8" identifier * (cast_expression "(double)DAT_002e9cd8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (CVar10 - HCLColorspace < 6) {\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }" if (parenthesized_expression "(CVar10 - HCLColorspace < 6)" ( (binary_expression "CVar10 - HCLColorspace < 6" (binary_expression "CVar10 - HCLColorspace" identifier - identifier) < number_literal) )) (compound_statement "{\n                  if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }\n                  dVar4 = dVar4 + dVar4;\n                }" { (if_statement "if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }" if (parenthesized_expression "((double)DAT_002df2b8 < ABS(dVar4))" ( (binary_expression "(double)DAT_002df2b8 < ABS(dVar4)" (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier) < (call_expression "ABS(dVar4)" identifier (argument_list "(dVar4)" ( identifier )))) )) (compound_statement "{\n                    dVar4 = dVar4 - (double)DAT_002df2b8;\n                  }" { (expression_statement "dVar4 = dVar4 - (double)DAT_002df2b8;" (assignment_expression "dVar4 = dVar4 - (double)DAT_002df2b8" identifier = (binary_expression "dVar4 - (double)DAT_002df2b8" identifier - (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "dVar4 = dVar4 + dVar4;" (assignment_expression "dVar4 = dVar4 + dVar4" identifier = (binary_expression "dVar4 + dVar4" identifier + identifier)) ;) })) }))) (expression_statement "dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0;" (assignment_expression "dVar3 = (pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0" identifier = (binary_expression "(pQVar28[iVar27] - pPVar12->green) * _DAT_002df2e0" (parenthesized_expression "(pQVar28[iVar27] - pPVar12->green)" ( (binary_expression "pQVar28[iVar27] - pPVar12->green" (subscript_expression "pQVar28[iVar27]" identifier [ identifier ]) - (field_expression "pPVar12->green" identifier -> field_identifier)) )) * identifier)) ;) (expression_statement "dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0;" (assignment_expression "dVar6 = (pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0" identifier = (binary_expression "(pQVar28[iVar20] - pPVar12->blue) * _DAT_002df2e0" (parenthesized_expression "(pQVar28[iVar20] - pPVar12->blue)" ( (binary_expression "pQVar28[iVar20] - pPVar12->blue" (subscript_expression "pQVar28[iVar20]" identifier [ identifier ]) - (field_expression "pPVar12->blue" identifier -> field_identifier)) )) * identifier)) ;) (expression_statement "dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2;" (assignment_expression "dVar5 = dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2" identifier = (binary_expression "dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4 + dVar2" (binary_expression "dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3 + dVar5 * dVar4 * dVar4" (binary_expression "dVar6 * dVar5 * dVar6 + dVar5 * dVar3 * dVar3" (binary_expression "dVar6 * dVar5 * dVar6" (binary_expression "dVar6 * dVar5" identifier * identifier) * identifier) + (binary_expression "dVar5 * dVar3 * dVar3" (binary_expression "dVar5 * dVar3" identifier * identifier) * identifier)) + (binary_expression "dVar5 * dVar4 * dVar4" (binary_expression "dVar5 * dVar4" identifier * identifier) * identifier)) + identifier)) ;) (if_statement "if (((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)) {\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }\n              else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }" if (parenthesized_expression "(((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0))" ( (binary_expression "((int)sVar14 < 2) || (dVar5 <= DAT_002df2d0)" (parenthesized_expression "((int)sVar14 < 2)" ( (binary_expression "(int)sVar14 < 2" (cast_expression "(int)sVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(dVar5 <= DAT_002df2d0)" ( (binary_expression "dVar5 <= DAT_002df2d0" identifier <= identifier) ))) )) (compound_statement "{\n                dVar2 = 0.0;\n                pKVar30 = pKVar11;\n              }" { (expression_statement "dVar2 = 0.0;" (assignment_expression "dVar2 = 0.0" identifier = number_literal) ;) (expression_statement "pKVar30 = pKVar11;" (assignment_expression "pKVar30 = pKVar11" identifier = identifier) ;) }) (else_clause "else {\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }" else (compound_statement "{\n                pPVar29 = &pPVar12[1].alpha_trait;\n                sVar32 = 1;\n                local_84 = 0;\n                do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));\n                dVar2 = (double)(int)local_84;\n                pKVar30 = pKVar11 + local_84;\n              }" { (expression_statement "pPVar29 = &pPVar12[1].alpha_trait;" (assignment_expression "pPVar29 = &pPVar12[1].alpha_trait" identifier = (pointer_expression "&pPVar12[1].alpha_trait" & (field_expression "pPVar12[1].alpha_trait" (subscript_expression "pPVar12[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "sVar32 = 1;" (assignment_expression "sVar32 = 1" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (do_statement "do {\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                } while ((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5));" do (compound_statement "{\n                  PVar21 = *pPVar29;\n                  if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }\nLAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;\n                  if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }\n                  dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;\n                  dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;\n                  dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;\n                  if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }\n                  sVar32 = sVar32 + 1;\n                }" { (expression_statement "PVar21 = *pPVar29;" (assignment_expression "PVar21 = *pPVar29" identifier = (pointer_expression "*pPVar29" * identifier)) ;) (if_statement "if (PVar13 == UndefinedPixelTrait) {\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }\n                  else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }" if (parenthesized_expression "(PVar13 == UndefinedPixelTrait)" ( (binary_expression "PVar13 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                    if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }\n                  }" { (if_statement "if (PVar21 == UndefinedPixelTrait) {\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }\n                    else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }" if (parenthesized_expression "(PVar21 == UndefinedPixelTrait)" ( (binary_expression "PVar21 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                      dVar2 = 1.0;\n                      dVar6 = 0.0;\n                    }" { (expression_statement "dVar2 = 1.0;" (assignment_expression "dVar2 = 1.0" identifier = number_literal) ;) (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }" else (compound_statement "{\n                      if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;\n                      dVar4 = *(double *)(pPVar29 + 0xe);\n                      dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;\n                      dVar2 = 1.0;\nLAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;\n                    }" { (if_statement "if (pPVar15[4].traits != UndefinedPixelTrait) goto LAB_00145048;" if (parenthesized_expression "(pPVar15[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar15[4].traits != UndefinedPixelTrait" (field_expression "pPVar15[4].traits" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) (goto_statement "goto LAB_00145048;" goto statement_identifier ;)) (expression_statement "dVar4 = *(double *)(pPVar29 + 0xe);" (assignment_expression "dVar4 = *(double *)(pPVar29 + 0xe)" identifier = (pointer_expression "*(double *)(pPVar29 + 0xe)" * (cast_expression "(double *)(pPVar29 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 0xe)" ( (binary_expression "pPVar29 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac;" (assignment_expression "dVar6 = ((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac" identifier = (binary_expression "((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4) +\n                              (double)DAT_002df8ac" (binary_expression "((double)DAT_002df8a8 - dVar4) * ((double)DAT_002df8a8 - dVar4)" (parenthesized_expression "((double)DAT_002df8a8 - dVar4)" ( (binary_expression "(double)DAT_002df8a8 - dVar4" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - identifier) )) * (parenthesized_expression "((double)DAT_002df8a8 - dVar4)" ( (binary_expression "(double)DAT_002df8a8 - dVar4" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - identifier) ))) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "dVar2 = 1.0;" (assignment_expression "dVar2 = 1.0" identifier = number_literal) ;) (labeled_statement "LAB_00145038:\n                      dVar2 = dVar4 * _DAT_002df2e0 * dVar2;" statement_identifier : (expression_statement "dVar2 = dVar4 * _DAT_002df2e0 * dVar2;" (assignment_expression "dVar2 = dVar4 * _DAT_002df2e0 * dVar2" identifier = (binary_expression "dVar4 * _DAT_002df2e0 * dVar2" (binary_expression "dVar4 * _DAT_002df2e0" identifier * identifier) * identifier)) ;)) }))) }) (else_clause "else {\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }" else (compound_statement "{\n                    if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar2 = dVar2 * dVar25;\n                  }" { (if_statement "if (pPVar15[4].traits == UndefinedPixelTrait) {\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }\n                    else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" if (parenthesized_expression "(pPVar15[4].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar15[4].traits == UndefinedPixelTrait" (field_expression "pPVar15[4].traits" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }\n                      dVar6 = 0.0;\n                      dVar2 = (double)DAT_002df8a8;\n                    }" { (if_statement "if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }" if (parenthesized_expression "(PVar21 != UndefinedPixelTrait)" ( (binary_expression "PVar21 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar2 = (double)DAT_002df8a8;\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        goto LAB_00145030;\n                      }" { (expression_statement "dVar4 = *(double *)(pPVar29 + 0xe);" (assignment_expression "dVar4 = *(double *)(pPVar29 + 0xe)" identifier = (pointer_expression "*(double *)(pPVar29 + 0xe)" * (cast_expression "(double *)(pPVar29 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 0xe)" ( (binary_expression "pPVar29 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar2 = (double)DAT_002df8a8;" (assignment_expression "dVar2 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;" (assignment_expression "dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac" identifier = (binary_expression "(dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac" (binary_expression "(dVar2 - dVar4) * (dVar2 - dVar4)" (parenthesized_expression "(dVar2 - dVar4)" ( (binary_expression "dVar2 - dVar4" identifier - identifier) )) * (parenthesized_expression "(dVar2 - dVar4)" ( (binary_expression "dVar2 - dVar4" identifier - identifier) ))) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_00145030;" goto statement_identifier ;) })) (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" identifier = number_literal) ;) (expression_statement "dVar2 = (double)DAT_002df8a8;" (assignment_expression "dVar2 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" else (compound_statement "{\nLAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];\n                      if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }\n                      dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;\n                      if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" { (labeled_statement "LAB_00145048:\n                      dVar2 = pQVar28[pPVar15[4].offset];" statement_identifier : (expression_statement "dVar2 = pQVar28[pPVar15[4].offset];" (assignment_expression "dVar2 = pQVar28[pPVar15[4].offset]" identifier = (subscript_expression "pQVar28[pPVar15[4].offset]" identifier [ (field_expression "pPVar15[4].offset" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) ])) ;)) (if_statement "if (PVar21 != UndefinedPixelTrait) {\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }" if (parenthesized_expression "(PVar21 != UndefinedPixelTrait)" ( (binary_expression "PVar21 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                        dVar4 = *(double *)(pPVar29 + 0xe);\n                        dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;\n                        if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;\n                        goto LAB_00145038;\n                      }" { (expression_statement "dVar4 = *(double *)(pPVar29 + 0xe);" (assignment_expression "dVar4 = *(double *)(pPVar29 + 0xe)" identifier = (pointer_expression "*(double *)(pPVar29 + 0xe)" * (cast_expression "(double *)(pPVar29 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 0xe)" ( (binary_expression "pPVar29 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac;" (assignment_expression "dVar6 = (dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac" identifier = (binary_expression "(dVar2 - dVar4) * (dVar2 - dVar4) + (double)DAT_002df8ac" (binary_expression "(dVar2 - dVar4) * (dVar2 - dVar4)" (parenthesized_expression "(dVar2 - dVar4)" ( (binary_expression "dVar2 - dVar4" identifier - identifier) )) * (parenthesized_expression "(dVar2 - dVar4)" ( (binary_expression "dVar2 - dVar4" identifier - identifier) ))) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (PVar13 == UndefinedPixelTrait) {\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }" if (parenthesized_expression "(PVar13 == UndefinedPixelTrait)" ( (binary_expression "PVar13 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                          dVar2 = 1.0;\n                          goto LAB_00145038;\n                        }" { (expression_statement "dVar2 = 1.0;" (assignment_expression "dVar2 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_00145038;" goto statement_identifier ;) })) (labeled_statement "LAB_00145030:\n                        dVar2 = dVar2 * _DAT_002df2e0;" statement_identifier : (expression_statement "dVar2 = dVar2 * _DAT_002df2e0;" (assignment_expression "dVar2 = dVar2 * _DAT_002df2e0" identifier = (binary_expression "dVar2 * _DAT_002df2e0" identifier * identifier)) ;)) (goto_statement "goto LAB_00145038;" goto statement_identifier ;) })) (expression_statement "dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac;" (assignment_expression "dVar6 = (dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac" identifier = (binary_expression "(dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8) +\n                              (double)DAT_002df8ac" (binary_expression "(dVar2 - (double)DAT_002df8a8) * (dVar2 - (double)DAT_002df8a8)" (parenthesized_expression "(dVar2 - (double)DAT_002df8a8)" ( (binary_expression "dVar2 - (double)DAT_002df8a8" identifier - (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) )) * (parenthesized_expression "(dVar2 - (double)DAT_002df8a8)" ( (binary_expression "dVar2 - (double)DAT_002df8a8" identifier - (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ))) + (cast_expression "(double)DAT_002df8ac" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (PVar13 == UndefinedPixelTrait) {\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }" if (parenthesized_expression "(PVar13 == UndefinedPixelTrait)" ( (binary_expression "PVar13 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n                        dVar2 = 1.0;\n                        goto LAB_00144dfb;\n                      }" { (expression_statement "dVar2 = 1.0;" (assignment_expression "dVar2 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_00144dfb;" goto statement_identifier ;) })) }))) (expression_statement "dVar2 = dVar2 * dVar25;" (assignment_expression "dVar2 = dVar2 * dVar25" identifier = (binary_expression "dVar2 * dVar25" identifier * identifier)) ;) }))) (labeled_statement "LAB_00144dfb:\n                  dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;" statement_identifier : (expression_statement "dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0;" (assignment_expression "dVar4 = (dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0" identifier = (binary_expression "(dVar1 - *(double *)(pPVar29 + 6)) * _DAT_002df2e0" (parenthesized_expression "(dVar1 - *(double *)(pPVar29 + 6))" ( (binary_expression "dVar1 - *(double *)(pPVar29 + 6)" identifier - (pointer_expression "*(double *)(pPVar29 + 6)" * (cast_expression "(double *)(pPVar29 + 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 6)" ( (binary_expression "pPVar29 + 6" identifier + number_literal) ))))) )) * identifier)) ;)) (if_statement "if (CVar10 == CMYKColorspace) {\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }\n                  else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n                    if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }\n                    dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;\n                    dVar23 = dVar2 * dVar3;\n                    dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;\n                    dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;\n                  }" { (if_statement "if (pPVar15[3].traits == UndefinedPixelTrait) {\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }\n                    else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }" if (parenthesized_expression "(pPVar15[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar15[3].traits == UndefinedPixelTrait" (field_expression "pPVar15[3].traits" (subscript_expression "pPVar15[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n                      dVar3 = 0.0;\n                      local_8c = dVar2;\n                    }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) (expression_statement "local_8c = dVar2;" (assignment_expression "local_8c = dVar2" identifier = identifier) ;) }) (else_clause "else {\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }" else (compound_statement "{\n                      dVar3 = pQVar28[pPVar15[3].offset];\n                      local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;\n                    }" { (expression_statement "dVar3 = pQVar28[pPVar15[3].offset];" (assignment_expression "dVar3 = pQVar28[pPVar15[3].offset]" identifier = (subscript_expression "pQVar28[pPVar15[3].offset]" identifier [ (field_expression "pPVar15[3].offset" (subscript_expression "pPVar15[3]" identifier [ number_literal ]) . field_identifier) ])) ;) (expression_statement "local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2;" (assignment_expression "local_8c = ((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2" identifier = (binary_expression "((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0 * dVar2" (binary_expression "((double)DAT_002df8a8 - dVar3) * _DAT_002df2e0" (parenthesized_expression "((double)DAT_002df8a8 - dVar3)" ( (binary_expression "(double)DAT_002df8a8 - dVar3" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - identifier) )) * identifier) * identifier)) ;) }))) (expression_statement "dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0;" (assignment_expression "dVar3 = (dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0" identifier = (binary_expression "(dVar3 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0" (parenthesized_expression "(dVar3 - *(double *)(pPVar29 + 0xc))" ( (binary_expression "dVar3 - *(double *)(pPVar29 + 0xc)" identifier - (pointer_expression "*(double *)(pPVar29 + 0xc)" * (cast_expression "(double *)(pPVar29 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 0xc)" ( (binary_expression "pPVar29 + 0xc" identifier + number_literal) ))))) )) * identifier)) ;) (expression_statement "dVar23 = dVar2 * dVar3;" (assignment_expression "dVar23 = dVar2 * dVar3" identifier = (binary_expression "dVar2 * dVar3" identifier * identifier)) ;) (expression_statement "dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c;" (assignment_expression "dVar2 = ((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c" identifier = (binary_expression "((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0 *\n                            local_8c" (binary_expression "((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)) * _DAT_002df2e0" (parenthesized_expression "((double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc))" ( (binary_expression "(double)DAT_002df8a8 - *(double *)(pPVar29 + 0xc)" (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier) - (pointer_expression "*(double *)(pPVar29 + 0xc)" * (cast_expression "(double *)(pPVar29 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 0xc)" ( (binary_expression "pPVar29 + 0xc" identifier + number_literal) ))))) )) * identifier) * identifier)) ;) (expression_statement "dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8;" (assignment_expression "dVar6 = (dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8" identifier = (binary_expression "(dVar6 + dVar23 * dVar3) * (double)DAT_002e9cd8" (parenthesized_expression "(dVar6 + dVar23 * dVar3)" ( (binary_expression "dVar6 + dVar23 * dVar3" identifier + (binary_expression "dVar23 * dVar3" identifier * identifier)) )) * (cast_expression "(double)DAT_002e9cd8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }" else (compound_statement "{\n                    dVar6 = dVar6 * (double)DAT_002e9cd8;\n                    if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }\n                  }" { (expression_statement "dVar6 = dVar6 * (double)DAT_002e9cd8;" (assignment_expression "dVar6 = dVar6 * (double)DAT_002e9cd8" identifier = (binary_expression "dVar6 * (double)DAT_002e9cd8" identifier * (cast_expression "(double)DAT_002e9cd8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if (CVar10 - HCLColorspace < 6) {\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }" if (parenthesized_expression "(CVar10 - HCLColorspace < 6)" ( (binary_expression "CVar10 - HCLColorspace < 6" (binary_expression "CVar10 - HCLColorspace" identifier - identifier) < number_literal) )) (compound_statement "{\n                      if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }\n                      dVar4 = dVar4 + dVar4;\n                    }" { (if_statement "if ((double)DAT_002df2b8 < ABS(dVar4)) {\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }" if (parenthesized_expression "((double)DAT_002df2b8 < ABS(dVar4))" ( (binary_expression "(double)DAT_002df2b8 < ABS(dVar4)" (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier) < (call_expression "ABS(dVar4)" identifier (argument_list "(dVar4)" ( identifier )))) )) (compound_statement "{\n                        dVar4 = dVar4 - (double)DAT_002df2b8;\n                      }" { (expression_statement "dVar4 = dVar4 - (double)DAT_002df2b8;" (assignment_expression "dVar4 = dVar4 - (double)DAT_002df2b8" identifier = (binary_expression "dVar4 - (double)DAT_002df2b8" identifier - (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "dVar4 = dVar4 + dVar4;" (assignment_expression "dVar4 = dVar4 + dVar4" identifier = (binary_expression "dVar4 + dVar4" identifier + identifier)) ;) })) }))) (expression_statement "dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0;" (assignment_expression "dVar3 = (pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0" identifier = (binary_expression "(pQVar28[iVar27] - *(double *)(pPVar29 + 8)) * _DAT_002df2e0" (parenthesized_expression "(pQVar28[iVar27] - *(double *)(pPVar29 + 8))" ( (binary_expression "pQVar28[iVar27] - *(double *)(pPVar29 + 8)" (subscript_expression "pQVar28[iVar27]" identifier [ identifier ]) - (pointer_expression "*(double *)(pPVar29 + 8)" * (cast_expression "(double *)(pPVar29 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 8)" ( (binary_expression "pPVar29 + 8" identifier + number_literal) ))))) )) * identifier)) ;) (expression_statement "dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0;" (assignment_expression "dVar23 = (pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0" identifier = (binary_expression "(pQVar28[iVar20] - *(double *)(pPVar29 + 10)) * _DAT_002df2e0" (parenthesized_expression "(pQVar28[iVar20] - *(double *)(pPVar29 + 10))" ( (binary_expression "pQVar28[iVar20] - *(double *)(pPVar29 + 10)" (subscript_expression "pQVar28[iVar20]" identifier [ identifier ]) - (pointer_expression "*(double *)(pPVar29 + 10)" * (cast_expression "(double *)(pPVar29 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar29 + 10)" ( (binary_expression "pPVar29 + 10" identifier + number_literal) ))))) )) * identifier)) ;) (expression_statement "dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23;" (assignment_expression "dVar2 = dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23" identifier = (binary_expression "dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6 +\n                          dVar23 * dVar2 * dVar23" (binary_expression "dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4 + dVar6" (binary_expression "dVar3 * dVar2 * dVar3 + dVar4 * dVar2 * dVar4" (binary_expression "dVar3 * dVar2 * dVar3" (binary_expression "dVar3 * dVar2" identifier * identifier) * identifier) + (binary_expression "dVar4 * dVar2 * dVar4" (binary_expression "dVar4 * dVar2" identifier * identifier) * identifier)) + identifier) + (binary_expression "dVar23 * dVar2 * dVar23" (binary_expression "dVar23 * dVar2" identifier * identifier) * identifier))) ;) (if_statement "if (dVar2 < dVar5) {\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }" if (parenthesized_expression "(dVar2 < dVar5)" ( (binary_expression "dVar2 < dVar5" identifier < identifier) )) (compound_statement "{\n                    dVar5 = dVar2;\n                    local_84 = sVar32;\n                  }" { (expression_statement "dVar5 = dVar2;" (assignment_expression "dVar5 = dVar2" identifier = identifier) ;) (expression_statement "local_84 = sVar32;" (assignment_expression "local_84 = sVar32" identifier = identifier) ;) })) (expression_statement "sVar32 = sVar32 + 1;" (assignment_expression "sVar32 = sVar32 + 1" identifier = (binary_expression "sVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5))" ( (binary_expression "(sVar32 != sVar14) && (pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5)" (parenthesized_expression "(sVar32 != sVar14)" ( (binary_expression "sVar32 != sVar14" identifier != identifier) )) && (parenthesized_expression "(pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5)" ( (comma_expression "pPVar29 = pPVar29 + 0x14, DAT_002df2d0 < dVar5" (assignment_expression "pPVar29 = pPVar29 + 0x14" identifier = (binary_expression "pPVar29 + 0x14" identifier + number_literal)) , (binary_expression "DAT_002df2d0 < dVar5" identifier < identifier)) ))) )) ;) (expression_statement "dVar2 = (double)(int)local_84;" (assignment_expression "dVar2 = (double)(int)local_84" identifier = (cast_expression "(double)(int)local_84" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pKVar30 = pKVar11 + local_84;" (assignment_expression "pKVar30 = pKVar11 + local_84" identifier = (binary_expression "pKVar11 + local_84" identifier + identifier)) ;) }))) (expression_statement "pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0;" (assignment_expression "pKVar30->red = pKVar30->red + dVar1 * _DAT_002df2e0" (field_expression "pKVar30->red" identifier -> field_identifier) = (binary_expression "pKVar30->red + dVar1 * _DAT_002df2e0" (field_expression "pKVar30->red" identifier -> field_identifier) + (binary_expression "dVar1 * _DAT_002df2e0" identifier * identifier))) ;) (expression_statement "pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green;" (assignment_expression "pKVar30->green = pQVar28[iVar27] * dVar22 + pKVar30->green" (field_expression "pKVar30->green" identifier -> field_identifier) = (binary_expression "pQVar28[iVar27] * dVar22 + pKVar30->green" (binary_expression "pQVar28[iVar27] * dVar22" (subscript_expression "pQVar28[iVar27]" identifier [ identifier ]) * identifier) + (field_expression "pKVar30->green" identifier -> field_identifier))) ;) (expression_statement "pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue;" (assignment_expression "pKVar30->blue = pQVar28[iVar20] * dVar22 + pKVar30->blue" (field_expression "pKVar30->blue" identifier -> field_identifier) = (binary_expression "pQVar28[iVar20] * dVar22 + pKVar30->blue" (binary_expression "pQVar28[iVar20] * dVar22" (subscript_expression "pQVar28[iVar20]" identifier [ identifier ]) * identifier) + (field_expression "pKVar30->blue" identifier -> field_identifier))) ;) (if_statement "if (PVar13 != BlendPixelTrait) {\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }" if (parenthesized_expression "(PVar13 != BlendPixelTrait)" ( (binary_expression "PVar13 != BlendPixelTrait" identifier != identifier) )) (compound_statement "{\n                if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }\n                pKVar30->alpha = dVar22 + pKVar30->alpha;\n              }" { (if_statement "if (pPVar15[4].traits == UndefinedPixelTrait) {\n                  dVar22 = 1.0;\n                }\n                else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }" if (parenthesized_expression "(pPVar15[4].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar15[4].traits == UndefinedPixelTrait" (field_expression "pPVar15[4].traits" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n                  dVar22 = 1.0;\n                }" { (expression_statement "dVar22 = 1.0;" (assignment_expression "dVar22 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }" else (compound_statement "{\n                  dVar22 = dVar22 * pQVar28[pPVar15[4].offset];\n                }" { (expression_statement "dVar22 = dVar22 * pQVar28[pPVar15[4].offset];" (assignment_expression "dVar22 = dVar22 * pQVar28[pPVar15[4].offset]" identifier = (binary_expression "dVar22 * pQVar28[pPVar15[4].offset]" identifier * (subscript_expression "pQVar28[pPVar15[4].offset]" identifier [ (field_expression "pPVar15[4].offset" (subscript_expression "pPVar15[4]" identifier [ number_literal ]) . field_identifier) ]))) ;) }))) (expression_statement "pKVar30->alpha = dVar22 + pKVar30->alpha;" (assignment_expression "pKVar30->alpha = dVar22 + pKVar30->alpha" (field_expression "pKVar30->alpha" identifier -> field_identifier) = (binary_expression "dVar22 + pKVar30->alpha" identifier + (field_expression "pKVar30->alpha" identifier -> field_identifier))) ;) })) (if_statement "if (CVar10 == CMYKColorspace) {\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n                if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }\n                pKVar30->black = dVar22 + pKVar30->black;\n              }" { (if_statement "if (pPVar15[3].traits == UndefinedPixelTrait) {\n                  dVar22 = 0.0;\n                }\n                else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }" if (parenthesized_expression "(pPVar15[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar15[3].traits == UndefinedPixelTrait" (field_expression "pPVar15[3].traits" (subscript_expression "pPVar15[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n                  dVar22 = 0.0;\n                }" { (expression_statement "dVar22 = 0.0;" (assignment_expression "dVar22 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }" else (compound_statement "{\n                  dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];\n                }" { (expression_statement "dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset];" (assignment_expression "dVar22 = _DAT_002df2e0 * pQVar28[pPVar15[3].offset]" identifier = (binary_expression "_DAT_002df2e0 * pQVar28[pPVar15[3].offset]" identifier * (subscript_expression "pQVar28[pPVar15[3].offset]" identifier [ (field_expression "pPVar15[3].offset" (subscript_expression "pPVar15[3]" identifier [ number_literal ]) . field_identifier) ]))) ;) }))) (expression_statement "pKVar30->black = dVar22 + pKVar30->black;" (assignment_expression "pKVar30->black = dVar22 + pKVar30->black" (field_expression "pKVar30->black" identifier -> field_identifier) = (binary_expression "dVar22 + pKVar30->black" identifier + (field_expression "pKVar30->black" identifier -> field_identifier))) ;) })) (expression_statement "pKVar30->count = pKVar30->count + 1.0;" (assignment_expression "pKVar30->count = pKVar30->count + 1.0" (field_expression "pKVar30->count" identifier -> field_identifier) = (binary_expression "pKVar30->count + 1.0" (field_expression "pKVar30->count" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pKVar30->distortion = dVar5 + pKVar30->distortion;" (assignment_expression "pKVar30->distortion = dVar5 + pKVar30->distortion" (field_expression "pKVar30->distortion" identifier -> field_identifier) = (binary_expression "dVar5 + pKVar30->distortion" identifier + (field_expression "pKVar30->distortion" identifier -> field_identifier))) ;) (if_statement "if (PVar17 != UndefinedPixelTrait) {\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }" if (parenthesized_expression "(PVar17 != UndefinedPixelTrait)" ( (binary_expression "PVar17 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n                pQVar28[pPVar15[5].offset] = dVar2;\n              }" { (expression_statement "pQVar28[pPVar15[5].offset] = dVar2;" (assignment_expression "pQVar28[pPVar15[5].offset] = dVar2" (subscript_expression "pQVar28[pPVar15[5].offset]" identifier [ (field_expression "pPVar15[5].offset" (subscript_expression "pPVar15[5]" identifier [ number_literal ]) . field_identifier) ]) = identifier) ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (expression_statement "pQVar28 = pQVar28 + sVar16;" (assignment_expression "pQVar28 = pQVar28 + sVar16" identifier = (binary_expression "pQVar28 + sVar16" identifier + identifier)) ;) }) while (parenthesized_expression "(local_7c != sVar9)" ( (binary_expression "local_7c != sVar9" identifier != identifier) )) ;) })) (expression_statement "MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception);" (assignment_expression "MVar31 = SyncCacheViewAuthenticPixels(cache_view,exception)" identifier = (call_expression "SyncCacheViewAuthenticPixels(cache_view,exception)" identifier (argument_list "(cache_view,exception)" ( identifier , identifier )))) ;) (if_statement "if (MVar31 != MagickFalse) goto LAB_00144f9d;" if (parenthesized_expression "(MVar31 != MagickFalse)" ( (binary_expression "MVar31 != MagickFalse" identifier != identifier) )) (goto_statement "goto LAB_00144f9d;" goto statement_identifier ;)) })) (expression_statement "this->status = MagickFalse;" (assignment_expression "this->status = MagickFalse" (field_expression "this->status" identifier -> field_identifier) = identifier) ;) })) (labeled_statement "LAB_00144f9d:\n      local_70 = local_70 + 1;" statement_identifier : (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_70 < iVar24)" ( (binary_expression "local_70 < iVar24" identifier < identifier) )) ;) (expression_statement "cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24);" (assignment_expression "cVar26 = GOMP_loop_dynamic_next(&local_28,&local_24)" identifier = (call_expression "GOMP_loop_dynamic_next(&local_28,&local_24)" identifier (argument_list "(&local_28,&local_24)" ( (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" identifier = identifier) ;) (expression_statement "iVar24 = local_24;" (assignment_expression "iVar24 = local_24" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void FUN_00144b70(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}\n\n" (function_definition "void FUN_00144b70(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00144b70(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  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double dVar4;" primitive_type identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "double dVar7;" primitive_type identifier ;) (declaration "double dVar8;" 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 "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "char cVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "double *pdVar31;" primitive_type (pointer_declarator "*pdVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "double local_8c;" primitive_type identifier ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "FUN_00045159();" (call_expression "FUN_00045159()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = param_1[3];" (assignment_expression "iVar9 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = param_1[2];" (assignment_expression "iVar10 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = param_1[1];" (assignment_expression "iVar11 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = *param_1;" (assignment_expression "iVar12 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);" (assignment_expression "cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" identifier = (call_expression "GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" identifier (argument_list "(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" ( number_literal , (pointer_expression "*(undefined4 *)(iVar12 + 0x1c)" * (cast_expression "(undefined4 *)(iVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) )))) , number_literal , number_literal , (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" identifier = identifier) ;) (expression_statement "iVar26 = local_24;" (assignment_expression "iVar26 = local_24" identifier = identifier) ;) (do_statement "do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );" do (compound_statement "{\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  }" { (expression_statement "local_28 = local_70;" (assignment_expression "local_28 = local_70" identifier = identifier) ;) (expression_statement "local_24 = iVar26;" (assignment_expression "local_24 = iVar26" identifier = identifier) ;) (if_statement "if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }" if (parenthesized_expression "(cVar27 == '\0')" ( (binary_expression "cVar27 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }" { (expression_statement "GOMP_loop_end_nowait();" (call_expression "GOMP_loop_end_nowait()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n        FUN_002decd0();\n      }" { (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })) (do_statement "do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);" do (compound_statement "{\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    }" { (expression_statement "iVar28 = omp_get_thread_num();" (assignment_expression "iVar28 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (if_statement "if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }" { (expression_statement "iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);" (assignment_expression "iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" identifier = (call_expression "GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" identifier (argument_list "(iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar12 + 0x18)" * (cast_expression "(undefined4 *)(iVar12 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x18)" ( (binary_expression "iVar12 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }" { (expression_statement "iVar13 = *(int *)(iVar12 + 0x18);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x18)" identifier = (pointer_expression "*(int *)(iVar12 + 0x18)" * (cast_expression "(int *)(iVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x18)" ( (binary_expression "iVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }" if (parenthesized_expression "(0 < iVar13)" ( (binary_expression "0 < iVar13" number_literal < identifier) )) (compound_statement "{\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }" { (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "dVar1 = *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar1 = *(double *)(unaff_EBP + 0x19a76a)" identifier = (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar12 + 4);" (assignment_expression "iVar14 = *(int *)(iVar12 + 4)" identifier = (pointer_expression "*(int *)(iVar12 + 4)" * (cast_expression "(int *)(iVar12 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "pdVar15 = *(double **)(iVar9 + iVar28 * 4);" (assignment_expression "pdVar15 = *(double **)(iVar9 + iVar28 * 4)" identifier = (pointer_expression "*(double **)(iVar9 + iVar28 * 4)" * (cast_expression "(double **)(iVar9 + iVar28 * 4)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + iVar28 * 4)" ( (binary_expression "iVar9 + iVar28 * 4" identifier + (binary_expression "iVar28 * 4" identifier * number_literal)) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar12 + 0x28);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x28)" identifier = (pointer_expression "*(int *)(iVar12 + 0x28)" * (cast_expression "(int *)(iVar12 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x28)" ( (binary_expression "iVar12 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar12 + 0x294);" (assignment_expression "iVar16 = *(int *)(iVar12 + 0x294)" identifier = (pointer_expression "*(int *)(iVar12 + 0x294)" * (cast_expression "(int *)(iVar12 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x294)" ( (binary_expression "iVar12 + 0x294" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar12 + 0x24);" (assignment_expression "iVar17 = *(int *)(iVar12 + 0x24)" identifier = (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(iVar12 + 0x2a8);" (assignment_expression "iVar18 = *(int *)(iVar12 + 0x2a8)" identifier = (pointer_expression "*(int *)(iVar12 + 0x2a8)" * (cast_expression "(int *)(iVar12 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x2a8)" ( (binary_expression "iVar12 + 0x2a8" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(iVar12 + 0x298);" (assignment_expression "iVar19 = *(int *)(iVar12 + 0x298)" identifier = (pointer_expression "*(int *)(iVar12 + 0x298)" * (cast_expression "(int *)(iVar12 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x298)" ( (binary_expression "iVar12 + 0x298" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar18 + 0x40);" (assignment_expression "iVar20 = *(int *)(iVar18 + 0x40)" identifier = (pointer_expression "*(int *)(iVar18 + 0x40)" * (cast_expression "(int *)(iVar18 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x40)" ( (binary_expression "iVar18 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(iVar28 + 8);" (assignment_expression "iVar21 = *(int *)(iVar28 + 8)" identifier = (pointer_expression "*(int *)(iVar28 + 8)" * (cast_expression "(int *)(iVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar18 + 8);" (assignment_expression "iVar22 = *(int *)(iVar18 + 8)" identifier = (pointer_expression "*(int *)(iVar18 + 8)" * (cast_expression "(int *)(iVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 8)" ( (binary_expression "iVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = *(int *)(iVar18 + 0x14) * 8;" (assignment_expression "iVar33 = *(int *)(iVar18 + 0x14) * 8" identifier = (binary_expression "*(int *)(iVar18 + 0x14) * 8" (pointer_expression "*(int *)(iVar18 + 0x14)" * (cast_expression "(int *)(iVar18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x14)" ( (binary_expression "iVar18 + 0x14" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar34 = *(int *)(iVar18 + 0x20) * 8;" (assignment_expression "iVar34 = *(int *)(iVar18 + 0x20) * 8" identifier = (binary_expression "*(int *)(iVar18 + 0x20) * 8" (pointer_expression "*(int *)(iVar18 + 0x20)" * (cast_expression "(int *)(iVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x20)" ( (binary_expression "iVar18 + 0x20" identifier + number_literal) )))) * number_literal)) ;) (do_statement "do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);" do (compound_statement "{\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            }" { (if_statement "if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }" { (if_statement "if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }" { (if_statement "if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) != 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00145170;" goto statement_identifier ;)) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" identifier = (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_001451a1;" goto statement_identifier ;) })) (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" identifier = number_literal) ;) (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" else (compound_statement "{\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" { (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }" { (if_statement "if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }" { (expression_statement "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) (goto_statement "goto LAB_00145141;" goto statement_identifier ;) })) (expression_statement "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) (expression_statement "dVar2 = dVar8 - *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = dVar8 - *(double *)(iVar28 + 0x40)" identifier = (binary_expression "dVar8 - *(double *)(iVar28 + 0x40)" identifier - (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) )))))) ;) (expression_statement "dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "dVar2 * dVar2" identifier * identifier) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" identifier = (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" else (compound_statement "{\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" { (labeled_statement "LAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" statement_identifier : (expression_statement "dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" * (cast_expression "(int *)(iVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x38)" ( (binary_expression "iVar18 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (if_statement "if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }" { (labeled_statement "LAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" statement_identifier : (expression_statement "dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (parenthesized_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) )) * (parenthesized_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;)) (if_statement "if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                      dVar8 = 1.0;\n                    }" { (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" else (compound_statement "{\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" { (expression_statement "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) }))) (goto_statement "goto LAB_00144d08;" goto statement_identifier ;) })) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" identifier = (pointer_expression "*(double *)(iVar28 + 0x40)" * (cast_expression "(double *)(iVar28 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x40)" ( (binary_expression "iVar28 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar8 - dVar2) * (dVar8 - dVar2)" (parenthesized_expression "(dVar8 - dVar2)" ( (binary_expression "dVar8 - dVar2" identifier - identifier) )) * (parenthesized_expression "(dVar8 - dVar2)" ( (binary_expression "dVar8 - dVar2" identifier - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (if_statement "if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }" { (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_001451a1;" goto statement_identifier ;) })) }))) (expression_statement "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar8 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (labeled_statement "LAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;" statement_identifier : (expression_statement "dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;" (assignment_expression "dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8" identifier = (binary_expression "dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8" (binary_expression "dVar2 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;)) }))) (labeled_statement "LAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);" statement_identifier : (expression_statement "dVar2 = *(double *)(iVar29 + iVar22 * 8);" (assignment_expression "dVar2 = *(double *)(iVar29 + iVar22 * 8)" identifier = (pointer_expression "*(double *)(iVar29 + iVar22 * 8)" * (cast_expression "(double *)(iVar29 + iVar22 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar22 * 8)" ( (binary_expression "iVar29 + iVar22 * 8" identifier + (binary_expression "iVar22 * 8" identifier * number_literal)) ))))) ;)) (expression_statement "dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar2 - *(double *)(iVar28 + 0x20))" ( (binary_expression "dVar2 - *(double *)(iVar28 + 0x20)" identifier - (pointer_expression "*(double *)(iVar28 + 0x20)" * (cast_expression "(double *)(iVar28 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x20)" ( (binary_expression "iVar28 + 0x20" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (if_statement "if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }" { (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" * (cast_expression "(int *)(iVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x28)" ( (binary_expression "iVar18 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) (expression_statement "dVar4 = dVar8;" (assignment_expression "dVar4 = dVar8" identifier = identifier) ;) }) (else_clause "else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" else (compound_statement "{\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" { (expression_statement "dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" * (cast_expression "(int *)(iVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x2c)" ( (binary_expression "iVar18 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;" (assignment_expression "dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;) }))) (expression_statement "dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(iVar28 + 0x38))" ( (binary_expression "dVar3 - *(double *)(iVar28 + 0x38)" identifier - (pointer_expression "*(double *)(iVar28 + 0x38)" * (cast_expression "(double *)(iVar28 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x38)" ( (binary_expression "iVar28 + 0x38" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar24 = dVar8 * dVar3;" (assignment_expression "dVar24 = dVar8 * dVar3" identifier = (binary_expression "dVar8 * dVar3" identifier * identifier)) ;) (expression_statement "dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (binary_expression "dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38))" identifier * (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38))" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - (pointer_expression "*(double *)(iVar28 + 0x38)" * (cast_expression "(double *)(iVar28 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x38)" ( (binary_expression "iVar28 + 0x38" identifier + number_literal) ))))) ))) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "(dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162)" (parenthesized_expression "(dVar6 + dVar24 * dVar3)" ( (binary_expression "dVar6 + dVar24 * dVar3" identifier + (binary_expression "dVar24 * dVar3" identifier * identifier)) )) * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" else (compound_statement "{\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" { (expression_statement "dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) (if_statement "if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }" if (parenthesized_expression "(iVar14 - 4U < 6)" ( (binary_expression "iVar14 - 4U < 6" (binary_expression "iVar14 - 4U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }" { (if_statement "if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }" if (parenthesized_expression "((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5))" ( (binary_expression "(double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)" (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))) < (call_expression "ABS(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )) (compound_statement "{\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }" { (expression_statement "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);" (assignment_expression "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier = (binary_expression "dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier - (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))))) ;) })) (expression_statement "dVar5 = dVar5 + dVar5;" (assignment_expression "dVar5 = dVar5 + dVar5" identifier = (binary_expression "dVar5 + dVar5" identifier + identifier)) ;) })) }))) (expression_statement "dVar3 = *(double *)(iVar29 + iVar33);" (assignment_expression "dVar3 = *(double *)(iVar29 + iVar33)" identifier = (pointer_expression "*(double *)(iVar29 + iVar33)" * (cast_expression "(double *)(iVar29 + iVar33)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar33)" ( (binary_expression "iVar29 + iVar33" identifier + identifier) ))))) ;) (expression_statement "dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(iVar28 + 0x28))" ( (binary_expression "dVar3 - *(double *)(iVar28 + 0x28)" identifier - (pointer_expression "*(double *)(iVar28 + 0x28)" * (cast_expression "(double *)(iVar28 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x28)" ( (binary_expression "iVar28 + 0x28" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar4 = *(double *)(iVar29 + iVar34);" (assignment_expression "dVar4 = *(double *)(iVar29 + iVar34)" identifier = (pointer_expression "*(double *)(iVar29 + iVar34)" * (cast_expression "(double *)(iVar29 + iVar34)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar34)" ( (binary_expression "iVar29 + iVar34" identifier + identifier) ))))) ;) (expression_statement "dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar4 - *(double *)(iVar28 + 0x30))" ( (binary_expression "dVar4 - *(double *)(iVar28 + 0x30)" identifier - (pointer_expression "*(double *)(iVar28 + 0x30)" * (cast_expression "(double *)(iVar28 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x30)" ( (binary_expression "iVar28 + 0x30" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;" (assignment_expression "dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6" identifier = (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6" (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5" (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7" (binary_expression "dVar24 * dVar8 * dVar24" (binary_expression "dVar24 * dVar8" identifier * identifier) * identifier) + (binary_expression "dVar8 * dVar7 * dVar7" (binary_expression "dVar8 * dVar7" identifier * identifier) * identifier)) + (binary_expression "dVar8 * dVar5 * dVar5" (binary_expression "dVar8 * dVar5" identifier * identifier) * identifier)) + identifier)) ;) (if_statement "if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" if (parenthesized_expression "((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a)))" ( (binary_expression "(iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))" (parenthesized_expression "(iVar17 < 2)" ( (binary_expression "iVar17 < 2" identifier < number_literal) )) || (parenthesized_expression "(dVar8 <= *(double *)(unaff_EBP + 0x19a75a))" ( (binary_expression "dVar8 <= *(double *)(unaff_EBP + 0x19a75a)" identifier <= (pointer_expression "*(double *)(unaff_EBP + 0x19a75a)" * (cast_expression "(double *)(unaff_EBP + 0x19a75a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a75a)" ( (binary_expression "unaff_EBP + 0x19a75a" identifier + number_literal) ))))) ))) )) (compound_statement "{\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }" { (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" identifier = number_literal) ;) (expression_statement "pdVar31 = pdVar15;" (assignment_expression "pdVar31 = pdVar15" identifier = identifier) ;) }) (else_clause "else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" else (compound_statement "{\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" { (expression_statement "piVar30 = (int *)(iVar28 + 0x58);" (assignment_expression "piVar30 = (int *)(iVar28 + 0x58)" identifier = (cast_expression "(int *)(iVar28 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x58)" ( (binary_expression "iVar28 + 0x58" identifier + number_literal) )))) ;) (expression_statement "iVar32 = 1;" (assignment_expression "iVar32 = 1" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (do_statement "do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));" do (compound_statement "{\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                }" { (expression_statement "iVar23 = *piVar30;" (assignment_expression "iVar23 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (if_statement "if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }" { (if_statement "if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }" { (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (expression_statement "dVar24 = 0.0;" (assignment_expression "dVar24 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" else (compound_statement "{\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" { (if_statement "if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) != 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00145048;" goto statement_identifier ;)) (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" identifier = (pointer_expression "*(double *)(piVar30 + 0xe)" * (cast_expression "(double *)(piVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xe)" ( (binary_expression "piVar30 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (labeled_statement "LAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;" statement_identifier : (expression_statement "dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;" (assignment_expression "dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6" identifier = (binary_expression "dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6" (binary_expression "dVar5 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;)) }))) }) (else_clause "else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" else (compound_statement "{\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" { (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }" { (if_statement "if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }" { (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" identifier = (pointer_expression "*(double *)(piVar30 + 0xe)" * (cast_expression "(double *)(piVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xe)" ( (binary_expression "piVar30 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) (expression_statement "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5)" (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) )) * (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (goto_statement "goto LAB_00145030;" goto statement_identifier ;) })) (expression_statement "dVar24 = 0.0;" (assignment_expression "dVar24 = 0.0" identifier = number_literal) ;) (expression_statement "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier = (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ;) }) (else_clause "else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" else (compound_statement "{\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" { (labeled_statement "LAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" statement_identifier : (expression_statement "dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" * (cast_expression "(int *)(iVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x38)" ( (binary_expression "iVar18 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (if_statement "if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }" { (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" identifier = (pointer_expression "*(double *)(piVar30 + 0xe)" * (cast_expression "(double *)(piVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xe)" ( (binary_expression "piVar30 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5)" (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) )) * (parenthesized_expression "(dVar6 - dVar5)" ( (binary_expression "dVar6 - dVar5" identifier - identifier) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (if_statement "if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }" { (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_00145038;" goto statement_identifier ;) })) (labeled_statement "LAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);" statement_identifier : (expression_statement "dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "dVar6 * *(double *)(unaff_EBP + 0x19a76a)" identifier * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;)) (goto_statement "goto LAB_00145038;" goto statement_identifier ;) })) (expression_statement "dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" identifier = (binary_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (parenthesized_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) )) * (parenthesized_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" ( (binary_expression "dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" identifier - (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) )))))) ))) + (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" ( (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" & identifier) + identifier) ))))))) ;) (if_statement "if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }" { (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_00144dfb;" goto statement_identifier ;) })) }))) (expression_statement "dVar6 = dVar6 * dVar1;" (assignment_expression "dVar6 = dVar6 * dVar1" identifier = (binary_expression "dVar6 * dVar1" identifier * identifier)) ;) }))) (labeled_statement "LAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);" statement_identifier : (expression_statement "dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar2 - *(double *)(piVar30 + 6))" ( (binary_expression "dVar2 - *(double *)(piVar30 + 6)" identifier - (pointer_expression "*(double *)(piVar30 + 6)" * (cast_expression "(double *)(piVar30 + 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 6)" ( (binary_expression "piVar30 + 6" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;)) (if_statement "if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }" { (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" if (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" * (cast_expression "(int *)(iVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x28)" ( (binary_expression "iVar18 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }" { (expression_statement "dVar7 = 0.0;" (assignment_expression "dVar7 = 0.0" identifier = number_literal) ;) (expression_statement "local_8c = dVar6;" (assignment_expression "local_8c = dVar6" identifier = identifier) ;) }) (else_clause "else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" else (compound_statement "{\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" { (expression_statement "dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" * (cast_expression "(int *)(iVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x2c)" ( (binary_expression "iVar18 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;" (assignment_expression "local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7)" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - identifier) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;) }))) (expression_statement "dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;" (assignment_expression "dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar7 - *(double *)(piVar30 + 0xc))" ( (binary_expression "dVar7 - *(double *)(piVar30 + 0xc)" identifier - (pointer_expression "*(double *)(piVar30 + 0xc)" * (cast_expression "(double *)(piVar30 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xc)" ( (binary_expression "piVar30 + 0xc" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar25 = dVar6 * dVar7;" (assignment_expression "dVar25 = dVar6 * dVar7" identifier = (binary_expression "dVar6 * dVar7" identifier * identifier)) ;) (expression_statement "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;" (assignment_expression "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c" identifier = (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc))" ( (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" * (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" ( (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" & identifier) + identifier) ))))) - (pointer_expression "*(double *)(piVar30 + 0xc)" * (cast_expression "(double *)(piVar30 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 0xc)" ( (binary_expression "piVar30 + 0xc" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) * identifier)) ;) (expression_statement "dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "(dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162)" (parenthesized_expression "(dVar24 + dVar25 * dVar7)" ( (binary_expression "dVar24 + dVar25 * dVar7" identifier + (binary_expression "dVar25 * dVar7" identifier * identifier)) )) * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" else (compound_statement "{\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" { (expression_statement "dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier = (binary_expression "dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162)" identifier * (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" * (cast_expression "(float *)(unaff_EBP + 0x1a5162)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1a5162)" ( (binary_expression "unaff_EBP + 0x1a5162" identifier + number_literal) ))))))) ;) (if_statement "if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }" if (parenthesized_expression "(iVar14 - 4U < 6)" ( (binary_expression "iVar14 - 4U < 6" (binary_expression "iVar14 - 4U" identifier - number_literal) < number_literal) )) (compound_statement "{\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }" { (if_statement "if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }" if (parenthesized_expression "((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5))" ( (binary_expression "(double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)" (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))) < (call_expression "ABS(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )) (compound_statement "{\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }" { (expression_statement "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);" (assignment_expression "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier = (binary_expression "dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" identifier - (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" * (cast_expression "(float *)(unaff_EBP + 0x19a742)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a742)" ( (binary_expression "unaff_EBP + 0x19a742" identifier + number_literal) ))))))) ;) })) (expression_statement "dVar5 = dVar5 + dVar5;" (assignment_expression "dVar5 = dVar5 + dVar5" identifier = (binary_expression "dVar5 + dVar5" identifier + identifier)) ;) })) }))) (expression_statement "dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(piVar30 + 8))" ( (binary_expression "dVar3 - *(double *)(piVar30 + 8)" identifier - (pointer_expression "*(double *)(piVar30 + 8)" * (cast_expression "(double *)(piVar30 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 8)" ( (binary_expression "piVar30 + 8" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a)" identifier = (binary_expression "(dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar4 - *(double *)(piVar30 + 10))" ( (binary_expression "dVar4 - *(double *)(piVar30 + 10)" identifier - (pointer_expression "*(double *)(piVar30 + 10)" * (cast_expression "(double *)(piVar30 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar30 + 10)" ( (binary_expression "piVar30 + 10" identifier + number_literal) ))))) )) * (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))))) ;) (expression_statement "dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;" (assignment_expression "dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25" identifier = (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25" (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24" (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5" (binary_expression "dVar7 * dVar6 * dVar7" (binary_expression "dVar7 * dVar6" identifier * identifier) * identifier) + (binary_expression "dVar5 * dVar6 * dVar5" (binary_expression "dVar5 * dVar6" identifier * identifier) * identifier)) + identifier) + (binary_expression "dVar25 * dVar6 * dVar25" (binary_expression "dVar25 * dVar6" identifier * identifier) * identifier))) ;) (if_statement "if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }" if (parenthesized_expression "(dVar6 < dVar8)" ( (binary_expression "dVar6 < dVar8" identifier < identifier) )) (compound_statement "{\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }" { (expression_statement "dVar8 = dVar6;" (assignment_expression "dVar8 = dVar6" identifier = identifier) ;) (expression_statement "local_84 = iVar32;" (assignment_expression "local_84 = iVar32" identifier = identifier) ;) })) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8))" ( (binary_expression "(iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8)" (parenthesized_expression "(iVar32 != iVar17)" ( (binary_expression "iVar32 != iVar17" identifier != identifier) )) && (parenthesized_expression "(piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8)" ( (comma_expression "piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8" (assignment_expression "piVar30 = piVar30 + 0x14" identifier = (binary_expression "piVar30 + 0x14" identifier + number_literal)) , (binary_expression "*(double *)(unaff_EBP + 0x19a75a) < dVar8" (pointer_expression "*(double *)(unaff_EBP + 0x19a75a)" * (cast_expression "(double *)(unaff_EBP + 0x19a75a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a75a)" ( (binary_expression "unaff_EBP + 0x19a75a" identifier + number_literal) )))) < identifier)) ))) )) ;) (expression_statement "dVar6 = (double)local_84;" (assignment_expression "dVar6 = (double)local_84" identifier = (cast_expression "(double)local_84" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar31 = pdVar15 + local_84 * 7;" (assignment_expression "pdVar31 = pdVar15 + local_84 * 7" identifier = (binary_expression "pdVar15 + local_84 * 7" identifier + (binary_expression "local_84 * 7" identifier * number_literal))) ;) }))) (expression_statement "dVar5 = *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = *(double *)(unaff_EBP + 0x19a76a)" identifier = (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) ))))) ;) (expression_statement "*pdVar31 = *pdVar31 + dVar2 * dVar5;" (assignment_expression "*pdVar31 = *pdVar31 + dVar2 * dVar5" (pointer_expression "*pdVar31" * identifier) = (binary_expression "*pdVar31 + dVar2 * dVar5" (pointer_expression "*pdVar31" * identifier) + (binary_expression "dVar2 * dVar5" identifier * identifier))) ;) (expression_statement "pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];" (assignment_expression "pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1]" (subscript_expression "pdVar31[1]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1]" (binary_expression "*(double *)(iVar29 + iVar33) * dVar5" (pointer_expression "*(double *)(iVar29 + iVar33)" * (cast_expression "(double *)(iVar29 + iVar33)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar33)" ( (binary_expression "iVar29 + iVar33" identifier + identifier) )))) * identifier) + (subscript_expression "pdVar31[1]" identifier [ number_literal ]))) ;) (expression_statement "pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];" (assignment_expression "pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2]" (subscript_expression "pdVar31[2]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2]" (binary_expression "*(double *)(iVar29 + iVar34) * dVar5" (pointer_expression "*(double *)(iVar29 + iVar34)" * (cast_expression "(double *)(iVar29 + iVar34)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar34)" ( (binary_expression "iVar29 + iVar34" identifier + identifier) )))) * identifier) + (subscript_expression "pdVar31[2]" identifier [ number_literal ]))) ;) (if_statement "if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }" if (parenthesized_expression "(iVar16 != 4)" ( (binary_expression "iVar16 != 4" identifier != number_literal) )) (compound_statement "{\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }" { (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" * (cast_expression "(int *)(iVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x34)" ( (binary_expression "iVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  dVar5 = 1.0;\n                }" { (expression_statement "dVar5 = 1.0;" (assignment_expression "dVar5 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" else (compound_statement "{\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" { (expression_statement "dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier = (binary_expression "dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" * (cast_expression "(int *)(iVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x38)" ( (binary_expression "iVar18 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "pdVar31[3] = dVar5 + pdVar31[3];" (assignment_expression "pdVar31[3] = dVar5 + pdVar31[3]" (subscript_expression "pdVar31[3]" identifier [ number_literal ]) = (binary_expression "dVar5 + pdVar31[3]" identifier + (subscript_expression "pdVar31[3]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }" { (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" if (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" * (cast_expression "(int *)(iVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x28)" ( (binary_expression "iVar18 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  dVar2 = 0.0;\n                }" { (expression_statement "dVar2 = 0.0;" (assignment_expression "dVar2 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" else (compound_statement "{\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" { (expression_statement "dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" identifier = (binary_expression "*(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" * (cast_expression "(double *)(unaff_EBP + 0x19a76a)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x19a76a)" ( (binary_expression "unaff_EBP + 0x19a76a" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" * (cast_expression "(int *)(iVar18 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x2c)" ( (binary_expression "iVar18 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "pdVar31[4] = dVar2 + pdVar31[4];" (assignment_expression "pdVar31[4] = dVar2 + pdVar31[4]" (subscript_expression "pdVar31[4]" identifier [ number_literal ]) = (binary_expression "dVar2 + pdVar31[4]" identifier + (subscript_expression "pdVar31[4]" identifier [ number_literal ]))) ;) })) (expression_statement "pdVar31[5] = pdVar31[5] + 1.0;" (assignment_expression "pdVar31[5] = pdVar31[5] + 1.0" (subscript_expression "pdVar31[5]" identifier [ number_literal ]) = (binary_expression "pdVar31[5] + 1.0" (subscript_expression "pdVar31[5]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pdVar31[6] = dVar8 + pdVar31[6];" (assignment_expression "pdVar31[6] = dVar8 + pdVar31[6]" (subscript_expression "pdVar31[6]" identifier [ number_literal ]) = (binary_expression "dVar8 + pdVar31[6]" identifier + (subscript_expression "pdVar31[6]" identifier [ number_literal ]))) ;) (if_statement "if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }" { (expression_statement "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;" (assignment_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6" (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x44) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar18 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar18 + 0x44) * 8" (pointer_expression "*(int *)(iVar18 + 0x44)" * (cast_expression "(int *)(iVar18 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x44)" ( (binary_expression "iVar18 + 0x44" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (expression_statement "iVar29 = iVar29 + iVar19 * 8;" (assignment_expression "iVar29 = iVar29 + iVar19 * 8" identifier = (binary_expression "iVar29 + iVar19 * 8" identifier + (binary_expression "iVar19 * 8" identifier * number_literal))) ;) }) while (parenthesized_expression "(local_7c != iVar13)" ( (binary_expression "local_7c != iVar13" identifier != identifier) )) ;) })) (expression_statement "iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);" (assignment_expression "iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11)" identifier = (call_expression "SyncCacheViewAuthenticPixels(iVar10,iVar11)" identifier (argument_list "(iVar10,iVar11)" ( identifier , identifier )))) ;) (if_statement "if (iVar28 != 0) goto LAB_00144f9d;" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00144f9d;" goto statement_identifier ;)) })) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (labeled_statement "LAB_00144f9d:\n      local_70 = local_70 + 1;" statement_identifier : (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_70 < iVar26)" ( (binary_expression "local_70 < iVar26" identifier < identifier) )) ;) (expression_statement "cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);" (assignment_expression "cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24)" identifier = (call_expression "GOMP_loop_dynamic_next(&local_28,&local_24)" identifier (argument_list "(&local_28,&local_24)" ( (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" identifier = identifier) ;) (expression_statement "iVar26 = local_24;" (assignment_expression "iVar26 = local_24" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 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 ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , 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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - IDENT) )) * (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + 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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) )) * (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) * IDENT)) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - IDENT) )) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - (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) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * IDENT)) )) * (cast_expression ( (type_descriptor TYPE) ) (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 * (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (call_expression IDENT (argument_list ( IDENT )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) })) (expression_statement (assignment_expression 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 + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) * IDENT) + (binary_expression (binary_expression IDENT * IDENT) * IDENT)) + (binary_expression (binary_expression IDENT * IDENT) * IDENT)) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - IDENT) )) * (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) * IDENT)) ;)) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) )) * (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - IDENT) )) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) - (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) ))))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * IDENT)) )) * (cast_expression ( (type_descriptor TYPE) ) (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 * (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (call_expression IDENT (argument_list ( IDENT )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) * IDENT) + (binary_expression (binary_expression IDENT * IDENT) * IDENT)) + IDENT) + (binary_expression (binary_expression IDENT * IDENT) * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT)) ))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * 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 + 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 + IDENT) )))) * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_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 + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_00144b70(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00144b70(int *param_1)" (identifier "FUN_00144b70") (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  double dVar3;\n  double dVar4;\n  double dVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  double *pdVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  double dVar24;\n  double dVar25;\n  int iVar26;\n  char cVar27;\n  int iVar28;\n  int iVar29;\n  int *piVar30;\n  double *pdVar31;\n  int iVar32;\n  int unaff_EBP;\n  int iVar33;\n  int iVar34;\n  int in_GS_OFFSET;\n  double local_8c;\n  int local_84;\n  int local_7c;\n  int local_70;\n  int local_28;\n  int local_24;\n  int local_20;\n  \n  FUN_00045159();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar9 = param_1[3];\n  iVar10 = param_1[2];\n  iVar11 = param_1[1];\n  iVar12 = *param_1;\n  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);\n  local_70 = local_28;\n  iVar26 = local_24;\n  do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "double dVar2;" (primitive_type "double") (identifier "dVar2") (; ";")) (declaration "double dVar3;" (primitive_type "double") (identifier "dVar3") (; ";")) (declaration "double dVar4;" (primitive_type "double") (identifier "dVar4") (; ";")) (declaration "double dVar5;" (primitive_type "double") (identifier "dVar5") (; ";")) (declaration "double dVar6;" (primitive_type "double") (identifier "dVar6") (; ";")) (declaration "double dVar7;" (primitive_type "double") (identifier "dVar7") (; ";")) (declaration "double dVar8;" (primitive_type "double") (identifier "dVar8") (; ";")) (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 "double *pdVar15;" (primitive_type "double") (pointer_declarator "*pdVar15" (* "*") (identifier "pdVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "double dVar24;" (primitive_type "double") (identifier "dVar24") (; ";")) (declaration "double dVar25;" (primitive_type "double") (identifier "dVar25") (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "char cVar27;" (primitive_type "char") (identifier "cVar27") (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "int *piVar30;" (primitive_type "int") (pointer_declarator "*piVar30" (* "*") (identifier "piVar30")) (; ";")) (declaration "double *pdVar31;" (primitive_type "double") (pointer_declarator "*pdVar31" (* "*") (identifier "pdVar31")) (; ";")) (declaration "int iVar32;" (primitive_type "int") (identifier "iVar32") (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "int iVar33;" (primitive_type "int") (identifier "iVar33") (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "double local_8c;" (primitive_type "double") (identifier "local_8c") (; ";")) (declaration "int local_84;" (primitive_type "int") (identifier "local_84") (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "FUN_00045159();" (call_expression "FUN_00045159()" (identifier "FUN_00045159") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar9 = param_1[3];" (assignment_expression "iVar9 = param_1[3]" (identifier "iVar9") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar10 = param_1[2];" (assignment_expression "iVar10 = param_1[2]" (identifier "iVar10") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar11 = param_1[1];" (assignment_expression "iVar11 = param_1[1]" (identifier "iVar11") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar12 = *param_1;" (assignment_expression "iVar12 = *param_1" (identifier "iVar12") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);" (assignment_expression "cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" (identifier "cVar27") (= "=") (call_expression "GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" (identifier "GOMP_loop_dynamic_start") (argument_list "(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24)" (( "(") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(iVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x1c)" (( "(") (binary_expression "iVar12 + 0x1c" (identifier "iVar12") (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")")))) (; ";")) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" (identifier "local_70") (= "=") (identifier "local_28")) (; ";")) (expression_statement "iVar26 = local_24;" (assignment_expression "iVar26 = local_24" (identifier "iVar26") (= "=") (identifier "local_24")) (; ";")) (do_statement "do {\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  } while( true );" (do "do") (compound_statement "{\n    local_28 = local_70;\n    local_24 = iVar26;\n    if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }\n    do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);\n    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);\n    local_70 = local_28;\n    iVar26 = local_24;\n  }" ({ "{") (expression_statement "local_28 = local_70;" (assignment_expression "local_28 = local_70" (identifier "local_28") (= "=") (identifier "local_70")) (; ";")) (expression_statement "local_24 = iVar26;" (assignment_expression "local_24 = iVar26" (identifier "local_24") (= "=") (identifier "iVar26")) (; ";")) (if_statement "if (cVar27 == '\0') {\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }" (if "if") (parenthesized_expression "(cVar27 == '\0')" (( "(") (binary_expression "cVar27 == '\0'" (identifier "cVar27") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      GOMP_loop_end_nowait();\n      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }\n      return;\n    }" ({ "{") (expression_statement "GOMP_loop_end_nowait();" (call_expression "GOMP_loop_end_nowait()" (identifier "GOMP_loop_end_nowait") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n        FUN_002decd0();\n      }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n        FUN_002decd0();\n      }" ({ "{") (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" (identifier "FUN_002decd0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (do_statement "do {\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    } while (local_70 < iVar26);" (do "do") (compound_statement "{\n      iVar28 = omp_get_thread_num();\n      if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }\nLAB_00144f9d:\n      local_70 = local_70 + 1;\n    }" ({ "{") (expression_statement "iVar28 = omp_get_thread_num();" (assignment_expression "iVar28 = omp_get_thread_num()" (identifier "iVar28") (= "=") (call_expression "omp_get_thread_num()" (identifier "omp_get_thread_num") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (param_1[4] != 0) {\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }" (if "if") (parenthesized_expression "(param_1[4] != 0)" (( "(") (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);\n        if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }\n        param_1[4] = 0;\n      }" ({ "{") (expression_statement "iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);" (assignment_expression "iVar29 = GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" (identifier "iVar29") (= "=") (call_expression "GetCacheViewAuthenticPixels\n                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" (identifier "GetCacheViewAuthenticPixels") (argument_list "(iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11)" (( "(") (identifier "iVar10") (, ",") (number_literal "0") (, ",") (identifier "local_70") (, ",") (pointer_expression "*(undefined4 *)(iVar12 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x18)" (( "(") (binary_expression "iVar12 + 0x18" (identifier "iVar12") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "iVar11") () ")")))) (; ";")) (if_statement "if (iVar29 != 0) {\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }" (if "if") (parenthesized_expression "(iVar29 != 0)" (( "(") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar13 = *(int *)(iVar12 + 0x18);\n          if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }\n          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);\n          if (iVar28 != 0) goto LAB_00144f9d;\n        }" ({ "{") (expression_statement "iVar13 = *(int *)(iVar12 + 0x18);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x18)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar12 + 0x18)" (* "*") (cast_expression "(int *)(iVar12 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x18)" (( "(") (binary_expression "iVar12 + 0x18" (identifier "iVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (0 < iVar13) {\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }" (if "if") (parenthesized_expression "(0 < iVar13)" (( "(") (binary_expression "0 < iVar13" (number_literal "0") (< "<") (identifier "iVar13")) () ")")) (compound_statement "{\n            local_7c = 0;\n            dVar1 = *(double *)(unaff_EBP + 0x19a76a);\n            iVar14 = *(int *)(iVar12 + 4);\n            pdVar15 = *(double **)(iVar9 + iVar28 * 4);\n            iVar28 = *(int *)(iVar12 + 0x28);\n            iVar16 = *(int *)(iVar12 + 0x294);\n            iVar17 = *(int *)(iVar12 + 0x24);\n            iVar18 = *(int *)(iVar12 + 0x2a8);\n            iVar19 = *(int *)(iVar12 + 0x298);\n            iVar20 = *(int *)(iVar18 + 0x40);\n            iVar21 = *(int *)(iVar28 + 8);\n            iVar22 = *(int *)(iVar18 + 8);\n            iVar33 = *(int *)(iVar18 + 0x14) * 8;\n            iVar34 = *(int *)(iVar18 + 0x20) * 8;\n            do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);\n          }" ({ "{") (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar1 = *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar1 = *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)(iVar12 + 4);" (assignment_expression "iVar14 = *(int *)(iVar12 + 4)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar12 + 4)" (* "*") (cast_expression "(int *)(iVar12 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pdVar15 = *(double **)(iVar9 + iVar28 * 4);" (assignment_expression "pdVar15 = *(double **)(iVar9 + iVar28 * 4)" (identifier "pdVar15") (= "=") (pointer_expression "*(double **)(iVar9 + iVar28 * 4)" (* "*") (cast_expression "(double **)(iVar9 + iVar28 * 4)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + iVar28 * 4)" (( "(") (binary_expression "iVar9 + iVar28 * 4" (identifier "iVar9") (+ "+") (binary_expression "iVar28 * 4" (identifier "iVar28") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar12 + 0x28);" (assignment_expression "iVar28 = *(int *)(iVar12 + 0x28)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar12 + 0x28)" (* "*") (cast_expression "(int *)(iVar12 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x28)" (( "(") (binary_expression "iVar12 + 0x28" (identifier "iVar12") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar12 + 0x294);" (assignment_expression "iVar16 = *(int *)(iVar12 + 0x294)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar12 + 0x294)" (* "*") (cast_expression "(int *)(iVar12 + 0x294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x294)" (( "(") (binary_expression "iVar12 + 0x294" (identifier "iVar12") (+ "+") (number_literal "0x294")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar12 + 0x24);" (assignment_expression "iVar17 = *(int *)(iVar12 + 0x24)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar12 + 0x24)" (* "*") (cast_expression "(int *)(iVar12 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x24)" (( "(") (binary_expression "iVar12 + 0x24" (identifier "iVar12") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "iVar18 = *(int *)(iVar12 + 0x2a8);" (assignment_expression "iVar18 = *(int *)(iVar12 + 0x2a8)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(iVar12 + 0x2a8)" (* "*") (cast_expression "(int *)(iVar12 + 0x2a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x2a8)" (( "(") (binary_expression "iVar12 + 0x2a8" (identifier "iVar12") (+ "+") (number_literal "0x2a8")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(iVar12 + 0x298);" (assignment_expression "iVar19 = *(int *)(iVar12 + 0x298)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar12 + 0x298)" (* "*") (cast_expression "(int *)(iVar12 + 0x298)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x298)" (( "(") (binary_expression "iVar12 + 0x298" (identifier "iVar12") (+ "+") (number_literal "0x298")) () ")"))))) (; ";")) (expression_statement "iVar20 = *(int *)(iVar18 + 0x40);" (assignment_expression "iVar20 = *(int *)(iVar18 + 0x40)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar18 + 0x40)" (* "*") (cast_expression "(int *)(iVar18 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x40)" (( "(") (binary_expression "iVar18 + 0x40" (identifier "iVar18") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "iVar21 = *(int *)(iVar28 + 8);" (assignment_expression "iVar21 = *(int *)(iVar28 + 8)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar28 + 8)" (* "*") (cast_expression "(int *)(iVar28 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 8)" (( "(") (binary_expression "iVar28 + 8" (identifier "iVar28") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar22 = *(int *)(iVar18 + 8);" (assignment_expression "iVar22 = *(int *)(iVar18 + 8)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(iVar18 + 8)" (* "*") (cast_expression "(int *)(iVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 8)" (( "(") (binary_expression "iVar18 + 8" (identifier "iVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar33 = *(int *)(iVar18 + 0x14) * 8;" (assignment_expression "iVar33 = *(int *)(iVar18 + 0x14) * 8" (identifier "iVar33") (= "=") (binary_expression "*(int *)(iVar18 + 0x14) * 8" (pointer_expression "*(int *)(iVar18 + 0x14)" (* "*") (cast_expression "(int *)(iVar18 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x14)" (( "(") (binary_expression "iVar18 + 0x14" (identifier "iVar18") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) (; ";")) (expression_statement "iVar34 = *(int *)(iVar18 + 0x20) * 8;" (assignment_expression "iVar34 = *(int *)(iVar18 + 0x20) * 8" (identifier "iVar34") (= "=") (binary_expression "*(int *)(iVar18 + 0x20) * 8" (pointer_expression "*(int *)(iVar18 + 0x20)" (* "*") (cast_expression "(int *)(iVar18 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x20)" (( "(") (binary_expression "iVar18 + 0x20" (identifier "iVar18") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) (; ";")) (do_statement "do {\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            } while (local_7c != iVar13);" (do "do") (compound_statement "{\n              if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }\nLAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);\n              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }\n              dVar3 = *(double *)(iVar29 + iVar33);\n              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar4 = *(double *)(iVar29 + iVar34);\n              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);\n              dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;\n              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }\n              dVar5 = *(double *)(unaff_EBP + 0x19a76a);\n              *pdVar31 = *pdVar31 + dVar2 * dVar5;\n              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];\n              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];\n              if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }\n              if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }\n              pdVar31[5] = pdVar31[5] + 1.0;\n              pdVar31[6] = dVar8 + pdVar31[6];\n              if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }\n              local_7c = local_7c + 1;\n              iVar29 = iVar29 + iVar19 * 8;\n            }" ({ "{") (if_statement "if (iVar16 == 0) {\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }\n              else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }\n                dVar6 = 0.0;\n                dVar8 = 1.0;\n              }" ({ "{") (if_statement "if (iVar21 != 0) {\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }" (if "if") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar8 = 1.0;\n                  goto LAB_001451a1;\n                }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x34) != 0" (pointer_expression "*(int *)(iVar18 + 0x34)" (* "*") (cast_expression "(int *)(iVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x34)" (( "(") (binary_expression "iVar18 + 0x34" (identifier "iVar18") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00145170;" (goto "goto") (statement_identifier "LAB_00145170") (; ";"))) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(iVar28 + 0x40)" (* "*") (cast_expression "(double *)(iVar28 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x40)" (( "(") (binary_expression "iVar28 + 0x40" (identifier "iVar28") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar6") (= "=") (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *\n                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (identifier "dVar2")) () ")")) (* "*") (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2)" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (identifier "dVar2")) () ")"))) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";")) (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" (identifier "dVar8") (= "=") (number_literal "1.0")) (; ";")) (goto_statement "goto LAB_001451a1;" (goto "goto") (statement_identifier "LAB_001451a1") (; ";")) (} "}"))) (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" (identifier "dVar6") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" (identifier "dVar8") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" (else "else") (compound_statement "{\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }\n                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\nLAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n              }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }\n                else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" (* "*") (cast_expression "(int *)(iVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x34)" (( "(") (binary_expression "iVar18 + 0x34" (identifier "iVar18") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }\n                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);\n                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                }" ({ "{") (if_statement "if (iVar21 == 0) {\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    goto LAB_00145141;\n                  }" ({ "{") (expression_statement "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar8") (= "=") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) (; ";")) (goto_statement "goto LAB_00145141;" (goto "goto") (statement_identifier "LAB_00145141") (; ";")) (} "}"))) (expression_statement "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar8") (= "=") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) (; ";")) (expression_statement "dVar2 = dVar8 - *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = dVar8 - *(double *)(iVar28 + 0x40)" (identifier "dVar2") (= "=") (binary_expression "dVar8 - *(double *)(iVar28 + 0x40)" (identifier "dVar8") (- "-") (pointer_expression "*(double *)(iVar28 + 0x40)" (* "*") (cast_expression "(double *)(iVar28 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x40)" (( "(") (binary_expression "iVar28 + 0x40" (identifier "iVar28") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (expression_statement "dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar6") (= "=") (binary_expression "dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "dVar2 * dVar2" (identifier "dVar2") (* "*") (identifier "dVar2")) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";")) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(iVar28 + 0x40)" (* "*") (cast_expression "(double *)(iVar28 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x40)" (( "(") (binary_expression "iVar28 + 0x40" (identifier "iVar28") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" (else "else") (compound_statement "{\nLAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                  if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }\n                  dVar2 = *(double *)(iVar28 + 0x40);\n                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                  if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }\n                }" ({ "{") (labeled_statement "LAB_00145170:\n                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (statement_identifier "LAB_00145170") (: ":") (expression_statement "dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (identifier "dVar8") (= "=") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" (* "*") (cast_expression "(int *)(iVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x38)" (( "(") (binary_expression "iVar18 + 0x38" (identifier "iVar18") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (if_statement "if (iVar21 == 0) {\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                    if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }\n                    goto LAB_00144d08;\n                  }" ({ "{") (labeled_statement "LAB_00145141:\n                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (statement_identifier "LAB_00145141") (: ":") (expression_statement "dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar6") (= "=") (binary_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (parenthesized_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (( "(") (binary_expression "dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar8") (- "-") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) () ")")) (* "*") (parenthesized_expression "(dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (( "(") (binary_expression "dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar8") (- "-") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) () ")"))) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";"))) (if_statement "if (iVar16 == 0) {\n                      dVar8 = 1.0;\n                    }\n                    else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      dVar8 = 1.0;\n                    }" ({ "{") (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" (identifier "dVar8") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" (else "else") (compound_statement "{\n                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);\n                    }" ({ "{") (expression_statement "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar8") (= "=") (binary_expression "dVar8 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar8") (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (} "}")))) (goto_statement "goto LAB_00144d08;" (goto "goto") (statement_identifier "LAB_00144d08") (; ";")) (} "}"))) (expression_statement "dVar2 = *(double *)(iVar28 + 0x40);" (assignment_expression "dVar2 = *(double *)(iVar28 + 0x40)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(iVar28 + 0x40)" (* "*") (cast_expression "(double *)(iVar28 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x40)" (( "(") (binary_expression "iVar28 + 0x40" (identifier "iVar28") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar6") (= "=") (binary_expression "(dVar8 - dVar2) * (dVar8 - dVar2) +\n                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar8 - dVar2) * (dVar8 - dVar2)" (parenthesized_expression "(dVar8 - dVar2)" (( "(") (binary_expression "dVar8 - dVar2" (identifier "dVar8") (- "-") (identifier "dVar2")) () ")")) (* "*") (parenthesized_expression "(dVar8 - dVar2)" (( "(") (binary_expression "dVar8 - dVar2" (identifier "dVar8") (- "-") (identifier "dVar2")) () ")"))) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";")) (if_statement "if (iVar16 == 0) {\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    dVar8 = 1.0;\n                    goto LAB_001451a1;\n                  }" ({ "{") (expression_statement "dVar8 = 1.0;" (assignment_expression "dVar8 = 1.0" (identifier "dVar8") (= "=") (number_literal "1.0")) (; ";")) (goto_statement "goto LAB_001451a1;" (goto "goto") (statement_identifier "LAB_001451a1") (; ";")) (} "}"))) (} "}")))) (expression_statement "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar8") (= "=") (binary_expression "dVar8 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar8") (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (labeled_statement "LAB_001451a1:\n                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;" (statement_identifier "LAB_001451a1") (: ":") (expression_statement "dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;" (assignment_expression "dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8" (identifier "dVar8") (= "=") (binary_expression "dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8" (binary_expression "dVar2 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar2") (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")"))))) (* "*") (identifier "dVar8"))) (; ";"))) (} "}")))) (labeled_statement "LAB_00144d08:\n              dVar2 = *(double *)(iVar29 + iVar22 * 8);" (statement_identifier "LAB_00144d08") (: ":") (expression_statement "dVar2 = *(double *)(iVar29 + iVar22 * 8);" (assignment_expression "dVar2 = *(double *)(iVar29 + iVar22 * 8)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(iVar29 + iVar22 * 8)" (* "*") (cast_expression "(double *)(iVar29 + iVar22 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar22 * 8)" (( "(") (binary_expression "iVar29 + iVar22 * 8" (identifier "iVar29") (+ "+") (binary_expression "iVar22 * 8" (identifier "iVar22") (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (expression_statement "dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar5") (= "=") (binary_expression "(dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar2 - *(double *)(iVar28 + 0x20))" (( "(") (binary_expression "dVar2 - *(double *)(iVar28 + 0x20)" (identifier "dVar2") (- "-") (pointer_expression "*(double *)(iVar28 + 0x20)" (* "*") (cast_expression "(double *)(iVar28 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x20)" (( "(") (binary_expression "iVar28 + 0x20" (identifier "iVar28") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (if_statement "if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }\n              else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" (if "if") (parenthesized_expression "(iVar14 == 2)" (( "(") (binary_expression "iVar14 == 2" (identifier "iVar14") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }\n                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar24 = dVar8 * dVar3;\n                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);\n                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);\n              }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }\n                else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" (* "*") (cast_expression "(int *)(iVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x28)" (( "(") (binary_expression "iVar18 + 0x28" (identifier "iVar18") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  dVar3 = 0.0;\n                  dVar4 = dVar8;\n                }" ({ "{") (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" (identifier "dVar3") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "dVar4 = dVar8;" (assignment_expression "dVar4 = dVar8" (identifier "dVar4") (= "=") (identifier "dVar8")) (; ";")) (} "}")) (else_clause "else {\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" (else "else") (compound_statement "{\n                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;\n                }" ({ "{") (expression_statement "dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (identifier "dVar3") (= "=") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" (* "*") (cast_expression "(int *)(iVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x2c)" (( "(") (binary_expression "iVar18 + 0x2c" (identifier "iVar18") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;" (assignment_expression "dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8" (identifier "dVar4") (= "=") (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a) * dVar8" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *\n                          *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3)" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (identifier "dVar3")) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")"))))) (* "*") (identifier "dVar8"))) (; ";")) (} "}")))) (expression_statement "dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar3") (= "=") (binary_expression "(dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(iVar28 + 0x38))" (( "(") (binary_expression "dVar3 - *(double *)(iVar28 + 0x38)" (identifier "dVar3") (- "-") (pointer_expression "*(double *)(iVar28 + 0x38)" (* "*") (cast_expression "(double *)(iVar28 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x38)" (( "(") (binary_expression "iVar28 + 0x38" (identifier "iVar28") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (expression_statement "dVar24 = dVar8 * dVar3;" (assignment_expression "dVar24 = dVar8 * dVar3" (identifier "dVar24") (= "=") (binary_expression "dVar8 * dVar3" (identifier "dVar8") (* "*") (identifier "dVar3"))) (; ";")) (expression_statement "dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar8") (= "=") (binary_expression "dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a)" (binary_expression "dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38))" (identifier "dVar4") (* "*") (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38))" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                                *(double *)(iVar28 + 0x38)" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (pointer_expression "*(double *)(iVar28 + 0x38)" (* "*") (cast_expression "(double *)(iVar28 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x38)" (( "(") (binary_expression "iVar28 + 0x38" (identifier "iVar28") (+ "+") (number_literal "0x38")) () ")"))))) () ")"))) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (expression_statement "dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162)" (identifier "dVar6") (= "=") (binary_expression "(dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162)" (parenthesized_expression "(dVar6 + dVar24 * dVar3)" (( "(") (binary_expression "dVar6 + dVar24 * dVar3" (identifier "dVar6") (+ "+") (binary_expression "dVar24 * dVar3" (identifier "dVar24") (* "*") (identifier "dVar3"))) () ")")) (* "*") (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1a5162)" (( "(") (binary_expression "unaff_EBP + 0x1a5162" (identifier "unaff_EBP") (+ "+") (number_literal "0x1a5162")) () ")"))))))) (; ";")) (} "}")) (else_clause "else {\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" (else "else") (compound_statement "{\n                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }\n              }" ({ "{") (expression_statement "dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162)" (identifier "dVar6") (= "=") (binary_expression "dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162)" (identifier "dVar6") (* "*") (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1a5162)" (( "(") (binary_expression "unaff_EBP + 0x1a5162" (identifier "unaff_EBP") (+ "+") (number_literal "0x1a5162")) () ")"))))))) (; ";")) (if_statement "if (iVar14 - 4U < 6) {\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }" (if "if") (parenthesized_expression "(iVar14 - 4U < 6)" (( "(") (binary_expression "iVar14 - 4U < 6" (binary_expression "iVar14 - 4U" (identifier "iVar14") (- "-") (number_literal "4U")) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }\n                  dVar5 = dVar5 + dVar5;\n                }" ({ "{") (if_statement "if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }" (if "if") (parenthesized_expression "((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5))" (( "(") (binary_expression "(double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)" (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a742)" (( "(") (binary_expression "unaff_EBP + 0x19a742" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a742")) () ")"))))) (< "<") (call_expression "ABS(dVar5)" (identifier "ABS") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) () ")")) (compound_statement "{\n                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                  }" ({ "{") (expression_statement "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);" (assignment_expression "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" (identifier "dVar5") (= "=") (binary_expression "dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" (identifier "dVar5") (- "-") (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a742)" (( "(") (binary_expression "unaff_EBP + 0x19a742" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a742")) () ")"))))))) (; ";")) (} "}"))) (expression_statement "dVar5 = dVar5 + dVar5;" (assignment_expression "dVar5 = dVar5 + dVar5" (identifier "dVar5") (= "=") (binary_expression "dVar5 + dVar5" (identifier "dVar5") (+ "+") (identifier "dVar5"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "dVar3 = *(double *)(iVar29 + iVar33);" (assignment_expression "dVar3 = *(double *)(iVar29 + iVar33)" (identifier "dVar3") (= "=") (pointer_expression "*(double *)(iVar29 + iVar33)" (* "*") (cast_expression "(double *)(iVar29 + iVar33)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar33)" (( "(") (binary_expression "iVar29 + iVar33" (identifier "iVar29") (+ "+") (identifier "iVar33")) () ")"))))) (; ";")) (expression_statement "dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar7") (= "=") (binary_expression "(dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(iVar28 + 0x28))" (( "(") (binary_expression "dVar3 - *(double *)(iVar28 + 0x28)" (identifier "dVar3") (- "-") (pointer_expression "*(double *)(iVar28 + 0x28)" (* "*") (cast_expression "(double *)(iVar28 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x28)" (( "(") (binary_expression "iVar28 + 0x28" (identifier "iVar28") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (expression_statement "dVar4 = *(double *)(iVar29 + iVar34);" (assignment_expression "dVar4 = *(double *)(iVar29 + iVar34)" (identifier "dVar4") (= "=") (pointer_expression "*(double *)(iVar29 + iVar34)" (* "*") (cast_expression "(double *)(iVar29 + iVar34)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar34)" (( "(") (binary_expression "iVar29 + iVar34" (identifier "iVar29") (+ "+") (identifier "iVar34")) () ")"))))) (; ";")) (expression_statement "dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar24") (= "=") (binary_expression "(dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar4 - *(double *)(iVar28 + 0x30))" (( "(") (binary_expression "dVar4 - *(double *)(iVar28 + 0x30)" (identifier "dVar4") (- "-") (pointer_expression "*(double *)(iVar28 + 0x30)" (* "*") (cast_expression "(double *)(iVar28 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x30)" (( "(") (binary_expression "iVar28 + 0x30" (identifier "iVar28") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (expression_statement "dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;" (assignment_expression "dVar8 = dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6" (identifier "dVar8") (= "=") (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6" (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5" (binary_expression "dVar24 * dVar8 * dVar24 +\n                      dVar8 * dVar7 * dVar7" (binary_expression "dVar24 * dVar8 * dVar24" (binary_expression "dVar24 * dVar8" (identifier "dVar24") (* "*") (identifier "dVar8")) (* "*") (identifier "dVar24")) (+ "+") (binary_expression "dVar8 * dVar7 * dVar7" (binary_expression "dVar8 * dVar7" (identifier "dVar8") (* "*") (identifier "dVar7")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "dVar8 * dVar5 * dVar5" (binary_expression "dVar8 * dVar5" (identifier "dVar8") (* "*") (identifier "dVar5")) (* "*") (identifier "dVar5"))) (+ "+") (identifier "dVar6"))) (; ";")) (if_statement "if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }\n              else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" (if "if") (parenthesized_expression "((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a)))" (( "(") (binary_expression "(iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))" (parenthesized_expression "(iVar17 < 2)" (( "(") (binary_expression "iVar17 < 2" (identifier "iVar17") (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(dVar8 <= *(double *)(unaff_EBP + 0x19a75a))" (( "(") (binary_expression "dVar8 <= *(double *)(unaff_EBP + 0x19a75a)" (identifier "dVar8") (<= "<=") (pointer_expression "*(double *)(unaff_EBP + 0x19a75a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a75a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a75a)" (( "(") (binary_expression "unaff_EBP + 0x19a75a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a75a")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n                dVar6 = 0.0;\n                pdVar31 = pdVar15;\n              }" ({ "{") (expression_statement "dVar6 = 0.0;" (assignment_expression "dVar6 = 0.0" (identifier "dVar6") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "pdVar31 = pdVar15;" (assignment_expression "pdVar31 = pdVar15" (identifier "pdVar31") (= "=") (identifier "pdVar15")) (; ";")) (} "}")) (else_clause "else {\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" (else "else") (compound_statement "{\n                piVar30 = (int *)(iVar28 + 0x58);\n                iVar32 = 1;\n                local_84 = 0;\n                do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));\n                dVar6 = (double)local_84;\n                pdVar31 = pdVar15 + local_84 * 7;\n              }" ({ "{") (expression_statement "piVar30 = (int *)(iVar28 + 0x58);" (assignment_expression "piVar30 = (int *)(iVar28 + 0x58)" (identifier "piVar30") (= "=") (cast_expression "(int *)(iVar28 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 0x58)" (( "(") (binary_expression "iVar28 + 0x58" (identifier "iVar28") (+ "+") (number_literal "0x58")) () ")")))) (; ";")) (expression_statement "iVar32 = 1;" (assignment_expression "iVar32 = 1" (identifier "iVar32") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                } while ((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));" (do "do") (compound_statement "{\n                  iVar23 = *piVar30;\n                  if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }\nLAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);\n                  if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }\n                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);\n                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;\n                  if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }\n                  iVar32 = iVar32 + 1;\n                }" ({ "{") (expression_statement "iVar23 = *piVar30;" (assignment_expression "iVar23 = *piVar30" (identifier "iVar23") (= "=") (pointer_expression "*piVar30" (* "*") (identifier "piVar30"))) (; ";")) (if_statement "if (iVar16 == 0) {\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }\n                  else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                  }" ({ "{") (if_statement "if (iVar23 == 0) {\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }\n                    else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" (if "if") (parenthesized_expression "(iVar23 == 0)" (( "(") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      dVar6 = 1.0;\n                      dVar24 = 0.0;\n                    }" ({ "{") (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" (identifier "dVar6") (= "=") (number_literal "1.0")) (; ";")) (expression_statement "dVar24 = 0.0;" (assignment_expression "dVar24 = 0.0" (identifier "dVar24") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" (else "else") (compound_statement "{\n                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;\n                      dVar5 = *(double *)(piVar30 + 0xe);\n                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      dVar6 = 1.0;\nLAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x34) != 0" (pointer_expression "*(int *)(iVar18 + 0x34)" (* "*") (cast_expression "(int *)(iVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x34)" (( "(") (binary_expression "iVar18 + 0x34" (identifier "iVar18") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00145048;" (goto "goto") (statement_identifier "LAB_00145048") (; ";"))) (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" (identifier "dVar5") (= "=") (pointer_expression "*(double *)(piVar30 + 0xe)" (* "*") (cast_expression "(double *)(piVar30 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 0xe)" (( "(") (binary_expression "piVar30 + 0xe" (identifier "piVar30") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar24") (= "=") (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *\n                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (identifier "dVar5")) () ")")) (* "*") (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5)" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (identifier "dVar5")) () ")"))) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";")) (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" (identifier "dVar6") (= "=") (number_literal "1.0")) (; ";")) (labeled_statement "LAB_00145038:\n                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;" (statement_identifier "LAB_00145038") (: ":") (expression_statement "dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;" (assignment_expression "dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6" (identifier "dVar6") (= "=") (binary_expression "dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6" (binary_expression "dVar5 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar5") (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")"))))) (* "*") (identifier "dVar6"))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" (else "else") (compound_statement "{\n                    if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }\n                    dVar6 = dVar6 * dVar1;\n                  }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }\n                    else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" (* "*") (cast_expression "(int *)(iVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x34)" (( "(") (binary_expression "iVar18 + 0x34" (identifier "iVar18") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }\n                      dVar24 = 0.0;\n                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                    }" ({ "{") (if_statement "if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }" (if "if") (parenthesized_expression "(iVar23 != 0)" (( "(") (binary_expression "iVar23 != 0" (identifier "iVar23") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        goto LAB_00145030;\n                      }" ({ "{") (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" (identifier "dVar5") (= "=") (pointer_expression "*(double *)(piVar30 + 0xe)" (* "*") (cast_expression "(double *)(piVar30 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 0xe)" (( "(") (binary_expression "piVar30 + 0xe" (identifier "piVar30") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar6") (= "=") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) (; ";")) (expression_statement "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar24") (= "=") (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5)" (parenthesized_expression "(dVar6 - dVar5)" (( "(") (binary_expression "dVar6 - dVar5" (identifier "dVar6") (- "-") (identifier "dVar5")) () ")")) (* "*") (parenthesized_expression "(dVar6 - dVar5)" (( "(") (binary_expression "dVar6 - dVar5" (identifier "dVar6") (- "-") (identifier "dVar5")) () ")"))) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";")) (goto_statement "goto LAB_00145030;" (goto "goto") (statement_identifier "LAB_00145030") (; ";")) (} "}"))) (expression_statement "dVar24 = 0.0;" (assignment_expression "dVar24 = 0.0" (identifier "dVar24") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);" (assignment_expression "dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar6") (= "=") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" (else "else") (compound_statement "{\nLAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                      if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }\n                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                      if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }\n                    }" ({ "{") (labeled_statement "LAB_00145048:\n                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (statement_identifier "LAB_00145048") (: ":") (expression_statement "dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (identifier "dVar6") (= "=") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" (* "*") (cast_expression "(int *)(iVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x38)" (( "(") (binary_expression "iVar18 + 0x38" (identifier "iVar18") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (if_statement "if (iVar23 != 0) {\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }" (if "if") (parenthesized_expression "(iVar23 != 0)" (( "(") (binary_expression "iVar23 != 0" (identifier "iVar23") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        dVar5 = *(double *)(piVar30 + 0xe);\n                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);\n                        if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }\nLAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);\n                        goto LAB_00145038;\n                      }" ({ "{") (expression_statement "dVar5 = *(double *)(piVar30 + 0xe);" (assignment_expression "dVar5 = *(double *)(piVar30 + 0xe)" (identifier "dVar5") (= "=") (pointer_expression "*(double *)(piVar30 + 0xe)" (* "*") (cast_expression "(double *)(piVar30 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 0xe)" (( "(") (binary_expression "piVar30 + 0xe" (identifier "piVar30") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar24") (= "=") (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5) +\n                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - dVar5) * (dVar6 - dVar5)" (parenthesized_expression "(dVar6 - dVar5)" (( "(") (binary_expression "dVar6 - dVar5" (identifier "dVar6") (- "-") (identifier "dVar5")) () ")")) (* "*") (parenthesized_expression "(dVar6 - dVar5)" (( "(") (binary_expression "dVar6 - dVar5" (identifier "dVar6") (- "-") (identifier "dVar5")) () ")"))) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";")) (if_statement "if (iVar16 == 0) {\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          dVar6 = 1.0;\n                          goto LAB_00145038;\n                        }" ({ "{") (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" (identifier "dVar6") (= "=") (number_literal "1.0")) (; ";")) (goto_statement "goto LAB_00145038;" (goto "goto") (statement_identifier "LAB_00145038") (; ";")) (} "}"))) (labeled_statement "LAB_00145030:\n                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);" (statement_identifier "LAB_00145030") (: ":") (expression_statement "dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar6") (= "=") (binary_expression "dVar6 * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar6") (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";"))) (goto_statement "goto LAB_00145038;" (goto "goto") (statement_identifier "LAB_00145038") (; ";")) (} "}"))) (expression_statement "dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);" (assignment_expression "dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (identifier "dVar24") (= "=") (binary_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +\n                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (binary_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *\n                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (parenthesized_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (( "(") (binary_expression "dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar6") (- "-") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) () ")")) (* "*") (parenthesized_expression "(dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP))" (( "(") (binary_expression "dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (identifier "dVar6") (- "-") (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")")))))) () ")"))) (+ "+") (cast_expression "(double)*(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad36 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad36 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad36 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad36 + unaff_EBP" (pointer_expression "&DAT_0019ad36" (& "&") (identifier "DAT_0019ad36")) (+ "+") (identifier "unaff_EBP")) () ")"))))))) (; ";")) (if_statement "if (iVar16 == 0) {\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        dVar6 = 1.0;\n                        goto LAB_00144dfb;\n                      }" ({ "{") (expression_statement "dVar6 = 1.0;" (assignment_expression "dVar6 = 1.0" (identifier "dVar6") (= "=") (number_literal "1.0")) (; ";")) (goto_statement "goto LAB_00144dfb;" (goto "goto") (statement_identifier "LAB_00144dfb") (; ";")) (} "}"))) (} "}")))) (expression_statement "dVar6 = dVar6 * dVar1;" (assignment_expression "dVar6 = dVar6 * dVar1" (identifier "dVar6") (= "=") (binary_expression "dVar6 * dVar1" (identifier "dVar6") (* "*") (identifier "dVar1"))) (; ";")) (} "}")))) (labeled_statement "LAB_00144dfb:\n                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);" (statement_identifier "LAB_00144dfb") (: ":") (expression_statement "dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar5") (= "=") (binary_expression "(dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar2 - *(double *)(piVar30 + 6))" (( "(") (binary_expression "dVar2 - *(double *)(piVar30 + 6)" (identifier "dVar2") (- "-") (pointer_expression "*(double *)(piVar30 + 6)" (* "*") (cast_expression "(double *)(piVar30 + 6)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 6)" (( "(") (binary_expression "piVar30 + 6" (identifier "piVar30") (+ "+") (number_literal "6")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";"))) (if_statement "if (iVar14 == 2) {\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }\n                  else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" (if "if") (parenthesized_expression "(iVar14 == 2)" (( "(") (binary_expression "iVar14 == 2" (identifier "iVar14") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                    if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }\n                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;\n                    dVar25 = dVar6 * dVar7;\n                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;\n                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);\n                  }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }\n                    else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" (* "*") (cast_expression "(int *)(iVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x28)" (( "(") (binary_expression "iVar18 + 0x28" (identifier "iVar18") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      dVar7 = 0.0;\n                      local_8c = dVar6;\n                    }" ({ "{") (expression_statement "dVar7 = 0.0;" (assignment_expression "dVar7 = 0.0" (identifier "dVar7") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "local_8c = dVar6;" (assignment_expression "local_8c = dVar6" (identifier "local_8c") (= "=") (identifier "dVar6")) (; ";")) (} "}")) (else_clause "else {\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" (else "else") (compound_statement "{\n                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;\n                    }" ({ "{") (expression_statement "dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (identifier "dVar7") (= "=") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" (* "*") (cast_expression "(int *)(iVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x2c)" (( "(") (binary_expression "iVar18 + 0x2c" (identifier "iVar18") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;" (assignment_expression "local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6" (identifier "local_8c") (= "=") (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *\n                                 *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7)" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (identifier "dVar7")) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")"))))) (* "*") (identifier "dVar6"))) (; ";")) (} "}")))) (expression_statement "dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)\n                    ;" (assignment_expression "dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar7") (= "=") (binary_expression "(dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar7 - *(double *)(piVar30 + 0xc))" (( "(") (binary_expression "dVar7 - *(double *)(piVar30 + 0xc)" (identifier "dVar7") (- "-") (pointer_expression "*(double *)(piVar30 + 0xc)" (* "*") (cast_expression "(double *)(piVar30 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 0xc)" (( "(") (binary_expression "piVar30 + 0xc" (identifier "piVar30") (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (expression_statement "dVar25 = dVar6 * dVar7;" (assignment_expression "dVar25 = dVar6 * dVar7" (identifier "dVar25") (= "=") (binary_expression "dVar6 * dVar7" (identifier "dVar6") (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c;" (assignment_expression "dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c" (identifier "dVar6") (= "=") (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *\n                            local_8c" (binary_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc))" (( "(") (binary_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP) -\n                            *(double *)(piVar30 + 0xc)" (cast_expression "(double)*(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(&DAT_0019ad32 + unaff_EBP)" (* "*") (cast_expression "(float *)(&DAT_0019ad32 + unaff_EBP)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0019ad32 + unaff_EBP)" (( "(") (binary_expression "&DAT_0019ad32 + unaff_EBP" (pointer_expression "&DAT_0019ad32" (& "&") (identifier "DAT_0019ad32")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (- "-") (pointer_expression "*(double *)(piVar30 + 0xc)" (* "*") (cast_expression "(double *)(piVar30 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 0xc)" (( "(") (binary_expression "piVar30 + 0xc" (identifier "piVar30") (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")"))))) (* "*") (identifier "local_8c"))) (; ";")) (expression_statement "dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162)" (identifier "dVar24") (= "=") (binary_expression "(dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162)" (parenthesized_expression "(dVar24 + dVar25 * dVar7)" (( "(") (binary_expression "dVar24 + dVar25 * dVar7" (identifier "dVar24") (+ "+") (binary_expression "dVar25 * dVar7" (identifier "dVar25") (* "*") (identifier "dVar7"))) () ")")) (* "*") (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1a5162)" (( "(") (binary_expression "unaff_EBP + 0x1a5162" (identifier "unaff_EBP") (+ "+") (number_literal "0x1a5162")) () ")"))))))) (; ";")) (} "}")) (else_clause "else {\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" (else "else") (compound_statement "{\n                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);\n                    if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }\n                  }" ({ "{") (expression_statement "dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);" (assignment_expression "dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162)" (identifier "dVar24") (= "=") (binary_expression "dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162)" (identifier "dVar24") (* "*") (cast_expression "(double)*(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x1a5162)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x1a5162)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1a5162)" (( "(") (binary_expression "unaff_EBP + 0x1a5162" (identifier "unaff_EBP") (+ "+") (number_literal "0x1a5162")) () ")"))))))) (; ";")) (if_statement "if (iVar14 - 4U < 6) {\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }" (if "if") (parenthesized_expression "(iVar14 - 4U < 6)" (( "(") (binary_expression "iVar14 - 4U < 6" (binary_expression "iVar14 - 4U" (identifier "iVar14") (- "-") (number_literal "4U")) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }\n                      dVar5 = dVar5 + dVar5;\n                    }" ({ "{") (if_statement "if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }" (if "if") (parenthesized_expression "((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5))" (( "(") (binary_expression "(double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)" (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a742)" (( "(") (binary_expression "unaff_EBP + 0x19a742" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a742")) () ")"))))) (< "<") (call_expression "ABS(dVar5)" (identifier "ABS") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) () ")")) (compound_statement "{\n                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);\n                      }" ({ "{") (expression_statement "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);" (assignment_expression "dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" (identifier "dVar5") (= "=") (binary_expression "dVar5 - (double)*(float *)(unaff_EBP + 0x19a742)" (identifier "dVar5") (- "-") (cast_expression "(double)*(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_EBP + 0x19a742)" (* "*") (cast_expression "(float *)(unaff_EBP + 0x19a742)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a742)" (( "(") (binary_expression "unaff_EBP + 0x19a742" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a742")) () ")"))))))) (; ";")) (} "}"))) (expression_statement "dVar5 = dVar5 + dVar5;" (assignment_expression "dVar5 = dVar5 + dVar5" (identifier "dVar5") (= "=") (binary_expression "dVar5 + dVar5" (identifier "dVar5") (+ "+") (identifier "dVar5"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar7") (= "=") (binary_expression "(dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar3 - *(double *)(piVar30 + 8))" (( "(") (binary_expression "dVar3 - *(double *)(piVar30 + 8)" (identifier "dVar3") (- "-") (pointer_expression "*(double *)(piVar30 + 8)" (* "*") (cast_expression "(double *)(piVar30 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 8)" (( "(") (binary_expression "piVar30 + 8" (identifier "piVar30") (+ "+") (number_literal "8")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (expression_statement "dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar25") (= "=") (binary_expression "(dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a)" (parenthesized_expression "(dVar4 - *(double *)(piVar30 + 10))" (( "(") (binary_expression "dVar4 - *(double *)(piVar30 + 10)" (identifier "dVar4") (- "-") (pointer_expression "*(double *)(piVar30 + 10)" (* "*") (cast_expression "(double *)(piVar30 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar30 + 10)" (( "(") (binary_expression "piVar30 + 10" (identifier "piVar30") (+ "+") (number_literal "10")) () ")"))))) () ")")) (* "*") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))))) (; ";")) (expression_statement "dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25;" (assignment_expression "dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25" (identifier "dVar6") (= "=") (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +\n                          dVar25 * dVar6 * dVar25" (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24" (binary_expression "dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5" (binary_expression "dVar7 * dVar6 * dVar7" (binary_expression "dVar7 * dVar6" (identifier "dVar7") (* "*") (identifier "dVar6")) (* "*") (identifier "dVar7")) (+ "+") (binary_expression "dVar5 * dVar6 * dVar5" (binary_expression "dVar5 * dVar6" (identifier "dVar5") (* "*") (identifier "dVar6")) (* "*") (identifier "dVar5"))) (+ "+") (identifier "dVar24")) (+ "+") (binary_expression "dVar25 * dVar6 * dVar25" (binary_expression "dVar25 * dVar6" (identifier "dVar25") (* "*") (identifier "dVar6")) (* "*") (identifier "dVar25")))) (; ";")) (if_statement "if (dVar6 < dVar8) {\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }" (if "if") (parenthesized_expression "(dVar6 < dVar8)" (( "(") (binary_expression "dVar6 < dVar8" (identifier "dVar6") (< "<") (identifier "dVar8")) () ")")) (compound_statement "{\n                    dVar8 = dVar6;\n                    local_84 = iVar32;\n                  }" ({ "{") (expression_statement "dVar8 = dVar6;" (assignment_expression "dVar8 = dVar6" (identifier "dVar8") (= "=") (identifier "dVar6")) (; ";")) (expression_statement "local_84 = iVar32;" (assignment_expression "local_84 = iVar32" (identifier "local_84") (= "=") (identifier "iVar32")) (; ";")) (} "}"))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8))" (( "(") (binary_expression "(iVar32 != iVar17) &&\n                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8)" (parenthesized_expression "(iVar32 != iVar17)" (( "(") (binary_expression "iVar32 != iVar17" (identifier "iVar32") (!= "!=") (identifier "iVar17")) () ")")) (&& "&&") (parenthesized_expression "(piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8)" (( "(") (comma_expression "piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8" (assignment_expression "piVar30 = piVar30 + 0x14" (identifier "piVar30") (= "=") (binary_expression "piVar30 + 0x14" (identifier "piVar30") (+ "+") (number_literal "0x14"))) (, ",") (binary_expression "*(double *)(unaff_EBP + 0x19a75a) < dVar8" (pointer_expression "*(double *)(unaff_EBP + 0x19a75a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a75a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a75a)" (( "(") (binary_expression "unaff_EBP + 0x19a75a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a75a")) () ")")))) (< "<") (identifier "dVar8"))) () ")"))) () ")")) (; ";")) (expression_statement "dVar6 = (double)local_84;" (assignment_expression "dVar6 = (double)local_84" (identifier "dVar6") (= "=") (cast_expression "(double)local_84" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_84"))) (; ";")) (expression_statement "pdVar31 = pdVar15 + local_84 * 7;" (assignment_expression "pdVar31 = pdVar15 + local_84 * 7" (identifier "pdVar31") (= "=") (binary_expression "pdVar15 + local_84 * 7" (identifier "pdVar15") (+ "+") (binary_expression "local_84 * 7" (identifier "local_84") (* "*") (number_literal "7")))) (; ";")) (} "}")))) (expression_statement "dVar5 = *(double *)(unaff_EBP + 0x19a76a);" (assignment_expression "dVar5 = *(double *)(unaff_EBP + 0x19a76a)" (identifier "dVar5") (= "=") (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")"))))) (; ";")) (expression_statement "*pdVar31 = *pdVar31 + dVar2 * dVar5;" (assignment_expression "*pdVar31 = *pdVar31 + dVar2 * dVar5" (pointer_expression "*pdVar31" (* "*") (identifier "pdVar31")) (= "=") (binary_expression "*pdVar31 + dVar2 * dVar5" (pointer_expression "*pdVar31" (* "*") (identifier "pdVar31")) (+ "+") (binary_expression "dVar2 * dVar5" (identifier "dVar2") (* "*") (identifier "dVar5")))) (; ";")) (expression_statement "pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];" (assignment_expression "pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1]" (subscript_expression "pdVar31[1]" (identifier "pdVar31") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "*(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1]" (binary_expression "*(double *)(iVar29 + iVar33) * dVar5" (pointer_expression "*(double *)(iVar29 + iVar33)" (* "*") (cast_expression "(double *)(iVar29 + iVar33)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar33)" (( "(") (binary_expression "iVar29 + iVar33" (identifier "iVar29") (+ "+") (identifier "iVar33")) () ")")))) (* "*") (identifier "dVar5")) (+ "+") (subscript_expression "pdVar31[1]" (identifier "pdVar31") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];" (assignment_expression "pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2]" (subscript_expression "pdVar31[2]" (identifier "pdVar31") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "*(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2]" (binary_expression "*(double *)(iVar29 + iVar34) * dVar5" (pointer_expression "*(double *)(iVar29 + iVar34)" (* "*") (cast_expression "(double *)(iVar29 + iVar34)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar34)" (( "(") (binary_expression "iVar29 + iVar34" (identifier "iVar29") (+ "+") (identifier "iVar34")) () ")")))) (* "*") (identifier "dVar5")) (+ "+") (subscript_expression "pdVar31[2]" (identifier "pdVar31") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (iVar16 != 4) {\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }" (if "if") (parenthesized_expression "(iVar16 != 4)" (( "(") (binary_expression "iVar16 != 4" (identifier "iVar16") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }\n                pdVar31[3] = dVar5 + pdVar31[3];\n              }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x34) == 0) {\n                  dVar5 = 1.0;\n                }\n                else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x34) == 0" (pointer_expression "*(int *)(iVar18 + 0x34)" (* "*") (cast_expression "(int *)(iVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x34)" (( "(") (binary_expression "iVar18 + 0x34" (identifier "iVar18") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  dVar5 = 1.0;\n                }" ({ "{") (expression_statement "dVar5 = 1.0;" (assignment_expression "dVar5 = 1.0" (identifier "dVar5") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" (else "else") (compound_statement "{\n                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);\n                }" ({ "{") (expression_statement "dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);" (assignment_expression "dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (identifier "dVar5") (= "=") (binary_expression "dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (identifier "dVar5") (* "*") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x38) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar18 + 0x38) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar18 + 0x38) * 8" (pointer_expression "*(int *)(iVar18 + 0x38)" (* "*") (cast_expression "(int *)(iVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x38)" (( "(") (binary_expression "iVar18 + 0x38" (identifier "iVar18") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (} "}")))) (expression_statement "pdVar31[3] = dVar5 + pdVar31[3];" (assignment_expression "pdVar31[3] = dVar5 + pdVar31[3]" (subscript_expression "pdVar31[3]" (identifier "pdVar31") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "dVar5 + pdVar31[3]" (identifier "dVar5") (+ "+") (subscript_expression "pdVar31[3]" (identifier "pdVar31") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iVar14 == 2) {\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }" (if "if") (parenthesized_expression "(iVar14 == 2)" (( "(") (binary_expression "iVar14 == 2" (identifier "iVar14") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }\n                pdVar31[4] = dVar2 + pdVar31[4];\n              }" ({ "{") (if_statement "if (*(int *)(iVar18 + 0x28) == 0) {\n                  dVar2 = 0.0;\n                }\n                else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar18 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar18 + 0x28) == 0" (pointer_expression "*(int *)(iVar18 + 0x28)" (* "*") (cast_expression "(int *)(iVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x28)" (( "(") (binary_expression "iVar18 + 0x28" (identifier "iVar18") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  dVar2 = 0.0;\n                }" ({ "{") (expression_statement "dVar2 = 0.0;" (assignment_expression "dVar2 = 0.0" (identifier "dVar2") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" (else "else") (compound_statement "{\n                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);\n                }" ({ "{") (expression_statement "dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);" (assignment_expression "dVar2 = *(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (identifier "dVar2") (= "=") (binary_expression "*(double *)(unaff_EBP + 0x19a76a) *\n                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (pointer_expression "*(double *)(unaff_EBP + 0x19a76a)" (* "*") (cast_expression "(double *)(unaff_EBP + 0x19a76a)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x19a76a)" (( "(") (binary_expression "unaff_EBP + 0x19a76a" (identifier "unaff_EBP") (+ "+") (number_literal "0x19a76a")) () ")")))) (* "*") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x2c) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar18 + 0x2c) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar18 + 0x2c) * 8" (pointer_expression "*(int *)(iVar18 + 0x2c)" (* "*") (cast_expression "(int *)(iVar18 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x2c)" (( "(") (binary_expression "iVar18 + 0x2c" (identifier "iVar18") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (} "}")))) (expression_statement "pdVar31[4] = dVar2 + pdVar31[4];" (assignment_expression "pdVar31[4] = dVar2 + pdVar31[4]" (subscript_expression "pdVar31[4]" (identifier "pdVar31") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "dVar2 + pdVar31[4]" (identifier "dVar2") (+ "+") (subscript_expression "pdVar31[4]" (identifier "pdVar31") ([ "[") (number_literal "4") (] "]")))) (; ";")) (} "}"))) (expression_statement "pdVar31[5] = pdVar31[5] + 1.0;" (assignment_expression "pdVar31[5] = pdVar31[5] + 1.0" (subscript_expression "pdVar31[5]" (identifier "pdVar31") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "pdVar31[5] + 1.0" (subscript_expression "pdVar31[5]" (identifier "pdVar31") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "1.0"))) (; ";")) (expression_statement "pdVar31[6] = dVar8 + pdVar31[6];" (assignment_expression "pdVar31[6] = dVar8 + pdVar31[6]" (subscript_expression "pdVar31[6]" (identifier "pdVar31") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "dVar8 + pdVar31[6]" (identifier "dVar8") (+ "+") (subscript_expression "pdVar31[6]" (identifier "pdVar31") ([ "[") (number_literal "6") (] "]")))) (; ";")) (if_statement "if (iVar20 != 0) {\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;\n              }" ({ "{") (expression_statement "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;" (assignment_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6" (pointer_expression "*(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar18 + 0x44) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar18 + 0x44) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar18 + 0x44) * 8" (pointer_expression "*(int *)(iVar18 + 0x44)" (* "*") (cast_expression "(int *)(iVar18 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x44)" (( "(") (binary_expression "iVar18 + 0x44" (identifier "iVar18") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "dVar6")) (; ";")) (} "}"))) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" (identifier "local_7c") (= "=") (binary_expression "local_7c + 1" (identifier "local_7c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar29 = iVar29 + iVar19 * 8;" (assignment_expression "iVar29 = iVar29 + iVar19 * 8" (identifier "iVar29") (= "=") (binary_expression "iVar29 + iVar19 * 8" (identifier "iVar29") (+ "+") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_7c != iVar13)" (( "(") (binary_expression "local_7c != iVar13" (identifier "local_7c") (!= "!=") (identifier "iVar13")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);" (assignment_expression "iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11)" (identifier "iVar28") (= "=") (call_expression "SyncCacheViewAuthenticPixels(iVar10,iVar11)" (identifier "SyncCacheViewAuthenticPixels") (argument_list "(iVar10,iVar11)" (( "(") (identifier "iVar10") (, ",") (identifier "iVar11") () ")")))) (; ";")) (if_statement "if (iVar28 != 0) goto LAB_00144f9d;" (if "if") (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00144f9d;" (goto "goto") (statement_identifier "LAB_00144f9d") (; ";"))) (} "}"))) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (labeled_statement "LAB_00144f9d:\n      local_70 = local_70 + 1;" (statement_identifier "LAB_00144f9d") (: ":") (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" (identifier "local_70") (= "=") (binary_expression "local_70 + 1" (identifier "local_70") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_70 < iVar26)" (( "(") (binary_expression "local_70 < iVar26" (identifier "local_70") (< "<") (identifier "iVar26")) () ")")) (; ";")) (expression_statement "cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);" (assignment_expression "cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24)" (identifier "cVar27") (= "=") (call_expression "GOMP_loop_dynamic_next(&local_28,&local_24)" (identifier "GOMP_loop_dynamic_next") (argument_list "(&local_28,&local_24)" (( "(") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")")))) (; ";")) (expression_statement "local_70 = local_28;" (assignment_expression "local_70 = local_28" (identifier "local_70") (= "=") (identifier "local_28")) (; ";")) (expression_statement "iVar26 = local_24;" (assignment_expression "iVar26 = local_24" (identifier "iVar26") (= "=") (identifier "local_24")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* 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 */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* DWARF original prototype: void KmeansImage._omp_fn.0(anon_struct_20_5_617bb85c * param_0) */

void __thiscall function_1(type_1 *this)

{
  double var_14;
  double var_21;
  double var_20;
  double var_25;
  double var_15;
  double var_19;
  type_2 **ppKVar7;
  type_3 *cache_view;
  type_4 *exception;
  type_5 *pIVar8;
  size_t var_40;
  type_6 var_17;
  type_2 *var_33;
  type_7 *pPVar12;
  type_8 var_11;
  size_t var_32;
  type_9 *pPVar15;
  size_t var_39;
  type_8 var_37;
  type_8 var_13;
  int iVar19;
  int iVar20;
  type_8 var_27;
  double var_35;
  double var_22;
  int var_44;
  double var_29;
  char var_3;
  int iVar27;
  type_10 *var_10;
  type_8 *var_28;
  type_2 *pKVar30;
  type_11 var_42;
  size_t var_31;
  int var_1;
  double var_30;
  size_t var_34;
  size_t var_38;
  int var_43;
  int local_28;
  int local_24;
  int var_5;
  
  var_5 = *(int *)(var_1 + 0x14);
  ppKVar7 = this->kmeans_pixels;
  cache_view = this->image_view;
  exception = this->exception;
  pIVar8 = this->image;
  var_3 = var_2(0,pIVar8->rows,1,1,&local_28,&local_24);
  var_43 = local_28;
  var_44 = local_24;
  do {
    local_28 = var_43;
    local_24 = var_44;
    if (var_3 == '\0') {
      var_4();
      if (var_5 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
        var_6();
      }
      return;
    }
    do {
      iVar27 = var_7();
      if (this->status != var_8) {
        var_10 = var_9(cache_view,0,var_43,pIVar8->columns,1,exception);
        var_29 = var_16;
        if (var_10 != (type_10 *)0x0) {
          var_40 = pIVar8->columns;
          if (0 < (int)var_40) {
            var_38 = 0;
            var_17 = pIVar8->colorspace;
            var_33 = ppKVar7[iVar27];
            pPVar12 = pIVar8->colormap;
            var_11 = pIVar8->alpha_trait;
            var_32 = pIVar8->colors;
            pPVar15 = pIVar8->channel_map;
            var_39 = pIVar8->number_channels;
            var_37 = pPVar15[5].traits;
            var_13 = pPVar12->alpha_trait;
            iVar27 = pPVar15[1].offset;
            iVar19 = pPVar15->offset;
            iVar20 = pPVar15[2].offset;
            do {
              var_35 = var_16;
              if (var_11 == var_12) {
                if (var_13 != var_12) {
                  if (pPVar15[4].traits != var_12) goto LAB_00145170;
                  var_14 = pPVar12->alpha;
                  var_21 = ((double)DAT_002df8a8 - var_14) * ((double)DAT_002df8a8 - var_14) +
                          (double)DAT_002df8ac;
                  var_15 = 1.0;
                  goto LAB_001451a1;
                }
                var_21 = 0.0;
                var_15 = 1.0;
              }
              else {
                if (pPVar15[4].traits == var_12) {
                  if (var_13 == var_12) {
                    var_15 = (double)DAT_002df8a8;
                    goto LAB_00145141;
                  }
                  var_15 = (double)DAT_002df8a8;
                  var_14 = var_15 - pPVar12->alpha;
                  var_21 = var_14 * var_14 + (double)DAT_002df8ac;
                  var_14 = pPVar12->alpha;
                }
                else {
LAB_00145170:
                  var_15 = var_10[pPVar15[4].offset];
                  if (var_13 == var_12) {
LAB_00145141:
                    var_21 = (var_15 - (double)DAT_002df8a8) * (var_15 - (double)DAT_002df8a8) +
                            (double)DAT_002df8ac;
                    if (var_11 == var_12) {
                      var_15 = 1.0;
                    }
                    else {
                      var_15 = var_15 * var_16;
                    }
                    goto LAB_00144d08;
                  }
                  var_14 = pPVar12->alpha;
                  var_21 = (var_15 - var_14) * (var_15 - var_14) + (double)DAT_002df8ac;
                  if (var_11 == var_12) {
                    var_15 = 1.0;
                    goto LAB_001451a1;
                  }
                }
                var_15 = var_15 * var_16;
LAB_001451a1:
                var_15 = var_14 * var_16 * var_15;
              }
LAB_00144d08:
              var_14 = var_10[iVar19];
              var_25 = (var_14 - pPVar12->red) * var_16;
              if (var_17 == var_18) {
                if (pPVar15[3].traits == var_12) {
                  var_19 = 0.0;
                  var_20 = var_15;
                }
                else {
                  var_19 = var_10[pPVar15[3].offset];
                  var_20 = ((double)DAT_002df8a8 - var_19) * var_16 * var_15;
                }
                var_19 = (var_19 - pPVar12->black) * var_16;
                var_22 = var_15 * var_19;
                var_15 = var_20 * ((double)DAT_002df8a8 - pPVar12->black) * var_16;
                var_21 = (var_21 + var_22 * var_19) * (double)DAT_002e9cd8;
              }
              else {
                var_21 = var_21 * (double)DAT_002e9cd8;
                if (var_17 - var_23 < 6) {
                  if ((double)DAT_002df2b8 < var_24(var_25)) {
                    var_25 = var_25 - (double)DAT_002df2b8;
                  }
                  var_25 = var_25 + var_25;
                }
              }
              var_20 = (var_10[iVar27] - pPVar12->green) * var_16;
              var_19 = (var_10[iVar20] - pPVar12->blue) * var_16;
              var_15 = var_19 * var_15 * var_19 + var_15 * var_20 * var_20 + var_15 * var_25 * var_25 + var_21;
              if (((int)var_32 < 2) || (var_15 <= var_26)) {
                var_21 = 0.0;
                pKVar30 = var_33;
              }
              else {
                var_28 = &pPVar12[1].alpha_trait;
                var_31 = 1;
                var_34 = 0;
                do {
                  var_27 = *var_28;
                  if (var_11 == var_12) {
                    if (var_27 == var_12) {
                      var_21 = 1.0;
                      var_19 = 0.0;
                    }
                    else {
                      if (pPVar15[4].traits != var_12) goto LAB_00145048;
                      var_25 = *(double *)(var_28 + 0xe);
                      var_19 = ((double)DAT_002df8a8 - var_25) * ((double)DAT_002df8a8 - var_25) +
                              (double)DAT_002df8ac;
                      var_21 = 1.0;
LAB_00145038:
                      var_21 = var_25 * var_16 * var_21;
                    }
                  }
                  else {
                    if (pPVar15[4].traits == var_12) {
                      if (var_27 != var_12) {
                        var_25 = *(double *)(var_28 + 0xe);
                        var_21 = (double)DAT_002df8a8;
                        var_19 = (var_21 - var_25) * (var_21 - var_25) + (double)DAT_002df8ac;
                        goto LAB_00145030;
                      }
                      var_19 = 0.0;
                      var_21 = (double)DAT_002df8a8;
                    }
                    else {
LAB_00145048:
                      var_21 = var_10[pPVar15[4].offset];
                      if (var_27 != var_12) {
                        var_25 = *(double *)(var_28 + 0xe);
                        var_19 = (var_21 - var_25) * (var_21 - var_25) + (double)DAT_002df8ac;
                        if (var_11 == var_12) {
                          var_21 = 1.0;
                          goto LAB_00145038;
                        }
LAB_00145030:
                        var_21 = var_21 * var_16;
                        goto LAB_00145038;
                      }
                      var_19 = (var_21 - (double)DAT_002df8a8) * (var_21 - (double)DAT_002df8a8) +
                              (double)DAT_002df8ac;
                      if (var_11 == var_12) {
                        var_21 = 1.0;
                        goto LAB_00144dfb;
                      }
                    }
                    var_21 = var_21 * var_29;
                  }
LAB_00144dfb:
                  var_25 = (var_14 - *(double *)(var_28 + 6)) * var_16;
                  if (var_17 == var_18) {
                    if (pPVar15[3].traits == var_12) {
                      var_20 = 0.0;
                      var_30 = var_21;
                    }
                    else {
                      var_20 = var_10[pPVar15[3].offset];
                      var_30 = ((double)DAT_002df8a8 - var_20) * var_16 * var_21;
                    }
                    var_20 = (var_20 - *(double *)(var_28 + 0xc)) * var_16;
                    var_22 = var_21 * var_20;
                    var_21 = ((double)DAT_002df8a8 - *(double *)(var_28 + 0xc)) * var_16 *
                            var_30;
                    var_19 = (var_19 + var_22 * var_20) * (double)DAT_002e9cd8;
                  }
                  else {
                    var_19 = var_19 * (double)DAT_002e9cd8;
                    if (var_17 - var_23 < 6) {
                      if ((double)DAT_002df2b8 < var_24(var_25)) {
                        var_25 = var_25 - (double)DAT_002df2b8;
                      }
                      var_25 = var_25 + var_25;
                    }
                  }
                  var_20 = (var_10[iVar27] - *(double *)(var_28 + 8)) * var_16;
                  var_22 = (var_10[iVar20] - *(double *)(var_28 + 10)) * var_16;
                  var_21 = var_20 * var_21 * var_20 + var_25 * var_21 * var_25 + var_19 +
                          var_22 * var_21 * var_22;
                  if (var_21 < var_15) {
                    var_15 = var_21;
                    var_34 = var_31;
                  }
                  var_31 = var_31 + 1;
                } while ((var_31 != var_32) && (var_28 = var_28 + 0x14, var_26 < var_15));
                var_21 = (double)(int)var_34;
                pKVar30 = var_33 + var_34;
              }
              pKVar30->red = pKVar30->red + var_14 * var_16;
              pKVar30->green = var_10[iVar27] * var_35 + pKVar30->green;
              pKVar30->blue = var_10[iVar20] * var_35 + pKVar30->blue;
              if (var_11 != var_36) {
                if (pPVar15[4].traits == var_12) {
                  var_35 = 1.0;
                }
                else {
                  var_35 = var_35 * var_10[pPVar15[4].offset];
                }
                pKVar30->alpha = var_35 + pKVar30->alpha;
              }
              if (var_17 == var_18) {
                if (pPVar15[3].traits == var_12) {
                  var_35 = 0.0;
                }
                else {
                  var_35 = var_16 * var_10[pPVar15[3].offset];
                }
                pKVar30->black = var_35 + pKVar30->black;
              }
              pKVar30->count = pKVar30->count + 1.0;
              pKVar30->distortion = var_15 + pKVar30->distortion;
              if (var_37 != var_12) {
                var_10[pPVar15[5].offset] = var_21;
              }
              var_38 = var_38 + 1;
              var_10 = var_10 + var_39;
            } while (var_38 != var_40);
          }
          var_42 = var_41(cache_view,exception);
          if (var_42 != var_8) goto LAB_00144f9d;
        }
        this->status = var_8;
      }
LAB_00144f9d:
      var_43 = var_43 + 1;
    } while (var_43 < var_44);
    var_3 = var_45(&local_28,&local_24);
    var_43 = local_28;
    var_44 = local_24;
  } while( true );
}


(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: (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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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)) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal) (pointer_expression argument: (identifier)) (pointer_expression argument: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (return_statement))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_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: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))))))) (goto_statement label: (statement_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: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) 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: (identifier) right: (number_literal)))))) right: (identifier)))))))) (labeled_statement label: (statement_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: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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)))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (call_expression function: (identifier) arguments: (argument_list (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (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)))))))) (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: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (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: (identifier) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_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: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) 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: (identifier) right: (number_literal)))))) right: (identifier))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (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))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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)))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) 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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (call_expression function: (identifier) arguments: (argument_list (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (parenthesized_expression (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: (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (binary_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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (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: (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: (identifier))))) 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 (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal)))) alternative: (else_clause (compound_statement (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: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (true))))))

void MASKED(int *param_1)

{
  double dVar1;
  double dVar2;
  double dVar3;
  double dVar4;
  double dVar5;
  double dVar6;
  double dVar7;
  double dVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  double *pdVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  int iVar20;
  int iVar21;
  int iVar22;
  int iVar23;
  double dVar24;
  double dVar25;
  int iVar26;
  char cVar27;
  int iVar28;
  int iVar29;
  int *piVar30;
  double *pdVar31;
  int iVar32;
  int unaff_EBP;
  int iVar33;
  int iVar34;
  int in_GS_OFFSET;
  double local_8c;
  int local_84;
  int local_7c;
  int local_70;
  int local_28;
  int local_24;
  int local_20;
  
  FUN_00045159();
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar9 = param_1[3];
  iVar10 = param_1[2];
  iVar11 = param_1[1];
  iVar12 = *param_1;
  cVar27 = GOMP_loop_dynamic_start(0,*(undefined4 *)(iVar12 + 0x1c),1,1,&local_28,&local_24);
  local_70 = local_28;
  iVar26 = local_24;
  do {
    local_28 = local_70;
    local_24 = iVar26;
    if (cVar27 == '\0') {
      GOMP_loop_end_nowait();
      if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
        FUN_002decd0();
      }
      return;
    }
    do {
      iVar28 = omp_get_thread_num();
      if (param_1[4] != 0) {
        iVar29 = GetCacheViewAuthenticPixels
                           (iVar10,0,local_70,*(undefined4 *)(iVar12 + 0x18),1,iVar11);
        if (iVar29 != 0) {
          iVar13 = *(int *)(iVar12 + 0x18);
          if (0 < iVar13) {
            local_7c = 0;
            dVar1 = *(double *)(unaff_EBP + 0x19a76a);
            iVar14 = *(int *)(iVar12 + 4);
            pdVar15 = *(double **)(iVar9 + iVar28 * 4);
            iVar28 = *(int *)(iVar12 + 0x28);
            iVar16 = *(int *)(iVar12 + 0x294);
            iVar17 = *(int *)(iVar12 + 0x24);
            iVar18 = *(int *)(iVar12 + 0x2a8);
            iVar19 = *(int *)(iVar12 + 0x298);
            iVar20 = *(int *)(iVar18 + 0x40);
            iVar21 = *(int *)(iVar28 + 8);
            iVar22 = *(int *)(iVar18 + 8);
            iVar33 = *(int *)(iVar18 + 0x14) * 8;
            iVar34 = *(int *)(iVar18 + 0x20) * 8;
            do {
              if (iVar16 == 0) {
                if (iVar21 != 0) {
                  if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145170;
                  dVar2 = *(double *)(iVar28 + 0x40);
                  dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) *
                          ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar2) +
                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                  dVar8 = 1.0;
                  goto LAB_001451a1;
                }
                dVar6 = 0.0;
                dVar8 = 1.0;
              }
              else {
                if (*(int *)(iVar18 + 0x34) == 0) {
                  if (iVar21 == 0) {
                    dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                    goto LAB_00145141;
                  }
                  dVar8 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                  dVar2 = dVar8 - *(double *)(iVar28 + 0x40);
                  dVar6 = dVar2 * dVar2 + (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                  dVar2 = *(double *)(iVar28 + 0x40);
                }
                else {
LAB_00145170:
                  dVar8 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);
                  if (iVar21 == 0) {
LAB_00145141:
                    dVar6 = (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *
                            (dVar8 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +
                            (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                    if (iVar16 == 0) {
                      dVar8 = 1.0;
                    }
                    else {
                      dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);
                    }
                    goto LAB_00144d08;
                  }
                  dVar2 = *(double *)(iVar28 + 0x40);
                  dVar6 = (dVar8 - dVar2) * (dVar8 - dVar2) +
                          (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                  if (iVar16 == 0) {
                    dVar8 = 1.0;
                    goto LAB_001451a1;
                  }
                }
                dVar8 = dVar8 * *(double *)(unaff_EBP + 0x19a76a);
LAB_001451a1:
                dVar8 = dVar2 * *(double *)(unaff_EBP + 0x19a76a) * dVar8;
              }
LAB_00144d08:
              dVar2 = *(double *)(iVar29 + iVar22 * 8);
              dVar5 = (dVar2 - *(double *)(iVar28 + 0x20)) * *(double *)(unaff_EBP + 0x19a76a);
              if (iVar14 == 2) {
                if (*(int *)(iVar18 + 0x28) == 0) {
                  dVar3 = 0.0;
                  dVar4 = dVar8;
                }
                else {
                  dVar3 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);
                  dVar4 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar3) *
                          *(double *)(unaff_EBP + 0x19a76a) * dVar8;
                }
                dVar3 = (dVar3 - *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);
                dVar24 = dVar8 * dVar3;
                dVar8 = dVar4 * ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -
                                *(double *)(iVar28 + 0x38)) * *(double *)(unaff_EBP + 0x19a76a);
                dVar6 = (dVar6 + dVar24 * dVar3) * (double)*(float *)(unaff_EBP + 0x1a5162);
              }
              else {
                dVar6 = dVar6 * (double)*(float *)(unaff_EBP + 0x1a5162);
                if (iVar14 - 4U < 6) {
                  if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {
                    dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);
                  }
                  dVar5 = dVar5 + dVar5;
                }
              }
              dVar3 = *(double *)(iVar29 + iVar33);
              dVar7 = (dVar3 - *(double *)(iVar28 + 0x28)) * *(double *)(unaff_EBP + 0x19a76a);
              dVar4 = *(double *)(iVar29 + iVar34);
              dVar24 = (dVar4 - *(double *)(iVar28 + 0x30)) * *(double *)(unaff_EBP + 0x19a76a);
              dVar8 = dVar24 * dVar8 * dVar24 +
                      dVar8 * dVar7 * dVar7 + dVar8 * dVar5 * dVar5 + dVar6;
              if ((iVar17 < 2) || (dVar8 <= *(double *)(unaff_EBP + 0x19a75a))) {
                dVar6 = 0.0;
                pdVar31 = pdVar15;
              }
              else {
                piVar30 = (int *)(iVar28 + 0x58);
                iVar32 = 1;
                local_84 = 0;
                do {
                  iVar23 = *piVar30;
                  if (iVar16 == 0) {
                    if (iVar23 == 0) {
                      dVar6 = 1.0;
                      dVar24 = 0.0;
                    }
                    else {
                      if (*(int *)(iVar18 + 0x34) != 0) goto LAB_00145048;
                      dVar5 = *(double *)(piVar30 + 0xe);
                      dVar24 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) *
                               ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar5) +
                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                      dVar6 = 1.0;
LAB_00145038:
                      dVar6 = dVar5 * *(double *)(unaff_EBP + 0x19a76a) * dVar6;
                    }
                  }
                  else {
                    if (*(int *)(iVar18 + 0x34) == 0) {
                      if (iVar23 != 0) {
                        dVar5 = *(double *)(piVar30 + 0xe);
                        dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +
                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                        goto LAB_00145030;
                      }
                      dVar24 = 0.0;
                      dVar6 = (double)*(float *)(&DAT_0019ad32 + unaff_EBP);
                    }
                    else {
LAB_00145048:
                      dVar6 = *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);
                      if (iVar23 != 0) {
                        dVar5 = *(double *)(piVar30 + 0xe);
                        dVar24 = (dVar6 - dVar5) * (dVar6 - dVar5) +
                                 (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                        if (iVar16 == 0) {
                          dVar6 = 1.0;
                          goto LAB_00145038;
                        }
LAB_00145030:
                        dVar6 = dVar6 * *(double *)(unaff_EBP + 0x19a76a);
                        goto LAB_00145038;
                      }
                      dVar24 = (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) *
                               (dVar6 - (double)*(float *)(&DAT_0019ad32 + unaff_EBP)) +
                               (double)*(float *)(&DAT_0019ad36 + unaff_EBP);
                      if (iVar16 == 0) {
                        dVar6 = 1.0;
                        goto LAB_00144dfb;
                      }
                    }
                    dVar6 = dVar6 * dVar1;
                  }
LAB_00144dfb:
                  dVar5 = (dVar2 - *(double *)(piVar30 + 6)) * *(double *)(unaff_EBP + 0x19a76a);
                  if (iVar14 == 2) {
                    if (*(int *)(iVar18 + 0x28) == 0) {
                      dVar7 = 0.0;
                      local_8c = dVar6;
                    }
                    else {
                      dVar7 = *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);
                      local_8c = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) - dVar7) *
                                 *(double *)(unaff_EBP + 0x19a76a) * dVar6;
                    }
                    dVar7 = (dVar7 - *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a)
                    ;
                    dVar25 = dVar6 * dVar7;
                    dVar6 = ((double)*(float *)(&DAT_0019ad32 + unaff_EBP) -
                            *(double *)(piVar30 + 0xc)) * *(double *)(unaff_EBP + 0x19a76a) *
                            local_8c;
                    dVar24 = (dVar24 + dVar25 * dVar7) * (double)*(float *)(unaff_EBP + 0x1a5162);
                  }
                  else {
                    dVar24 = dVar24 * (double)*(float *)(unaff_EBP + 0x1a5162);
                    if (iVar14 - 4U < 6) {
                      if ((double)*(float *)(unaff_EBP + 0x19a742) < ABS(dVar5)) {
                        dVar5 = dVar5 - (double)*(float *)(unaff_EBP + 0x19a742);
                      }
                      dVar5 = dVar5 + dVar5;
                    }
                  }
                  dVar7 = (dVar3 - *(double *)(piVar30 + 8)) * *(double *)(unaff_EBP + 0x19a76a);
                  dVar25 = (dVar4 - *(double *)(piVar30 + 10)) * *(double *)(unaff_EBP + 0x19a76a);
                  dVar6 = dVar7 * dVar6 * dVar7 + dVar5 * dVar6 * dVar5 + dVar24 +
                          dVar25 * dVar6 * dVar25;
                  if (dVar6 < dVar8) {
                    dVar8 = dVar6;
                    local_84 = iVar32;
                  }
                  iVar32 = iVar32 + 1;
                } while ((iVar32 != iVar17) &&
                        (piVar30 = piVar30 + 0x14, *(double *)(unaff_EBP + 0x19a75a) < dVar8));
                dVar6 = (double)local_84;
                pdVar31 = pdVar15 + local_84 * 7;
              }
              dVar5 = *(double *)(unaff_EBP + 0x19a76a);
              *pdVar31 = *pdVar31 + dVar2 * dVar5;
              pdVar31[1] = *(double *)(iVar29 + iVar33) * dVar5 + pdVar31[1];
              pdVar31[2] = *(double *)(iVar29 + iVar34) * dVar5 + pdVar31[2];
              if (iVar16 != 4) {
                if (*(int *)(iVar18 + 0x34) == 0) {
                  dVar5 = 1.0;
                }
                else {
                  dVar5 = dVar5 * *(double *)(iVar29 + *(int *)(iVar18 + 0x38) * 8);
                }
                pdVar31[3] = dVar5 + pdVar31[3];
              }
              if (iVar14 == 2) {
                if (*(int *)(iVar18 + 0x28) == 0) {
                  dVar2 = 0.0;
                }
                else {
                  dVar2 = *(double *)(unaff_EBP + 0x19a76a) *
                          *(double *)(iVar29 + *(int *)(iVar18 + 0x2c) * 8);
                }
                pdVar31[4] = dVar2 + pdVar31[4];
              }
              pdVar31[5] = pdVar31[5] + 1.0;
              pdVar31[6] = dVar8 + pdVar31[6];
              if (iVar20 != 0) {
                *(double *)(iVar29 + *(int *)(iVar18 + 0x44) * 8) = dVar6;
              }
              local_7c = local_7c + 1;
              iVar29 = iVar29 + iVar19 * 8;
            } while (local_7c != iVar13);
          }
          iVar28 = SyncCacheViewAuthenticPixels(iVar10,iVar11);
          if (iVar28 != 0) goto LAB_00144f9d;
        }
        param_1[4] = 0;
      }
LAB_00144f9d:
      local_70 = local_70 + 1;
    } while (local_70 < iVar26);
    cVar27 = GOMP_loop_dynamic_next(&local_28,&local_24);
    local_70 = local_28;
    iVar26 = local_24;
  } while( true );
}

