
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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 */

MagickBooleanType
InterpolatePixelInfo
          (Image *image,CacheView_ *image_view,PixelInterpolateMethod method,double x,double y,
          PixelInfo *pixel,ExceptionInfo *exception)

{
  double dVar1;
  double dVar2;
  Quantum QVar3;
  double dVar4;
  int iVar5;
  ClassType CVar6;
  PixelChannelMap *pPVar7;
  PixelTrait PVar8;
  PixelTrait PVar9;
  ColorspaceType CVar10;
  int iVar11;
  double dVar12;
  double dVar13;
  float fVar14;
  double dVar15;
  double dVar16;
  size_t sVar17;
  double *pdVar18;
  double *pdVar19;
  double *pdVar20;
  double *pdVar21;
  double *pdVar22;
  double *pdVar23;
  double *pdVar24;
  int iVar25;
  Quantum *pQVar26;
  MagickBooleanType MVar27;
  int iVar28;
  double *pdVar29;
  MagickRealType *pMVar30;
  Quantum *pQVar31;
  PixelInfo *pPVar32;
  double *pdVar33;
  double *pdVar34;
  PixelInfo *pPVar35;
  int iVar36;
  PixelInfo *pPVar37;
  int in_GS_OFFSET;
  byte bVar38;
  double dVar39;
  double local_66c;
  double local_664;
  double local_65c;
  double local_654;
  double local_64c;
  Quantum local_644;
  int local_63c;
  int local_614;
  int local_60c;
  double local_5ec;
  ushort __cw;
  ushort __cwtmp;
  double alpha [16];
  PixelInfo pixels [16];
  
  bVar38 = 0;
  iVar5 = *(int *)(in_GS_OFFSET + 0x14);
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,
                  "InterpolatePixelInfo");
  }
  if (image_view == (CacheView_ *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,
                  "InterpolatePixelInfo");
  }
  local_66c._0_4_ = -0x7ffffdff;
  if ((DAT_002f2490 <= x) && (local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498)) {
    dVar39 = floor(x);
    local_66c._0_4_ = (int)ROUND(dVar39);
  }
  local_664._0_4_ = -0x7ffffdff;
  if ((DAT_002f2490 <= y) && (local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498)) {
    dVar39 = floor(y);
    local_664._0_4_ = (int)ROUND(dVar39);
  }
  if (method == UndefinedInterpolatePixel) {
    method = image->interpolate;
  }
  ResetMagickMemory(pixel,0,0x50);
  pPVar32 = pixels;
  pixel->alpha = (double)DAT_002df8a8;
  CVar6 = image->storage_class;
  pixel->fuzz = image->fuzz;
  pixel->storage_class = CVar6;
  pixel->colorspace = image->colorspace;
  pixel->depth = image->depth;
  pixel->alpha_trait = image->alpha_trait;
  pPVar35 = pPVar32;
  for (iVar28 = 0x140; iVar28 != 0; iVar28 = iVar28 + -1) {
    pPVar35->storage_class = UndefinedClass;
    pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);
  }
  switch(method) {
  default:
    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);
    dVar39 = _DAT_002df2e0;
    if (pQVar26 != (Quantum *)0x0) {
      sVar17 = image->number_channels;
      pPVar7 = image->channel_map;
      PVar8 = image->alpha_trait;
      iVar28 = pPVar7[2].offset;
      PVar9 = pPVar7[4].traits;
      CVar10 = image->colorspace;
      iVar25 = pPVar7->offset;
      iVar11 = pPVar7[1].offset;
      iVar36 = 0;
      do {
        dVar1 = pQVar26[iVar25];
        if (PVar8 == UndefinedPixelTrait) {
          alpha[iVar36] = 1.0;
          pPVar32->red = dVar1;
          pPVar32->green = pQVar26[iVar11];
          pPVar32->blue = pQVar26[iVar28];
          pPVar32->black = 0.0;
          if (CVar10 == CMYKColorspace) {
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              QVar3 = 0.0;
            }
            else {
              QVar3 = pQVar26[pPVar7[3].offset];
            }
            pPVar32->black = QVar3;
          }
        }
        else {
          if (PVar9 == UndefinedPixelTrait) {
            dVar12 = 1.0;
          }
          else {
            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;
            dVar1 = dVar1 * dVar12;
          }
          alpha[iVar36] = dVar12;
          pPVar32->red = dVar1;
          pPVar32->green = pQVar26[iVar11] * dVar12;
          pPVar32->blue = pQVar26[iVar28] * dVar12;
          pPVar32->black = 0.0;
          if (CVar10 == CMYKColorspace) {
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = pQVar26[pPVar7[3].offset];
            }
            pPVar32->black = dVar1 * dVar12;
          }
        }
        if (PVar9 == UndefinedPixelTrait) {
          dVar1 = (double)DAT_002df8a8;
        }
        else {
          dVar1 = pQVar26[pPVar7[4].offset];
        }
        iVar36 = iVar36 + 1;
        pPVar32->alpha = dVar1;
        pQVar26 = pQVar26 + sVar17;
        pPVar32 = pPVar32 + 1;
      } while (iVar36 != 4);
      dVar39 = x - (double)local_66c._0_4_;
      dVar4 = y - (double)local_664._0_4_;
      dVar1 = 1.0 - dVar39;
      dVar15 = 1.0 - dVar4;
      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +
               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;
      dVar2 = DAT_002df8d8;
      dVar13 = dVar12;
      if (dVar12 < 0.0) {
        dVar2 = DAT_002df8e0;
        dVar13 = -dVar12;
      }
      if (DAT_002df2d0 <= dVar13) {
        dVar2 = (double)DAT_002df8b4 / dVar12;
      }
      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +
                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;
      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +
                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;
      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +
                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;
      if (CVar10 == CMYKColorspace) {
        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +
                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;
      }
      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);
      dVar12 = DAT_002df8d8;
      dVar2 = dVar13;
      if (dVar13 < 0.0) {
        dVar12 = DAT_002df8e0;
        dVar2 = -dVar13;
      }
      if (DAT_002df2d0 <= dVar2) {
        dVar12 = (double)DAT_002df8b4 / dVar13;
      }
      MVar27 = MagickTrue;
      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +
                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);
      goto LAB_00134728;
    }
    break;
  case AverageInterpolatePixel:
  case Average9InterpolatePixel:
  case Average16InterpolatePixel:
    if (method == Average9InterpolatePixel) {
      dVar39 = DAT_00300760;
      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {
        dVar39 = x + (double)DAT_002df2b8;
      }
      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);
      dVar39 = DAT_00300760;
      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {
        dVar39 = y + (double)DAT_002df2b8;
      }
      local_63c = 9;
      sVar17 = 3;
      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);
    }
    else {
      local_63c = 4;
      sVar17 = 2;
      if (method == Average16InterpolatePixel) {
        local_66c._0_4_ = local_66c._0_4_ + -1;
        local_63c = 0x10;
        sVar17 = 4;
        local_664._0_4_ = local_664._0_4_ + -1;
      }
    }
    pQVar26 = GetCacheViewVirtualPixels
                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);
    dVar39 = DAT_002df2d0;
    if (pQVar26 != (Quantum *)0x0) {
      pPVar7 = image->channel_map;
      PVar8 = image->alpha_trait;
      sVar17 = image->number_channels;
      CVar10 = image->colorspace;
      local_65c = pixel->alpha;
      local_64c = pixel->black;
      dVar1 = pixel->blue;
      iVar28 = pPVar7->offset;
      local_654 = pixel->green;
      local_664 = pixel->red;
      iVar25 = pPVar7[1].offset;
      PVar9 = pPVar7[4].traits;
      iVar11 = pPVar7[2].offset;
      iVar36 = 0;
      do {
        pixels[0].red = pQVar26[iVar28];
        if (PVar8 == UndefinedPixelTrait) {
          pixels[0].green = pQVar26[iVar25];
          pixels[0].blue = pQVar26[iVar11];
          pixels[0].black = 0.0;
          if (CVar10 == CMYKColorspace) {
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              local_644 = 0.0;
            }
            else {
              local_644 = pQVar26[pPVar7[3].offset];
            }
            pixels[0].black = local_644;
          }
          if (PVar9 == UndefinedPixelTrait) {
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = pQVar26[pPVar7[4].offset];
          }
          dVar12 = 1.0;
LAB_00134460:
          dVar2 = (double)DAT_002df8b4 / dVar12;
          pixels[0].alpha = local_66c;
        }
        else {
          if (PVar9 == UndefinedPixelTrait) {
            dVar12 = 1.0;
          }
          else {
            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];
            pixels[0].red = pixels[0].red * dVar12;
          }
          pixels[0].green = pQVar26[iVar25] * dVar12;
          pixels[0].blue = pQVar26[iVar11] * dVar12;
          pixels[0].black = 0.0;
          if (CVar10 == CMYKColorspace) {
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              dVar2 = 0.0;
            }
            else {
              dVar2 = pQVar26[pPVar7[3].offset];
            }
            pixels[0].black = dVar2 * dVar12;
          }
          if (PVar9 == UndefinedPixelTrait) {
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = pQVar26[pPVar7[4].offset];
          }
          pixels[0].alpha = local_66c;
          dVar2 = DAT_002df8d8;
          dVar13 = dVar12;
          if (dVar12 < 0.0) {
            dVar2 = DAT_002df8e0;
            dVar13 = -dVar12;
          }
          if (dVar39 <= dVar13) goto LAB_00134460;
        }
        pQVar26 = pQVar26 + sVar17;
        iVar36 = iVar36 + 1;
        local_664 = pixels[0].red * dVar2 + local_664;
        pixel->red = local_664;
        local_654 = local_654 + pixels[0].green * dVar2;
        pixel->green = local_654;
        dVar1 = pixels[0].blue * dVar2 + dVar1;
        pixel->blue = dVar1;
        local_64c = dVar2 * pixels[0].black + local_64c;
        pixel->black = local_64c;
        local_65c = local_65c + pixels[0].alpha;
        pixel->alpha = local_65c;
      } while (iVar36 < local_63c);
      MVar27 = MagickTrue;
      dVar39 = (double)DAT_002df8b4 / (double)local_63c;
      pixel->red = local_664 * dVar39;
      pixel->green = local_654 * dVar39;
      pixel->blue = dVar1 * dVar39;
      pixel->black = local_64c * dVar39;
      pixel->alpha = local_65c * dVar39;
      goto LAB_00134728;
    }
    break;
  case BackgroundInterpolatePixel:
    pPVar32 = &image->background_color;
    for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {
      pixel->storage_class = pPVar32->storage_class;
      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);
      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);
    }
    MVar27 = MagickTrue;
    goto LAB_00134728;
  case BlendInterpolatePixel:
    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);
    if (pQVar26 != (Quantum *)0x0) {
      local_64c._0_4_ = 0;
      local_644._0_4_ = image->number_channels;
      pPVar35 = pPVar32;
      do {
        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);
        ResetMagickMemory(pPVar35,0,0x50);
        CVar6 = image->storage_class;
        pPVar35->alpha = (double)DAT_002df8a8;
        pPVar35->fuzz = image->fuzz;
        pPVar35->storage_class = CVar6;
        CVar10 = image->colorspace;
        pPVar35->colorspace = CVar10;
        pPVar35->depth = image->depth;
        PVar8 = image->alpha_trait;
        pPVar35->alpha_trait = PVar8;
        pPVar7 = image->channel_map;
        iVar28 = pPVar7->offset;
        if (pQVar31 == (Quantum *)0x0) {
          local_614 = iVar28 << 3;
          local_60c = pPVar7[1].offset << 3;
          iVar28 = pPVar7[2].offset << 3;
          PVar9 = pPVar7[4].traits;
        }
        else {
          local_614 = iVar28 * 8;
          iVar25 = pPVar7[1].offset;
          pPVar35->red = pQVar31[iVar28];
          local_60c = iVar25 * 8;
          iVar11 = pPVar7[2].offset;
          pPVar35->green = pQVar31[iVar25];
          iVar28 = iVar11 * 8;
          PVar9 = pPVar7[3].traits;
          pPVar35->blue = pQVar31[iVar11];
          if (PVar9 != UndefinedPixelTrait) {
            pPVar35->black = pQVar31[pPVar7[3].offset];
          }
          PVar9 = pPVar7[4].traits;
          if (PVar9 != UndefinedPixelTrait) {
            QVar3 = pQVar31[pPVar7[4].offset];
            pPVar35->alpha_trait = BlendPixelTrait;
            pPVar35->alpha = QVar3;
          }
          if (pPVar7[5].traits != UndefinedPixelTrait) {
            pPVar35->index = pQVar31[pPVar7[5].offset];
          }
        }
        local_644._0_4_ = image->number_channels;
        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;
        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);
        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);
        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);
        if (PVar8 == UndefinedPixelTrait) {
          alpha[local_64c._0_4_] = 1.0;
          pPVar35->red = dVar39;
          pPVar35->green = *pdVar33;
          pPVar35->blue = *pdVar34;
          pPVar35->black = 0.0;
          if (CVar10 != CMYKColorspace) goto LAB_0013490a;
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            dVar39 = 0.0;
          }
          else {
            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);
          }
LAB_0013559e:
          pPVar35->black = dVar39;
          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;
LAB_00134916:
          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);
        }
        else {
          if (PVar9 == UndefinedPixelTrait) {
            dVar1 = 1.0;
          }
          else {
            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);
            dVar39 = dVar39 * dVar1;
          }
          alpha[local_64c._0_4_] = dVar1;
          pPVar35->red = dVar39;
          pPVar35->green = *pdVar33 * dVar1;
          pPVar35->blue = *pdVar34 * dVar1;
          pPVar35->black = 0.0;
          if (CVar10 == CMYKColorspace) {
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              dVar39 = 0.0;
            }
            else {
              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);
            }
            dVar39 = dVar39 * dVar1;
            goto LAB_0013559e;
          }
LAB_0013490a:
          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;
LAB_001355ad:
          dVar39 = (double)DAT_002df8a8;
        }
        local_64c._0_4_ = local_64c._0_4_ + 1;
        pPVar35->alpha = dVar39;
        pPVar35 = pPVar35 + 1;
      } while (local_64c._0_4_ != 4);
      dVar39 = y - (double)local_664._0_4_;
      dVar1 = (double)DAT_003006a4;
      if (dVar1 <= dVar39) {
        pPVar35 = pixels + 2;
        pPVar37 = pPVar32;
        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {
          pPVar37->storage_class = pPVar35->storage_class;
          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);
          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);
        }
        alpha[0] = alpha[2];
        fVar14 = 1.0;
LAB_00136096:
        alpha[1] = alpha[3];
        pPVar35 = pixels + 3;
        pPVar37 = pixels + 1;
        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {
          pPVar37->storage_class = pPVar35->storage_class;
          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);
          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);
        }
      }
      else {
        fVar14 = DAT_002eb21c;
        if (dVar39 <= (double)DAT_002eb220) {
          if (dVar1 <= dVar39) {
            fVar14 = 1.0;
            goto LAB_00136096;
          }
          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;
          fVar14 = 1.0;
        }
        else {
          alpha[0] = alpha[0] + alpha[2];
          pixels[0].red = pixels[0].red + pixels[2].red;
          pixels[0].green = pixels[0].green + pixels[2].green;
          pixels[0].blue = pixels[0].blue + pixels[2].blue;
          pixels[0].black = pixels[0].black + pixels[2].black;
          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;
          if (dVar1 <= dVar39) goto LAB_00136096;
LAB_001349ea:
          alpha[1] = alpha[1] + alpha[3];
          pixels[1].red = pixels[1].red + pixels[3].red;
          pixels[1].green = pixels[1].green + pixels[3].green;
          pixels[1].blue = pixels[1].blue + pixels[3].blue;
          pixels[1].black = pixels[1].black + pixels[3].black;
          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;
        }
      }
      dVar39 = (double)local_66c._0_4_;
      dVar1 = pixels[0].black;
      dVar12 = pixels[0].green;
      dVar2 = pixels[0].red;
      if (x - dVar39 < (double)DAT_003006a4) {
        local_66c = pixels[0].blue;
        local_664 = pixels[0].alpha;
        dVar13 = alpha[0];
        if ((double)DAT_002eb220 < x - dVar39) {
          fVar14 = fVar14 + fVar14;
          dVar13 = alpha[0] + alpha[1];
          local_66c = pixels[0].blue + pixels[1].blue;
          local_664 = pixels[1].alpha + pixels[0].alpha;
          dVar1 = pixels[0].black + pixels[1].black;
          dVar12 = pixels[0].green + pixels[1].green;
          dVar2 = pixels[0].red + pixels[1].red;
        }
      }
      else {
        pPVar35 = pixels + 1;
        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {
          pPVar32->storage_class = pPVar35->storage_class;
          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);
          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);
        }
        local_66c = pixels[0].blue;
        local_664 = pixels[0].alpha;
        dVar13 = alpha[1];
      }
      fVar14 = DAT_002df8b4 / fVar14;
      dVar39 = DAT_002df8d8;
      dVar15 = dVar13;
      if (dVar13 < 0.0) {
        dVar39 = DAT_002df8e0;
        dVar15 = -dVar13;
      }
      if (DAT_002df2d0 <= dVar15) {
        dVar39 = (double)DAT_002df8b4 / dVar13;
      }
      MVar27 = MagickTrue;
      pixel->red = dVar2 * dVar39;
      pixel->green = dVar12 * dVar39;
      pixel->blue = local_66c * dVar39;
      pixel->black = dVar39 * dVar1;
      pixel->alpha = (double)(fVar14 * (float)local_664);
      goto LAB_00134728;
    }
    break;
  case CatromInterpolatePixel:
    pQVar26 = GetCacheViewVirtualPixels
                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);
    dVar39 = _DAT_002df2e0;
    if (pQVar26 != (Quantum *)0x0) {
      sVar17 = image->number_channels;
      PVar8 = image->alpha_trait;
      pPVar7 = image->channel_map;
      CVar10 = image->colorspace;
      PVar9 = pPVar7[4].traits;
      iVar28 = pPVar7[2].offset;
      pMVar30 = &pixels[0].red;
      iVar25 = pPVar7->offset;
      iVar11 = pPVar7[1].offset;
      iVar36 = 0;
      do {
        dVar1 = pQVar26[iVar25];
        if (PVar8 == UndefinedPixelTrait) {
          alpha[iVar36] = 1.0;
          *pMVar30 = dVar1;
          pMVar30[1] = pQVar26[iVar11];
          pMVar30[2] = pQVar26[iVar28];
          pMVar30[3] = 0.0;
          if (CVar10 == CMYKColorspace) {
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = pQVar26[pPVar7[3].offset];
            }
            pMVar30[3] = dVar1;
          }
LAB_0013466a:
          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;
LAB_00134672:
          dVar1 = pQVar26[pPVar7[4].offset];
        }
        else {
          if (PVar9 == UndefinedPixelTrait) {
            dVar12 = 1.0;
          }
          else {
            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;
            dVar1 = dVar1 * dVar12;
          }
          alpha[iVar36] = dVar12;
          *pMVar30 = dVar1;
          pMVar30[1] = dVar12 * pQVar26[iVar11];
          pMVar30[2] = pQVar26[iVar28] * dVar12;
          pMVar30[3] = 0.0;
          if (CVar10 != CMYKColorspace) goto LAB_0013466a;
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            dVar1 = 0.0;
          }
          else {
            dVar1 = pQVar26[pPVar7[3].offset];
          }
          pMVar30[3] = dVar1 * dVar12;
          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;
LAB_00134700:
          dVar1 = (double)DAT_002df8a8;
        }
        iVar36 = iVar36 + 1;
        pMVar30[4] = dVar1;
        pQVar26 = pQVar26 + sVar17;
        pMVar30 = pMVar30 + 10;
      } while (iVar36 != 0x10);
      dVar39 = x - (double)local_66c._0_4_;
      dVar1 = 1.0 - dVar39;
      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;
      dVar4 = dVar1 * dVar12;
      dVar12 = dVar12 * dVar39;
      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);
      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);
      dVar2 = y - (double)local_664._0_4_;
      dVar1 = 1.0 - dVar2;
      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;
      dVar15 = dVar13 * dVar1;
      dVar13 = dVar13 * dVar2;
      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);
      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);
      pixel->red = (pixels[0xf].red * dVar12 +
                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *
                   dVar13 + (pixels[0xb].red * dVar12 +
                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4
                            ) * dVar2 +
                            (pixels[7].red * dVar12 +
                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)
                            * dVar1 + (pixels[3].red * dVar12 +
                                      pixels[2].red * dVar39 +
                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;
      pixel->green = (pixels[0xf].green * dVar12 +
                     pixels[0xe].green * dVar39 +
                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +
                     (pixels[0xb].green * dVar12 +
                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)
                     * dVar2 + (pixels[7].green * dVar12 +
                               pixels[6].green * dVar39 +
                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +
                               (pixels[3].green * dVar12 +
                               pixels[2].green * dVar39 +
                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;
      pixel->blue = (pixels[0xf].blue * dVar12 +
                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4
                    ) * dVar13 +
                    (pixels[0xb].blue * dVar12 +
                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *
                    dVar2 + (pixels[7].blue * dVar12 +
                            pixels[6].blue * dVar39 +
                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +
                            (pixels[3].blue * dVar12 +
                            pixels[2].blue * dVar39 +
                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;
      if (CVar10 == CMYKColorspace) {
        pixel->black = (pixels[0xf].black * dVar12 +
                       pixels[0xe].black * dVar39 +
                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +
                       (pixels[0xb].black * dVar12 +
                       pixels[10].black * dVar39 +
                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +
                       (pixels[7].black * dVar12 +
                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4
                       ) * dVar1 +
                       (pixels[3].black * dVar12 +
                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4
                       ) * dVar15;
      }
      MVar27 = MagickTrue;
      pixel->alpha = (dVar12 * pixels[0xf].alpha +
                     dVar39 * pixels[0xe].alpha +
                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +
                     (pixels[0xb].alpha * dVar12 +
                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)
                     * dVar2 + (pixels[7].alpha * dVar12 +
                               pixels[6].alpha * dVar39 +
                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +
                               (pixels[3].alpha * dVar12 +
                               pixels[2].alpha * dVar39 +
                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;
      goto LAB_00134728;
    }
    break;
  case IntegerInterpolatePixel:
    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);
    if (pQVar26 != (Quantum *)0x0) {
      ResetMagickMemory(pixel,0,0x50);
      pixel->alpha = (double)DAT_002df8a8;
LAB_0013517c:
      dVar39 = image->fuzz;
      pixel->storage_class = image->storage_class;
      CVar10 = image->colorspace;
      pixel->fuzz = dVar39;
      pixel->colorspace = CVar10;
      pixel->depth = image->depth;
      pixel->alpha_trait = image->alpha_trait;
      pPVar7 = image->channel_map;
      PVar8 = pPVar7[3].traits;
      iVar28 = pPVar7[1].offset;
      pixel->red = pQVar26[pPVar7->offset];
      iVar25 = pPVar7[2].offset;
      pixel->green = pQVar26[iVar28];
      pixel->blue = pQVar26[iVar25];
      if (PVar8 != UndefinedPixelTrait) {
        pixel->black = pQVar26[pPVar7[3].offset];
      }
      if (pPVar7[4].traits != UndefinedPixelTrait) {
        QVar3 = pQVar26[pPVar7[4].offset];
        pixel->alpha_trait = BlendPixelTrait;
        pixel->alpha = QVar3;
      }
      if (pPVar7[5].traits != UndefinedPixelTrait) {
        pixel->index = pQVar26[pPVar7[5].offset];
      }
      MVar27 = MagickTrue;
      goto LAB_00134728;
    }
    break;
  case MeshInterpolatePixel:
    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);
    if (pQVar26 != (Quantum *)0x0) {
      dVar39 = x - (double)local_66c._0_4_;
      pPVar7 = image->channel_map;
      dVar1 = y - (double)local_664._0_4_;
      iVar28 = pPVar7->offset;
      local_5ec = pQVar26[iVar28];
      iVar25 = pPVar7[1].offset;
      dVar2 = (double)DAT_002f2b64;
      iVar11 = pPVar7[2].offset;
      pdVar33 = pQVar26 + iVar11;
      sVar17 = image->number_channels;
      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;
      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;
      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;
      dVar15 = (double)DAT_002f2b68;
      dVar12 = local_5ec * dVar15;
      dVar13 = (double)DAT_002f2b6c;
      pdVar20 = pQVar26 + sVar17 + iVar28;
      pdVar21 = pQVar26 + sVar17 + iVar25;
      pdVar22 = pQVar26 + sVar17 + iVar11;
      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;
      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;
      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;
      PVar8 = pPVar7[4].traits;
      CVar10 = image->colorspace;
      if (image->alpha_trait == UndefinedPixelTrait) {
        alpha[0] = 1.0;
        pixels[0].green = pQVar26[iVar25];
        pixels[0].blue = *pdVar33;
        pixels[0].black = 0.0;
        if (CVar10 == CMYKColorspace) {
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            pixels[0].black = 0.0;
          }
          else {
            pixels[0].black = pQVar26[pPVar7[3].offset];
          }
          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;
          pixels[0].alpha = (MagickRealType)DAT_002df8a8;
          pixels[1].red = *pdVar20;
          pixels[1].green = *pdVar21;
          pixels[1].blue = *pdVar22;
LAB_00136ae2:
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            pixels[1].black = 0.0;
          }
          else {
            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];
          }
          if (PVar8 == UndefinedPixelTrait) {
            pixels[1].alpha = (MagickRealType)DAT_002df8a8;
            pixels[2].red = *pdVar23;
            pixels[2].green = *pdVar29;
            pixels[2].blue = *pdVar24;
LAB_00136b5f:
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              pixels[2].black = 0.0;
            }
            else {
              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];
            }
            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;
          }
          else {
LAB_001361a4:
            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];
            pixels[2].red = *pdVar23;
            pixels[2].green = *pdVar29;
            pixels[2].blue = *pdVar24;
            pixels[2].black = 0.0;
            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;
          }
          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];
          pixels[3].red = *pdVar34;
          pixels[3].green = *pdVar18;
          pixels[3].blue = *pdVar19;
          pixels[3].black = 0.0;
          if (CVar10 == CMYKColorspace) goto LAB_0013626b;
LAB_00136296:
          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];
        }
        else {
          if (PVar8 != UndefinedPixelTrait) {
LAB_0013613f:
            pixels[0].alpha = pQVar26[pPVar7[4].offset];
            pixels[1].red = *pdVar20;
            pixels[1].green = *pdVar21;
            pixels[1].blue = *pdVar22;
            pixels[1].black = 0.0;
            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;
            goto LAB_001361a4;
          }
          pixels[0].alpha = (MagickRealType)DAT_002df8a8;
          pixels[1].red = *pdVar20;
          pixels[1].green = *pdVar21;
          pixels[1].blue = *pdVar22;
          pixels[1].black = 0.0;
          pixels[1].alpha = (MagickRealType)DAT_002df8a8;
          pixels[2].red = *pdVar23;
          pixels[2].green = *pdVar29;
          pixels[2].blue = *pdVar24;
          pixels[2].black = 0.0;
LAB_00136b86:
          pixels[2].alpha = (MagickRealType)DAT_002df8a8;
          pixels[3].red = *pdVar34;
          pixels[3].green = *pdVar18;
          pixels[3].blue = *pdVar19;
          pixels[3].black = 0.0;
          if (CVar10 == CMYKColorspace) {
LAB_0013626b:
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              pixels[3].black = 0.0;
            }
            else {
              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];
            }
            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = (double)DAT_002df8a8;
          }
        }
        alpha[3] = 1.0;
        alpha[2] = 1.0;
        alpha[1] = 1.0;
      }
      else {
        if (PVar8 == UndefinedPixelTrait) {
          alpha[0] = 1.0;
        }
        else {
          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];
          local_5ec = local_5ec * alpha[0];
        }
        pixels[0].green = pQVar26[iVar25] * alpha[0];
        pixels[0].blue = *pdVar33 * alpha[0];
        pixels[0].black = 0.0;
        if (CVar10 == CMYKColorspace) {
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            dVar4 = 0.0;
          }
          else {
            dVar4 = pQVar26[pPVar7[3].offset];
          }
          pixels[0].black = dVar4 * alpha[0];
        }
        if (PVar8 == UndefinedPixelTrait) {
          pixels[0].alpha = (MagickRealType)DAT_002df8a8;
          alpha[1] = 1.0;
        }
        else {
          pixels[0].alpha = pQVar26[pPVar7[4].offset];
          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];
        }
        pixels[1].red = *pdVar20 * alpha[1];
        pixels[1].green = *pdVar21 * alpha[1];
        pixels[1].blue = *pdVar22 * alpha[1];
        pixels[1].black = 0.0;
        if (CVar10 == CMYKColorspace) {
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            dVar4 = 0.0;
          }
          else {
            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];
          }
          pixels[1].black = dVar4 * alpha[1];
        }
        if (PVar8 == UndefinedPixelTrait) {
          pixels[1].alpha = (MagickRealType)DAT_002df8a8;
          alpha[2] = 1.0;
        }
        else {
          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];
          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];
        }
        pixels[2].red = *pdVar23 * alpha[2];
        pixels[2].green = *pdVar29 * alpha[2];
        pixels[2].blue = *pdVar24 * alpha[2];
        pixels[2].black = 0.0;
        if (CVar10 == CMYKColorspace) {
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            dVar4 = 0.0;
          }
          else {
            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];
          }
          pixels[2].black = dVar4 * alpha[2];
        }
        if (PVar8 == UndefinedPixelTrait) {
          pixels[2].alpha = (MagickRealType)DAT_002df8a8;
          alpha[3] = 1.0;
        }
        else {
          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];
          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];
        }
        pixels[3].red = *pdVar34 * alpha[3];
        pixels[3].green = *pdVar18 * alpha[3];
        pixels[3].blue = *pdVar19 * alpha[3];
        pixels[3].black = 0.0;
        if (CVar10 == CMYKColorspace) {
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            dVar4 = 0.0;
          }
          else {
            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];
          }
          pixels[3].black = dVar4 * alpha[3];
        }
        if (PVar8 == UndefinedPixelTrait) {
          local_66c = (double)DAT_002df8a8;
        }
        else {
          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];
        }
      }
      dVar4 = 1.0 - dVar39;
      pixels[0].red = local_5ec;
      pixels[3].alpha = local_66c;
      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -
              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=
          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -
              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {
        dVar12 = 1.0 - dVar1;
        if (dVar12 < dVar39) {
          dVar2 = (1.0 - dVar4) - dVar12;
          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;
          dVar1 = DAT_002df8d8;
          dVar13 = dVar39;
          if (dVar39 < 0.0) {
            dVar1 = DAT_002df8e0;
            dVar13 = -dVar39;
          }
          if (DAT_002df2d0 <= dVar13) {
            dVar1 = (double)DAT_002df8b4 / dVar39;
          }
          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *
                       dVar1;
          pixel->green = (pixels[3].green * dVar2 +
                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;
          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)
                        * dVar1;
          if (CVar10 == CMYKColorspace) {
            pixel->black = (pixels[3].black * dVar2 +
                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;
          }
          MVar27 = MagickTrue;
          pixel->alpha = (dVar4 + dVar12 + dVar2) *
                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);
        }
        else {
          dVar4 = dVar4 - dVar1;
          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;
          dVar2 = DAT_002df8d8;
          dVar13 = dVar12;
          if (dVar12 < 0.0) {
            dVar2 = DAT_002df8e0;
            dVar13 = -dVar12;
          }
          if (DAT_002df2d0 <= dVar13) {
            dVar2 = (double)DAT_002df8b4 / dVar12;
          }
          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;
          pixel->green = (pixels[0].green * dVar4 +
                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;
          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)
                        * dVar2;
          if (CVar10 == CMYKColorspace) {
            pixel->black = (pixels[0].black * dVar4 +
                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;
          }
          MVar27 = MagickTrue;
          pixel->alpha = (dVar4 + dVar39 + dVar1) *
                         (pixels[0].alpha * dVar4 +
                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);
        }
      }
      else if (dVar1 < dVar39) {
        dVar2 = (1.0 - dVar4) - dVar1;
        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;
        dVar12 = DAT_002df8d8;
        dVar13 = dVar39;
        if (dVar39 < 0.0) {
          dVar12 = DAT_002df8e0;
          dVar13 = -dVar39;
        }
        if (DAT_002df2d0 <= dVar13) {
          dVar12 = (double)DAT_002df8b4 / dVar39;
        }
        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;
        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)
                       * dVar12;
        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *
                      dVar12;
        if (CVar10 == CMYKColorspace) {
          pixel->black = (pixels[1].black * dVar2 +
                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;
        }
        MVar27 = MagickTrue;
        pixel->alpha = (dVar4 + dVar1 + dVar2) *
                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);
      }
      else {
        dVar1 = 1.0 - dVar1;
        dVar4 = dVar4 - dVar1;
        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;
        dVar2 = DAT_002df8d8;
        dVar13 = dVar12;
        if (dVar12 < 0.0) {
          dVar2 = DAT_002df8e0;
          dVar13 = -dVar12;
        }
        if (DAT_002df2d0 <= dVar13) {
          dVar2 = (double)DAT_002df8b4 / dVar12;
        }
        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;
        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39
                       ) * dVar2;
        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *
                      dVar2;
        if (CVar10 == CMYKColorspace) {
          pixel->black = (pixels[2].black * dVar4 +
                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;
        }
        MVar27 = MagickTrue;
        pixel->alpha = (dVar4 + dVar39 + dVar1) *
                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);
      }
      goto LAB_00134728;
    }
    break;
  case NearestInterpolatePixel:
    iVar28 = -0x7ffffdff;
    if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {
      dVar39 = floor(x + (double)DAT_002df2b8);
      iVar28 = (int)ROUND(dVar39);
    }
    iVar25 = -0x7ffffdff;
    if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {
      dVar39 = floor(y + (double)DAT_002df2b8);
      iVar25 = (int)ROUND(dVar39);
    }
    pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);
    if (pQVar26 != (Quantum *)0x0) {
      ResetMagickMemory(pixel,0,0x50);
      pixel->alpha = (double)DAT_002df8a8;
      goto LAB_0013517c;
    }
    break;
  case SplineInterpolatePixel:
    pQVar26 = GetCacheViewVirtualPixels
                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);
    dVar39 = _DAT_002df2e0;
    if (pQVar26 != (Quantum *)0x0) {
      sVar17 = image->number_channels;
      PVar8 = image->alpha_trait;
      pPVar7 = image->channel_map;
      CVar10 = image->colorspace;
      PVar9 = pPVar7[4].traits;
      iVar28 = pPVar7[2].offset;
      pMVar30 = &pixels[0].red;
      iVar25 = pPVar7->offset;
      iVar11 = pPVar7[1].offset;
      iVar36 = 0;
      do {
        dVar1 = pQVar26[iVar25];
        if (PVar8 == UndefinedPixelTrait) {
          alpha[iVar36] = 1.0;
          *pMVar30 = dVar1;
          pMVar30[1] = pQVar26[iVar11];
          pMVar30[2] = pQVar26[iVar28];
          pMVar30[3] = 0.0;
          if (CVar10 == CMYKColorspace) {
            if (pPVar7[3].traits == UndefinedPixelTrait) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = pQVar26[pPVar7[3].offset];
            }
            pMVar30[3] = dVar1;
          }
LAB_0013429a:
          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;
LAB_001342a2:
          dVar1 = pQVar26[pPVar7[4].offset];
        }
        else {
          if (PVar9 == UndefinedPixelTrait) {
            dVar12 = 1.0;
          }
          else {
            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;
            dVar1 = dVar1 * dVar12;
          }
          alpha[iVar36] = dVar12;
          *pMVar30 = dVar1;
          pMVar30[1] = dVar12 * pQVar26[iVar11];
          pMVar30[2] = pQVar26[iVar28] * dVar12;
          pMVar30[3] = 0.0;
          if (CVar10 != CMYKColorspace) goto LAB_0013429a;
          if (pPVar7[3].traits == UndefinedPixelTrait) {
            dVar1 = 0.0;
          }
          else {
            dVar1 = pQVar26[pPVar7[3].offset];
          }
          pMVar30[3] = dVar1 * dVar12;
          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;
LAB_00134330:
          dVar1 = (double)DAT_002df8a8;
        }
        iVar36 = iVar36 + 1;
        pMVar30[4] = dVar1;
        pQVar26 = pQVar26 + sVar17;
        pMVar30 = pMVar30 + 10;
      } while (iVar36 != 0x10);
      dVar39 = x - (double)local_66c._0_4_;
      dVar1 = 1.0 - dVar39;
      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;
      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;
      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);
      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);
      dVar2 = y - (double)local_664._0_4_;
      dVar1 = 1.0 - dVar2;
      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;
      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;
      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);
      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);
      pixel->red = (pixels[0xf].red * dVar12 +
                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *
                   dVar13 + (pixels[0xb].red * dVar12 +
                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4
                            ) * dVar2 +
                            (pixels[7].red * dVar12 +
                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)
                            * dVar1 + (pixels[3].red * dVar12 +
                                      pixels[2].red * dVar39 +
                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;
      pixel->green = (pixels[0xf].green * dVar12 +
                     pixels[0xe].green * dVar39 +
                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +
                     (pixels[0xb].green * dVar12 +
                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)
                     * dVar2 + (pixels[7].green * dVar12 +
                               pixels[6].green * dVar39 +
                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +
                               (pixels[3].green * dVar12 +
                               pixels[2].green * dVar39 +
                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;
      pixel->blue = (pixels[0xf].blue * dVar12 +
                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4
                    ) * dVar13 +
                    (pixels[0xb].blue * dVar12 +
                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *
                    dVar2 + (pixels[7].blue * dVar12 +
                            pixels[6].blue * dVar39 +
                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +
                            (pixels[3].blue * dVar12 +
                            pixels[2].blue * dVar39 +
                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;
      if (CVar10 == CMYKColorspace) {
        pixel->black = (pixels[0xf].black * dVar12 +
                       pixels[0xe].black * dVar39 +
                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +
                       (pixels[0xb].black * dVar12 +
                       pixels[10].black * dVar39 +
                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +
                       (pixels[7].black * dVar12 +
                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4
                       ) * dVar1 +
                       (pixels[3].black * dVar12 +
                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4
                       ) * dVar15;
      }
      MVar27 = MagickTrue;
      pixel->alpha = (dVar12 * pixels[0xf].alpha +
                     dVar39 * pixels[0xe].alpha +
                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +
                     (pixels[0xb].alpha * dVar12 +
                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)
                     * dVar2 + (pixels[7].alpha * dVar12 +
                               pixels[6].alpha * dVar39 +
                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +
                               (pixels[3].alpha * dVar12 +
                               pixels[2].alpha * dVar39 +
                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;
      goto LAB_00134728;
    }
  }
  MVar27 = MagickFalse;
LAB_00134728:
  if (iVar5 == *(int *)(in_GS_OFFSET + 0x14)) {
    return MVar27;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4
InterpolatePixelInfo
          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,
          undefined4 *param_6,undefined4 param_7)

{
  double dVar1;
  undefined8 uVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  double dVar7;
  double dVar8;
  double dVar9;
  float fVar10;
  double dVar11;
  double dVar12;
  double dVar13;
  double *pdVar14;
  double *pdVar15;
  double *pdVar16;
  int iVar17;
  double *pdVar18;
  double *pdVar19;
  double *pdVar20;
  double *pdVar21;
  double *pdVar22;
  int iVar23;
  undefined4 uVar24;
  int iVar25;
  double *pdVar26;
  int iVar27;
  double *pdVar28;
  int iVar29;
  undefined4 *puVar30;
  undefined4 *puVar31;
  int iVar32;
  undefined4 *puVar33;
  int in_GS_OFFSET;
  byte bVar34;
  double dVar35;
  double local_66c;
  double local_664;
  double local_65c;
  double local_654;
  double local_64c;
  double local_644;
  int local_63c;
  int local_614;
  int iStack_60c;
  double dStack_5ec;
  double local_5a4 [16];
  undefined4 local_520 [8];
  double local_500;
  double local_4f8;
  double local_4f0;
  double local_4e8;
  double local_4e0;
  undefined4 auStack_4d0 [8];
  double local_4b0;
  double local_4a8;
  double local_4a0;
  double local_498;
  double local_490;
  undefined4 auStack_480 [8];
  double local_460;
  double local_458;
  double local_450;
  double local_448;
  double local_440;
  undefined4 auStack_430 [8];
  double local_410;
  double local_408;
  double local_400;
  double local_3f8;
  double local_3f0;
  double dStack_3c0;
  double dStack_3b8;
  double dStack_3b0;
  double dStack_3a8;
  double dStack_3a0;
  double dStack_370;
  double dStack_368;
  double dStack_360;
  double dStack_358;
  double dStack_350;
  double dStack_320;
  double dStack_318;
  double dStack_310;
  double dStack_308;
  double dStack_300;
  double dStack_2d0;
  double dStack_2c8;
  double dStack_2c0;
  double dStack_2b8;
  double dStack_2b0;
  double dStack_280;
  double dStack_278;
  double dStack_270;
  double dStack_268;
  double dStack_260;
  double dStack_230;
  double dStack_228;
  double dStack_220;
  double dStack_218;
  double dStack_210;
  double dStack_1e0;
  double dStack_1d8;
  double dStack_1d0;
  double dStack_1c8;
  double dStack_1c0;
  double dStack_190;
  double dStack_188;
  double dStack_180;
  double dStack_178;
  double dStack_170;
  double dStack_140;
  double dStack_138;
  double dStack_130;
  double dStack_128;
  double dStack_120;
  double dStack_f0;
  double dStack_e8;
  double dStack_e0;
  double dStack_d8;
  double dStack_d0;
  double dStack_a0;
  double dStack_98;
  double dStack_90;
  double dStack_88;
  double dStack_80;
  double dStack_50;
  double dStack_48;
  double dStack_40;
  double dStack_38;
  double dStack_30;
  int local_20;
  undefined4 uStack_14;
  
  bVar34 = 0;
  uStack_14 = 0x133fb9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");
  }
  if (param_1[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,
                  "InterpolatePixelInfo");
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,
                  "InterpolatePixelInfo");
  }
  local_66c._0_4_ = -0x7ffffdff;
  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {
    dVar35 = floor(param_4);
    local_66c._0_4_ = (int)ROUND(dVar35);
  }
  local_664._0_4_ = -0x7ffffdff;
  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {
    dVar35 = floor(param_5);
    local_664._0_4_ = (int)ROUND(dVar35);
  }
  if (param_3 == 0) {
    param_3 = param_1[0x98];
  }
  ResetMagickMemory(param_6,0,0x50);
  puVar30 = local_520;
  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;
  uVar24 = *param_1;
  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);
  *param_6 = uVar24;
  param_6[1] = param_1[1];
  param_6[5] = param_1[8];
  param_6[2] = param_1[0xa5];
  puVar31 = puVar30;
  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {
    *puVar31 = 0;
    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
  }
  switch(param_3) {
  default:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);
    dVar35 = _DAT_002df2e0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xa6];
      iVar3 = param_1[0xaa];
      iVar4 = param_1[0xa5];
      iVar27 = *(int *)(iVar3 + 0x20);
      iVar29 = *(int *)(iVar3 + 0x34);
      iVar5 = param_1[1];
      iVar17 = *(int *)(iVar3 + 8);
      iVar6 = *(int *)(iVar3 + 0x14);
      iVar32 = 0;
      do {
        dVar1 = *(double *)(iVar25 + iVar17 * 8);
        if (iVar4 == 0) {
          local_5a4[iVar32] = 1.0;
          *(double *)(puVar30 + 8) = dVar1;
          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);
          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);
          *(undefined8 *)(puVar30 + 0xe) = 0;
          if (iVar5 == 2) {
            if (*(int *)(iVar3 + 0x28) == 0) {
              uVar2 = 0;
            }
            else {
              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);
            }
            *(undefined8 *)(puVar30 + 0xe) = uVar2;
          }
        }
        else {
          if (iVar29 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;
            dVar1 = dVar1 * dVar7;
          }
          local_5a4[iVar32] = dVar7;
          *(double *)(puVar30 + 8) = dVar1;
          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;
          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;
          *(undefined8 *)(puVar30 + 0xe) = 0;
          if (iVar5 == 2) {
            if (*(int *)(iVar3 + 0x28) == 0) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);
            }
            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;
          }
        }
        if (iVar29 == 0) {
          dVar1 = (double)DAT_002df8a8;
        }
        else {
          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);
        }
        iVar32 = iVar32 + 1;
        *(double *)(puVar30 + 0x10) = dVar1;
        iVar25 = iVar25 + iVar23 * 8;
        puVar30 = puVar30 + 0x14;
      } while (iVar32 != 4);
      param_4 = param_4 - (double)local_66c._0_4_;
      param_5 = param_5 - (double)local_664._0_4_;
      dVar35 = 1.0 - param_4;
      dVar9 = 1.0 - param_5;
      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +
              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;
      dVar7 = DAT_002df8d8;
      dVar8 = dVar1;
      if (dVar1 < 0.0) {
        dVar7 = DAT_002df8e0;
        dVar8 = -dVar1;
      }
      if (DAT_002df2d0 <= dVar8) {
        dVar7 = (double)DAT_002df8b4 / dVar1;
      }
      *(double *)(param_6 + 8) =
           ((local_410 * param_4 + local_460 * dVar35) * param_5 +
           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;
      *(double *)(param_6 + 10) =
           ((local_408 * param_4 + local_458 * dVar35) * param_5 +
           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;
      *(double *)(param_6 + 0xc) =
           ((local_400 * param_4 + local_450 * dVar35) * param_5 +
           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;
      if (iVar5 == 2) {
        *(double *)(param_6 + 0xe) =
             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +
             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;
      }
      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);
      dVar1 = DAT_002df8d8;
      dVar7 = dVar8;
      if (dVar8 < 0.0) {
        dVar1 = DAT_002df8e0;
        dVar7 = -dVar8;
      }
      if (DAT_002df2d0 <= dVar7) {
        dVar1 = (double)DAT_002df8b4 / dVar8;
      }
      uVar24 = 1;
      *(double *)(param_6 + 0x10) =
           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +
                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);
      goto LAB_00134728;
    }
    break;
  case 1:
  case 2:
  case 3:
    if (param_3 == 2) {
      dVar35 = _UNK_00300760;
      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {
        dVar35 = param_4 + (double)DAT_002df2b8;
      }
      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);
      dVar35 = _UNK_00300760;
      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {
        dVar35 = param_5 + (double)DAT_002df2b8;
      }
      local_63c = 9;
      uVar24 = 3;
      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);
    }
    else {
      local_63c = 4;
      uVar24 = 2;
      if (param_3 == 3) {
        local_66c._0_4_ = local_66c._0_4_ + -1;
        local_63c = 0x10;
        uVar24 = 4;
        local_664._0_4_ = local_664._0_4_ + -1;
      }
    }
    iVar25 = GetCacheViewVirtualPixels
                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);
    dVar35 = DAT_002df2d0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xaa];
      iVar3 = param_1[0xa5];
      iVar4 = param_1[0xa6];
      iVar27 = param_1[1];
      local_65c = *(double *)(param_6 + 0x10);
      local_64c = *(double *)(param_6 + 0xe);
      dVar1 = *(double *)(param_6 + 0xc);
      iVar29 = *(int *)(iVar23 + 8);
      local_654 = *(double *)(param_6 + 10);
      local_664 = *(double *)(param_6 + 8);
      iVar5 = *(int *)(iVar23 + 0x14);
      iVar17 = *(int *)(iVar23 + 0x34);
      iVar6 = *(int *)(iVar23 + 0x20);
      iVar32 = 0;
      do {
        local_500 = *(double *)(iVar25 + iVar29 * 8);
        if (iVar3 == 0) {
          local_4f8 = *(double *)(iVar25 + iVar5 * 8);
          local_4f0 = *(double *)(iVar25 + iVar6 * 8);
          local_4e8 = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar23 + 0x28) == 0) {
              local_644 = 0.0;
            }
            else {
              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);
            }
            local_4e8 = local_644;
          }
          if (iVar17 == 0) {
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
          }
          dVar7 = 1.0;
code_r0x00134460:
          dVar8 = (double)DAT_002df8b4 / dVar7;
          local_4e0 = local_66c;
        }
        else {
          if (iVar17 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
            local_500 = local_500 * dVar7;
          }
          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;
          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;
          local_4e8 = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar23 + 0x28) == 0) {
              local_4e8 = 0.0;
            }
            else {
              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);
            }
            local_4e8 = local_4e8 * dVar7;
          }
          if (iVar17 == 0) {
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
          }
          local_4e0 = local_66c;
          dVar8 = DAT_002df8d8;
          dVar9 = dVar7;
          if (dVar7 < 0.0) {
            dVar8 = DAT_002df8e0;
            dVar9 = -dVar7;
          }
          if (dVar35 <= dVar9) goto code_r0x00134460;
        }
        iVar25 = iVar25 + iVar4 * 8;
        iVar32 = iVar32 + 1;
        local_664 = local_500 * dVar8 + local_664;
        *(double *)(param_6 + 8) = local_664;
        local_654 = local_654 + local_4f8 * dVar8;
        *(double *)(param_6 + 10) = local_654;
        dVar1 = local_4f0 * dVar8 + dVar1;
        *(double *)(param_6 + 0xc) = dVar1;
        local_64c = dVar8 * local_4e8 + local_64c;
        *(double *)(param_6 + 0xe) = local_64c;
        local_65c = local_65c + local_4e0;
        *(double *)(param_6 + 0x10) = local_65c;
      } while (iVar32 < local_63c);
      uVar24 = 1;
      dVar35 = (double)DAT_002df8b4 / (double)local_63c;
      *(double *)(param_6 + 8) = local_664 * dVar35;
      *(double *)(param_6 + 10) = local_654 * dVar35;
      *(double *)(param_6 + 0xc) = dVar1 * dVar35;
      *(double *)(param_6 + 0xe) = local_64c * dVar35;
      *(double *)(param_6 + 0x10) = local_65c * dVar35;
      goto LAB_00134728;
    }
    break;
  case 4:
    puVar30 = param_1 + 0x1f;
    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
      *param_6 = *puVar30;
      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;
      param_6 = param_6 + (uint)bVar34 * -2 + 1;
    }
    uVar24 = 1;
    goto LAB_00134728;
  case 6:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);
    if (iVar25 != 0) {
      local_64c._0_4_ = 0;
      local_644._0_4_ = param_1[0xa6];
      puVar31 = puVar30;
      do {
        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;
        ResetMagickMemory(puVar31,0,0x50);
        uVar24 = *param_1;
        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;
        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);
        *puVar31 = uVar24;
        iVar23 = param_1[1];
        puVar31[1] = iVar23;
        puVar31[5] = param_1[8];
        iVar3 = param_1[0xa5];
        puVar31[2] = iVar3;
        iVar4 = param_1[0xaa];
        iVar27 = *(int *)(iVar4 + 8);
        if (iVar29 == 0) {
          local_614 = iVar27 << 3;
          iStack_60c = *(int *)(iVar4 + 0x14) << 3;
          iVar27 = *(int *)(iVar4 + 0x20) << 3;
          iVar5 = *(int *)(iVar4 + 0x34);
        }
        else {
          local_614 = iVar27 * 8;
          iVar5 = *(int *)(iVar4 + 0x14);
          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);
          iStack_60c = iVar5 * 8;
          iVar17 = *(int *)(iVar4 + 0x20);
          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);
          iVar27 = iVar17 * 8;
          iVar5 = *(int *)(iVar4 + 0x28);
          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);
          if (iVar5 != 0) {
            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);
          }
          iVar5 = *(int *)(iVar4 + 0x34);
          if (iVar5 != 0) {
            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);
            puVar31[2] = 4;
            *(undefined8 *)(puVar31 + 0x10) = uVar2;
          }
          if (*(int *)(iVar4 + 0x40) != 0) {
            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);
          }
        }
        local_644._0_4_ = param_1[0xa6];
        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;
        dVar35 = *(double *)(iVar29 + local_614);
        if (iVar3 == 0) {
          local_5a4[local_64c._0_4_] = 1.0;
          *(double *)(puVar31 + 8) = dVar35;
          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);
          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);
          *(undefined8 *)(puVar31 + 0xe) = 0;
          if (iVar23 != 2) goto code_r0x0013490a;
          if (*(int *)(iVar4 + 0x28) == 0) {
            dVar35 = 0.0;
          }
          else {
            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);
          }
code_r0x0013559e:
          *(double *)(puVar31 + 0xe) = dVar35;
          if (iVar5 == 0) goto code_r0x001355ad;
code_r0x00134916:
          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);
        }
        else {
          if (iVar5 == 0) {
            dVar1 = 1.0;
          }
          else {
            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);
            dVar35 = dVar35 * dVar1;
          }
          local_5a4[local_64c._0_4_] = dVar1;
          *(double *)(puVar31 + 8) = dVar35;
          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;
          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;
          *(undefined8 *)(puVar31 + 0xe) = 0;
          if (iVar23 == 2) {
            if (*(int *)(iVar4 + 0x28) == 0) {
              dVar35 = 0.0;
            }
            else {
              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);
            }
            dVar35 = dVar35 * dVar1;
            goto code_r0x0013559e;
          }
code_r0x0013490a:
          if (iVar5 != 0) goto code_r0x00134916;
code_r0x001355ad:
          dVar35 = (double)DAT_002df8a8;
        }
        local_64c._0_4_ = local_64c._0_4_ + 1;
        *(double *)(puVar31 + 0x10) = dVar35;
        puVar31 = puVar31 + 0x14;
      } while (local_64c._0_4_ != 4);
      param_5 = param_5 - (double)local_664._0_4_;
      dVar35 = (double)DAT_003006a4;
      if (dVar35 <= param_5) {
        puVar31 = auStack_480;
        puVar33 = puVar30;
        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
          *puVar33 = *puVar31;
          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;
        }
        local_5a4[0] = local_5a4[2];
        fVar10 = 1.0;
code_r0x00136096:
        local_5a4[1] = local_5a4[3];
        puVar31 = auStack_430;
        puVar33 = auStack_4d0;
        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
          *puVar33 = *puVar31;
          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;
        }
      }
      else {
        fVar10 = DAT_002eb21c;
        if (param_5 <= (double)DAT_002eb220) {
          if (dVar35 <= param_5) {
            fVar10 = 1.0;
            goto code_r0x00136096;
          }
          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;
          fVar10 = 1.0;
        }
        else {
          local_5a4[0] = local_5a4[0] + local_5a4[2];
          local_500 = local_500 + local_460;
          local_4f8 = local_4f8 + local_458;
          local_4f0 = local_4f0 + local_450;
          local_4e8 = local_4e8 + local_448;
          local_4e0 = local_4e0 + local_440;
          if (dVar35 <= param_5) goto code_r0x00136096;
code_r0x001349ea:
          local_5a4[1] = local_5a4[1] + local_5a4[3];
          local_4b0 = local_4b0 + local_410;
          local_4a8 = local_4a8 + local_408;
          local_4a0 = local_4a0 + local_400;
          local_498 = local_498 + local_3f8;
          local_490 = local_490 + local_3f0;
        }
      }
      dVar35 = (double)local_66c._0_4_;
      dVar1 = local_4e8;
      dVar7 = local_4f8;
      dVar8 = local_500;
      if (param_4 - dVar35 < (double)DAT_003006a4) {
        local_66c = local_4f0;
        local_664 = local_4e0;
        dVar9 = local_5a4[0];
        if ((double)DAT_002eb220 < param_4 - dVar35) {
          fVar10 = fVar10 + fVar10;
          dVar9 = local_5a4[0] + local_5a4[1];
          local_66c = local_4f0 + local_4a0;
          local_664 = local_490 + local_4e0;
          dVar1 = local_4e8 + local_498;
          dVar7 = local_4f8 + local_4a8;
          dVar8 = local_500 + local_4b0;
        }
      }
      else {
        puVar31 = auStack_4d0;
        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
          *puVar30 = *puVar31;
          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;
        }
        local_66c = local_4f0;
        local_664 = local_4e0;
        dVar9 = local_5a4[1];
      }
      fVar10 = DAT_002df8b4 / fVar10;
      dVar35 = DAT_002df8d8;
      dVar11 = dVar9;
      if (dVar9 < 0.0) {
        dVar35 = DAT_002df8e0;
        dVar11 = -dVar9;
      }
      if (DAT_002df2d0 <= dVar11) {
        dVar35 = (double)DAT_002df8b4 / dVar9;
      }
      uVar24 = 1;
      *(double *)(param_6 + 8) = dVar8 * dVar35;
      *(double *)(param_6 + 10) = dVar7 * dVar35;
      *(double *)(param_6 + 0xc) = local_66c * dVar35;
      *(double *)(param_6 + 0xe) = dVar35 * dVar1;
      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);
      goto LAB_00134728;
    }
    break;
  case 7:
    iVar25 = GetCacheViewVirtualPixels
                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);
    dVar35 = _DAT_002df2e0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xa6];
      iVar3 = param_1[0xa5];
      iVar4 = param_1[0xaa];
      iVar27 = param_1[1];
      iVar29 = *(int *)(iVar4 + 0x34);
      iVar5 = *(int *)(iVar4 + 0x20);
      pdVar28 = &local_500;
      iVar17 = *(int *)(iVar4 + 8);
      iVar6 = *(int *)(iVar4 + 0x14);
      iVar32 = 0;
      do {
        dVar1 = *(double *)(iVar25 + iVar17 * 8);
        if (iVar3 == 0) {
          local_5a4[iVar32] = 1.0;
          *pdVar28 = dVar1;
          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);
          pdVar28[3] = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar4 + 0x28) == 0) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
            }
            pdVar28[3] = dVar1;
          }
code_r0x0013466a:
          if (iVar29 == 0) goto code_r0x00134700;
code_r0x00134672:
          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);
        }
        else {
          if (iVar29 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;
            dVar1 = dVar1 * dVar7;
          }
          local_5a4[iVar32] = dVar7;
          *pdVar28 = dVar1;
          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;
          pdVar28[3] = 0.0;
          if (iVar27 != 2) goto code_r0x0013466a;
          if (*(int *)(iVar4 + 0x28) == 0) {
            dVar1 = 0.0;
          }
          else {
            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
          }
          pdVar28[3] = dVar1 * dVar7;
          if (iVar29 != 0) goto code_r0x00134672;
code_r0x00134700:
          dVar1 = (double)DAT_002df8a8;
        }
        iVar32 = iVar32 + 1;
        pdVar28[4] = dVar1;
        iVar25 = iVar25 + iVar23 * 8;
        pdVar28 = pdVar28 + 10;
      } while (iVar32 != 0x10);
      param_4 = param_4 - (double)local_66c._0_4_;
      dVar35 = 1.0 - param_4;
      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;
      dVar12 = dVar35 * dVar1;
      dVar1 = dVar1 * param_4;
      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);
      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);
      param_5 = param_5 - (double)local_664._0_4_;
      dVar7 = 1.0 - param_5;
      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;
      dVar11 = dVar9 * dVar7;
      dVar9 = dVar9 * param_5;
      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);
      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);
      *(double *)(param_6 + 8) =
           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *
           dVar9 + (dStack_190 * dVar1 +
                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +
                   (dStack_2d0 * dVar1 +
                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +
                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 10) =
           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *
           dVar9 + (dStack_188 * dVar1 +
                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +
                   (dStack_2c8 * dVar1 +
                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +
                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 0xc) =
           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *
           dVar9 + (dStack_180 * dVar1 +
                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +
                   (dStack_2c0 * dVar1 +
                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +
                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12
                   ) * dVar11;
      if (iVar27 == 2) {
        *(double *)(param_6 + 0xe) =
             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *
             dVar9 + (dStack_178 * dVar1 +
                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +
                     (dStack_2b8 * dVar1 +
                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +
                     (local_3f8 * dVar1 +
                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;
      }
      uVar24 = 1;
      *(double *)(param_6 + 0x10) =
           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *
           dVar9 + (dStack_170 * dVar1 +
                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +
                   (dStack_2b0 * dVar1 +
                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +
                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12
                   ) * dVar11;
      goto LAB_00134728;
    }
    break;
  case 8:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);
    if (iVar25 != 0) {
      ResetMagickMemory(param_6,0,0x50);
      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;
code_r0x0013517c:
      uVar2 = *(undefined8 *)(param_1 + 0x88);
      *param_6 = *param_1;
      uVar24 = param_1[1];
      *(undefined8 *)(param_6 + 3) = uVar2;
      param_6[1] = uVar24;
      param_6[5] = param_1[8];
      param_6[2] = param_1[0xa5];
      iVar23 = param_1[0xaa];
      iVar3 = *(int *)(iVar23 + 0x28);
      iVar4 = *(int *)(iVar23 + 0x14);
      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);
      iVar27 = *(int *)(iVar23 + 0x20);
      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);
      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);
      if (iVar3 != 0) {
        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);
      }
      if (*(int *)(iVar23 + 0x34) != 0) {
        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
        param_6[2] = 4;
        *(undefined8 *)(param_6 + 0x10) = uVar2;
      }
      if (*(int *)(iVar23 + 0x40) != 0) {
        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);
      }
      uVar24 = 1;
      goto LAB_00134728;
    }
    break;
  case 9:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);
    if (iVar25 != 0) {
      param_4 = param_4 - (double)local_66c._0_4_;
      iVar5 = param_1[0xaa];
      param_5 = param_5 - (double)local_664._0_4_;
      iVar4 = *(int *)(iVar5 + 8) * 8;
      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);
      dVar1 = (double)DAT_002f2b64;
      iVar27 = *(int *)(iVar5 + 0x14) * 8;
      iVar29 = *(int *)(iVar5 + 0x20) * 8;
      pdVar28 = (double *)(iVar25 + iVar29);
      iVar3 = param_1[0xa6];
      iVar23 = iVar25 + iVar3 * 0x18;
      pdVar14 = (double *)(iVar23 + iVar4);
      pdVar15 = (double *)(iVar23 + iVar27);
      pdVar16 = (double *)(iVar23 + iVar29);
      dVar8 = (double)DAT_002f2b68;
      dVar35 = dStack_5ec * dVar8;
      dVar7 = (double)DAT_002f2b6c;
      iVar17 = iVar23 + iVar3 * -0x10;
      pdVar18 = (double *)(iVar17 + iVar4);
      pdVar19 = (double *)(iVar17 + iVar27);
      pdVar20 = (double *)(iVar17 + iVar29);
      iVar3 = iVar17 + iVar3 * 8;
      pdVar26 = (double *)(iVar27 + iVar3);
      pdVar21 = (double *)(iVar4 + iVar3);
      pdVar22 = (double *)(iVar29 + iVar3);
      iVar4 = *(int *)(iVar5 + 0x34);
      iVar29 = param_1[1];
      if (param_1[0xa5] == 0) {
        local_5a4[0] = 1.0;
        local_4f8 = *(double *)(iVar25 + iVar27);
        local_4f0 = *pdVar28;
        local_4e8 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_4e8 = 0.0;
          }
          else {
            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);
          }
          if (iVar4 != 0) goto code_r0x0013613f;
          local_4e0 = (double)DAT_002df8a8;
          local_4b0 = *pdVar18;
          local_4a8 = *pdVar19;
          local_4a0 = *pdVar20;
code_r0x00136ae2:
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_498 = 0.0;
          }
          else {
            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);
          }
          if (iVar4 == 0) {
            local_490 = (double)DAT_002df8a8;
            local_460 = *pdVar21;
            local_458 = *pdVar26;
            local_450 = *pdVar22;
code_r0x00136b5f:
            if (*(int *)(iVar5 + 0x28) == 0) {
              local_448 = 0.0;
            }
            else {
              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);
            }
            if (iVar4 == 0) goto code_r0x00136b86;
          }
          else {
code_r0x001361a4:
            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);
            local_460 = *pdVar21;
            local_458 = *pdVar26;
            local_450 = *pdVar22;
            local_448 = 0.0;
            if (iVar29 == 2) goto code_r0x00136b5f;
          }
          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);
          local_410 = *pdVar14;
          local_408 = *pdVar15;
          local_400 = *pdVar16;
          local_3f8 = 0.0;
          if (iVar29 == 2) goto code_r0x0013626b;
code_r0x00136296:
          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);
        }
        else {
          if (iVar4 != 0) {
code_r0x0013613f:
            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);
            local_4b0 = *pdVar18;
            local_4a8 = *pdVar19;
            local_4a0 = *pdVar20;
            local_498 = 0.0;
            if (iVar29 == 2) goto code_r0x00136ae2;
            goto code_r0x001361a4;
          }
          local_4e0 = (double)DAT_002df8a8;
          local_4b0 = *pdVar18;
          local_4a8 = *pdVar19;
          local_4a0 = *pdVar20;
          local_498 = 0.0;
          local_490 = (double)DAT_002df8a8;
          local_460 = *pdVar21;
          local_458 = *pdVar26;
          local_450 = *pdVar22;
          local_448 = 0.0;
code_r0x00136b86:
          local_440 = (double)DAT_002df8a8;
          local_410 = *pdVar14;
          local_408 = *pdVar15;
          local_400 = *pdVar16;
          local_3f8 = 0.0;
          if (iVar29 == 2) {
code_r0x0013626b:
            if (*(int *)(iVar5 + 0x28) == 0) {
              local_3f8 = 0.0;
            }
            else {
              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);
            }
            if (iVar4 != 0) goto code_r0x00136296;
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = (double)DAT_002df8a8;
          }
        }
        local_5a4[3] = 1.0;
        local_5a4[2] = 1.0;
        local_5a4[1] = 1.0;
      }
      else {
        if (iVar4 == 0) {
          local_5a4[0] = 1.0;
        }
        else {
          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);
          dStack_5ec = dStack_5ec * local_5a4[0];
        }
        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];
        local_4f0 = *pdVar28 * local_5a4[0];
        local_4e8 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_4e8 = 0.0;
          }
          else {
            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_4e8 = local_4e8 * local_5a4[0];
        }
        if (iVar4 == 0) {
          local_4e0 = (double)DAT_002df8a8;
          local_5a4[1] = 1.0;
        }
        else {
          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);
          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);
        }
        local_4b0 = *pdVar18 * local_5a4[1];
        local_4a8 = *pdVar19 * local_5a4[1];
        local_4a0 = *pdVar20 * local_5a4[1];
        local_498 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_498 = 0.0;
          }
          else {
            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_498 = local_498 * local_5a4[1];
        }
        if (iVar4 == 0) {
          local_490 = (double)DAT_002df8a8;
          local_5a4[2] = 1.0;
        }
        else {
          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);
          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);
        }
        local_460 = *pdVar21 * local_5a4[2];
        local_458 = *pdVar26 * local_5a4[2];
        local_450 = *pdVar22 * local_5a4[2];
        local_448 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_448 = 0.0;
          }
          else {
            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_448 = local_448 * local_5a4[2];
        }
        if (iVar4 == 0) {
          local_440 = (double)DAT_002df8a8;
          local_5a4[3] = 1.0;
        }
        else {
          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);
          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);
        }
        local_410 = *pdVar14 * local_5a4[3];
        local_408 = *pdVar15 * local_5a4[3];
        local_400 = *pdVar16 * local_5a4[3];
        local_3f8 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_3f8 = 0.0;
          }
          else {
            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_3f8 = local_3f8 * local_5a4[3];
        }
        if (iVar4 == 0) {
          local_66c = (double)DAT_002df8a8;
        }
        else {
          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);
        }
      }
      dVar9 = 1.0 - param_4;
      local_500 = dStack_5ec;
      local_3f0 = local_66c;
      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -
              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=
          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -
              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {
        dVar35 = 1.0 - param_5;
        if (dVar35 < param_4) {
          dVar8 = (1.0 - dVar9) - dVar35;
          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;
          dVar7 = DAT_002df8d8;
          dVar11 = dVar1;
          if (dVar1 < 0.0) {
            dVar7 = DAT_002df8e0;
            dVar11 = -dVar1;
          }
          if (DAT_002df2d0 <= dVar11) {
            dVar7 = (double)DAT_002df8b4 / dVar1;
          }
          *(double *)(param_6 + 8) =
               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;
          *(double *)(param_6 + 10) =
               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;
          *(double *)(param_6 + 0xc) =
               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;
          if (iVar29 == 2) {
            *(double *)(param_6 + 0xe) =
                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;
          }
          uVar24 = 1;
          *(double *)(param_6 + 0x10) =
               (dVar9 + dVar35 + dVar8) *
               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);
        }
        else {
          dVar9 = dVar9 - param_5;
          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;
          dVar1 = DAT_002df8d8;
          dVar7 = dVar35;
          if (dVar35 < 0.0) {
            dVar1 = DAT_002df8e0;
            dVar7 = -dVar35;
          }
          if (DAT_002df2d0 <= dVar7) {
            dVar1 = (double)DAT_002df8b4 / dVar35;
          }
          *(double *)(param_6 + 8) =
               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;
          *(double *)(param_6 + 10) =
               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;
          *(double *)(param_6 + 0xc) =
               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;
          if (iVar29 == 2) {
            *(double *)(param_6 + 0xe) =
                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;
          }
          uVar24 = 1;
          *(double *)(param_6 + 0x10) =
               (dVar9 + param_4 + param_5) *
               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);
        }
      }
      else if (param_5 < param_4) {
        dVar7 = (1.0 - dVar9) - param_5;
        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;
        dVar1 = DAT_002df8d8;
        dVar8 = dVar35;
        if (dVar35 < 0.0) {
          dVar1 = DAT_002df8e0;
          dVar8 = -dVar35;
        }
        if (DAT_002df2d0 <= dVar8) {
          dVar1 = (double)DAT_002df8b4 / dVar35;
        }
        *(double *)(param_6 + 8) =
             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;
        *(double *)(param_6 + 10) =
             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;
        *(double *)(param_6 + 0xc) =
             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;
        if (iVar29 == 2) {
          *(double *)(param_6 + 0xe) =
               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;
        }
        uVar24 = 1;
        *(double *)(param_6 + 0x10) =
             (dVar9 + param_5 + dVar7) *
             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);
      }
      else {
        param_5 = 1.0 - param_5;
        dVar9 = dVar9 - param_5;
        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;
        dVar1 = DAT_002df8d8;
        dVar7 = dVar35;
        if (dVar35 < 0.0) {
          dVar1 = DAT_002df8e0;
          dVar7 = -dVar35;
        }
        if (DAT_002df2d0 <= dVar7) {
          dVar1 = (double)DAT_002df8b4 / dVar35;
        }
        *(double *)(param_6 + 8) =
             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;
        *(double *)(param_6 + 10) =
             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;
        *(double *)(param_6 + 0xc) =
             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;
        if (iVar29 == 2) {
          *(double *)(param_6 + 0xe) =
               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;
        }
        uVar24 = 1;
        *(double *)(param_6 + 0x10) =
             (dVar9 + param_4 + param_5) *
             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);
      }
      goto LAB_00134728;
    }
    break;
  case 10:
    iVar25 = -0x7ffffdff;
    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {
      dVar35 = floor(param_4 + (double)DAT_002df2b8);
      iVar25 = (int)ROUND(dVar35);
    }
    iVar23 = -0x7ffffdff;
    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {
      dVar35 = floor(param_5 + (double)DAT_002df2b8);
      iVar23 = (int)ROUND(dVar35);
    }
    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);
    if (iVar25 != 0) {
      ResetMagickMemory(param_6,0,0x50);
      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;
      goto code_r0x0013517c;
    }
    break;
  case 0xb:
    iVar25 = GetCacheViewVirtualPixels
                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);
    dVar35 = _DAT_002df2e0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xa6];
      iVar3 = param_1[0xa5];
      iVar4 = param_1[0xaa];
      iVar27 = param_1[1];
      iVar29 = *(int *)(iVar4 + 0x34);
      iVar5 = *(int *)(iVar4 + 0x20);
      pdVar28 = &local_500;
      iVar17 = *(int *)(iVar4 + 8);
      iVar6 = *(int *)(iVar4 + 0x14);
      iVar32 = 0;
      do {
        dVar1 = *(double *)(iVar25 + iVar17 * 8);
        if (iVar3 == 0) {
          local_5a4[iVar32] = 1.0;
          *pdVar28 = dVar1;
          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);
          pdVar28[3] = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar4 + 0x28) == 0) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
            }
            pdVar28[3] = dVar1;
          }
code_r0x0013429a:
          if (iVar29 == 0) goto code_r0x00134330;
code_r0x001342a2:
          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);
        }
        else {
          if (iVar29 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;
            dVar1 = dVar1 * dVar7;
          }
          local_5a4[iVar32] = dVar7;
          *pdVar28 = dVar1;
          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;
          pdVar28[3] = 0.0;
          if (iVar27 != 2) goto code_r0x0013429a;
          if (*(int *)(iVar4 + 0x28) == 0) {
            dVar1 = 0.0;
          }
          else {
            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
          }
          pdVar28[3] = dVar1 * dVar7;
          if (iVar29 != 0) goto code_r0x001342a2;
code_r0x00134330:
          dVar1 = (double)DAT_002df8a8;
        }
        iVar32 = iVar32 + 1;
        pdVar28[4] = dVar1;
        iVar25 = iVar25 + iVar23 * 8;
        pdVar28 = pdVar28 + 10;
      } while (iVar32 != 0x10);
      param_4 = param_4 - (double)local_66c._0_4_;
      dVar35 = 1.0 - param_4;
      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;
      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;
      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);
      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);
      param_5 = param_5 - (double)local_664._0_4_;
      dVar7 = 1.0 - param_5;
      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;
      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;
      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);
      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);
      *(double *)(param_6 + 8) =
           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *
           dVar9 + (dStack_190 * dVar1 +
                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +
                   (dStack_2d0 * dVar1 +
                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +
                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 10) =
           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *
           dVar9 + (dStack_188 * dVar1 +
                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +
                   (dStack_2c8 * dVar1 +
                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +
                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 0xc) =
           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *
           dVar9 + (dStack_180 * dVar1 +
                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +
                   (dStack_2c0 * dVar1 +
                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +
                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12
                   ) * dVar11;
      if (iVar27 == 2) {
        *(double *)(param_6 + 0xe) =
             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *
             dVar9 + (dStack_178 * dVar1 +
                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +
                     (dStack_2b8 * dVar1 +
                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +
                     (local_3f8 * dVar1 +
                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;
      }
      uVar24 = 1;
      *(double *)(param_6 + 0x10) =
           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *
           dVar9 + (dStack_170 * dVar1 +
                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +
                   (dStack_2b0 * dVar1 +
                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +
                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12
                   ) * dVar11;
      goto LAB_00134728;
    }
  }
  uVar24 = 0;
LAB_00134728:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar24;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002decd0();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00039d70
ADD EBX,0x2ea047
SUB ESP,0x65c
MOV EAX,dword ptr [ESP + 0x690]
MOV EDX,dword ptr [ESP + 0x670]
FLD qword ptr [ESP + 0x67c]
FSTP qword ptr [ESP + 0x10]
FLD qword ptr [ESP + 0x684]
MOV dword ptr [ESP + 0x28],EAX
MOV ESI,dword ptr [ESP + 0x674]
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x64c],EAX
XOR EAX,EAX
FSTP qword ptr [ESP + 0x18]
MOV EBP,dword ptr [ESP + 0x68c]
TEST EDX,EDX
JZ 0x00136d6b
CMP dword ptr [EDX + 0x3344],0xabacadab
JNZ 0x00136da9
TEST ESI,ESI
JZ 0x00136d8a
FLD qword ptr [ESP + 0x10]
FLD qword ptr [EBX + 0xffed4490]
MOV dword ptr [ESP],0x80000201
FUCOMIP ST0,ST1
JA 0x001340a0
FLD qword ptr [EBX + 0xffed4498]
FXCH
MOV dword ptr [ESP],0x7ffffdff
FUCOMI ST0,ST1
FSTP ST1
JA 0x001340a8
MOV dword ptr [ESP + 0x8],EDX
SUB ESP,0x10
FSTP qword ptr [ESP]
CALL 0x00031230
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x8]
FNSTCW word ptr [ESP + 0xb6]
MOVZX EAX,word ptr [ESP + 0xb6]
OR AH,0xc
MOV word ptr [ESP + 0xb4],AX
FLDCW word ptr [ESP + 0xb4]
FISTP dword ptr [ESP]
FLDCW word ptr [ESP + 0xb6]
JMP 0x001340aa
FSTP ST0
JMP 0x001340aa
FSTP ST0
FLD qword ptr [ESP + 0x18]
FLD qword ptr [EBX + 0xffed4490]
MOV dword ptr [ESP + 0x8],0x80000201
FUCOMIP ST0,ST1
JA 0x00134120
FLD qword ptr [EBX + 0xffed4498]
FXCH
MOV dword ptr [ESP + 0x8],0x7ffffdff
FUCOMI ST0,ST1
FSTP ST1
JA 0x00134128
MOV dword ptr [ESP + 0x20],EDX
SUB ESP,0x10
FSTP qword ptr [ESP]
CALL 0x00031230
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x20]
FNSTCW word ptr [ESP + 0xb6]
MOVZX EAX,word ptr [ESP + 0xb6]
OR AH,0xc
MOV word ptr [ESP + 0xb4],AX
FLDCW word ptr [ESP + 0xb4]
FISTP dword ptr [ESP + 0x8]
FLDCW word ptr [ESP + 0xb6]
JMP 0x0013412a
FSTP ST0
JMP 0x0013412a
FSTP ST0
MOV EAX,dword ptr [ESP + 0x678]
TEST EAX,EAX
JZ 0x001341b0
MOV dword ptr [ESP + 0x20],EDX
SUB ESP,0x4
PUSH 0x50
PUSH 0x0
PUSH EBP
CALL 0x00032b20
MOV EDX,dword ptr [ESP + 0x30]
MOV ECX,0x140
LEA EDI,[ESP + 0x15c]
FLD dword ptr [EBX + 0xffec18a8]
MOV dword ptr [ESP + 0x40],EDI
ADD ESP,0x10
FSTP qword ptr [EBP + 0x40]
MOV EAX,dword ptr [EDX]
FLD qword ptr [EDX + 0x220]
FSTP qword ptr [EBP + 0xc]
MOV dword ptr [EBP],EAX
MOV EAX,dword ptr [EDX + 0x4]
MOV dword ptr [EBP + 0x4],EAX
MOV EAX,dword ptr [EDX + 0x20]
MOV dword ptr [EBP + 0x14],EAX
MOV EAX,dword ptr [EDX + 0x294]
MOV dword ptr [EBP + 0x8],EAX
XOR EAX,EAX
CMP dword ptr [ESP + 0x678],0xb
STOSD.REP ES:EDI
JA 0x00135208
MOV EDI,dword ptr [ESP + 0x678]
MOV EAX,dword ptr [EBX + EDI*0x4 + 0xffee2388]
ADD EAX,EBX
JMP EAX
MOV EAX,dword ptr [EDX + 0x260]
MOV dword ptr [ESP + 0x678],EAX
JMP 0x00134135
MOV ESI,dword ptr [ESP + 0x64c]
XOR ESI,dword ptr GS:[0x14]
JNZ 0x00136dc8
ADD ESP,0x65c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0x20],EDX
SUB ESP,0x8
PUSH dword ptr [ESP + 0x30]
PUSH 0x2
PUSH 0x2
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x18]
PUSH ESI
CALL 0x00031280
ADD ESP,0x20
TEST EAX,EAX
JZ 0x001354f0
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x58],EBP
FLD qword ptr [EBX + 0xffec12e0]
MOV ESI,dword ptr [EDX + 0x298]
MOV ECX,dword ptr [EDX + 0x2a8]
SHL ESI,0x3
MOV dword ptr [ESP + 0x40],ESI
MOV ESI,dword ptr [EDX + 0x294]
MOV EDI,dword ptr [ECX + 0x20]
MOV dword ptr [ESP + 0x38],ESI
MOV ESI,dword ptr [ECX + 0x34]
MOV dword ptr [ESP + 0x48],EDI
LEA EDI,[ESP + 0xc8]
MOV dword ptr [ESP + 0x20],ESI
MOV ESI,dword ptr [EDX + 0x4]
MOV EDX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x28],ESI
MOV ESI,dword ptr [ECX + 0x8]
MOV dword ptr [ESP + 0x30],ESI
MOV ESI,dword ptr [ECX + 0x14]
MOV dword ptr [ESP + 0x50],ESI
XOR ESI,ESI
MOV EBP,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x50],EDI
MOV EDI,dword ptr [ESP + 0x30]
FLD qword ptr [EAX + EDI*0x8]
MOV EDI,dword ptr [ESP + 0x38]
TEST EDI,EDI
JNZ 0x001355c0
MOV EDI,dword ptr [ESP + 0x50]
FLD1
CMP dword ptr [ESP + 0x28],0x2
FSTP qword ptr [EDI + ESI*0x8]
MOV EDI,dword ptr [ESP + 0x48]
FSTP qword ptr [EDX + 0x20]
FLD qword ptr [EAX + EBP*0x8]
FSTP qword ptr [EDX + 0x28]
FLD qword ptr [EAX + EDI*0x8]
FSTP qword ptr [EDX + 0x30]
FLDZ
FSTP qword ptr [EDX + 0x38]
JZ 0x00136028
JMP 0x001352da
FSTP ST0
MOV EDI,dword ptr [ESP + 0x20]
TEST EDI,EDI
JZ 0x00135628
MOV EDI,dword ptr [ECX + 0x38]
FLD qword ptr [EAX + EDI*0x8]
ADD ESI,0x1
FSTP qword ptr [EDX + 0x40]
ADD EAX,dword ptr [ESP + 0x40]
ADD EDX,0x50
CMP ESI,0x4
JNZ 0x00135293
FSTP ST0
FILD dword ptr [ESP]
FSUBR qword ptr [ESP + 0x10]
FILD dword ptr [ESP + 0x8]
FSUBR qword ptr [ESP + 0x18]
MOV EBP,dword ptr [ESP + 0x58]
FLD1
FLD ST0
FSUB ST0,ST3
FXCH
FSUB ST0,ST2
FLD qword ptr [ESP + 0xc8]
FMUL ST2
FLD qword ptr [ESP + 0xd0]
FMUL ST5
FADDP
FMUL ST1
FLD qword ptr [ESP + 0xd8]
FMUL ST3
FLD qword ptr [ESP + 0xe0]
FMUL ST6
FADDP
FMUL ST4
FADDP
FLDZ
FLD ST1
FXCH
FUCOMIP ST0,ST2
JA 0x00136710
FLD qword ptr [EBX + 0xffec18d8]
FLD qword ptr [EBX + 0xffec12d0]
FXCH ST2
FUCOMIP ST0,ST2
FSTP ST1
JNC 0x00136060
FSTP ST1
FLD qword ptr [ESP + 0x16c]
FMUL ST3
CMP dword ptr [ESP + 0x28],0x2
FLD qword ptr [ESP + 0x1bc]
FMUL ST6
FADDP
FMUL ST2
FLD qword ptr [ESP + 0x20c]
FMUL ST4
FLD qword ptr [ESP + 0x25c]
FMUL ST7
FADDP
FMUL ST5
FADDP
FMUL ST1
FSTP qword ptr [EBP + 0x20]
FLD qword ptr [ESP + 0x174]
FMUL ST3
FLD qword ptr [ESP + 0x1c4]
FMUL ST6
FADDP
FMUL ST2
FLD qword ptr [ESP + 0x214]
FMUL ST4
FLD qword ptr [ESP + 0x264]
FMUL ST7
FADDP
FMUL ST5
FADDP
FMUL ST1
FSTP qword ptr [EBP + 0x28]
FLD qword ptr [ESP + 0x17c]
FMUL ST3
FLD qword ptr [ESP + 0x1cc]
FMUL ST6
FADDP
FMUL ST2
FLD qword ptr [ESP + 0x21c]
FMUL ST4
FLD qword ptr [ESP + 0x26c]
FMUL ST7
FADDP
FMUL ST5
FADDP
FMUL ST1
FSTP qword ptr [EBP + 0x30]
JNZ 0x00135450
FLD qword ptr [ESP + 0x184]
FMUL ST3
FLD qword ptr [ESP + 0x1d4]
FMUL ST6
FADDP
FMUL ST2
FLD qword ptr [ESP + 0x224]
FMUL ST4
FLD qword ptr [ESP + 0x274]
FMUL ST7
FADDP
FMUL ST5
FADDP
FMULP
FSTP qword ptr [EBP + 0x38]
JMP 0x00135452
FSTP ST0
FLD ST3
FADD ST0,ST2
FLD ST1
FMUL ST1
FXCH
FMUL ST4
FADDP
FLDZ
FLD ST1
FXCH
FUCOMIP ST0,ST2
JA 0x00136700
FLD qword ptr [EBX + 0xffec18d8]
FLD qword ptr [EBX + 0xffec12d0]
FXCH ST2
FUCOMIP ST0,ST2
FSTP ST1
JC 0x00135490
FSTP ST0
FDIVR dword ptr [EBX + 0xffec18b4]
JMP 0x00135492
FSTP ST1
FLD qword ptr [ESP + 0x18c]
MOV EAX,0x1
FMUL ST3
FLD qword ptr [ESP + 0x1dc]
FMUL ST6
FADDP
FMULP ST2
FXCH ST2
FMUL qword ptr [ESP + 0x22c]
FXCH ST4
FMUL qword ptr [ESP + 0x27c]
FADDP ST4,ST0
FXCH ST3
FMULP ST2
FXCH
FADDP ST2,ST0
FMULP
FSTP qword ptr [EBP + 0x40]
JMP 0x00134728
XOR EAX,EAX
JMP 0x00134728
MOV EDI,dword ptr [ESP + 0x20]
TEST EDI,EDI
JZ 0x00135b70
MOV EDI,dword ptr [ECX + 0x38]
FLD qword ptr [EAX + EDI*0x8]
FMUL ST2
FMUL ST1
MOV EDI,dword ptr [ESP + 0x50]
CMP dword ptr [ESP + 0x28],0x2
FST qword ptr [EDI + ESI*0x8]
FXCH
MOV EDI,dword ptr [ESP + 0x48]
FSTP qword ptr [EDX + 0x20]
FLD qword ptr [EAX + EBP*0x8]
FMUL ST1
FSTP qword ptr [EDX + 0x28]
FLD qword ptr [EAX + EDI*0x8]
FMUL ST1
FSTP qword ptr [EDX + 0x30]
FLDZ
FSTP qword ptr [EDX + 0x38]
JNZ 0x001352d8
MOV EDI,dword ptr [ECX + 0x28]
TEST EDI,EDI
JZ 0x00136378
MOV EDI,dword ptr [ECX + 0x2c]
FLD qword ptr [EAX + EDI*0x8]
FMULP
FSTP qword ptr [EDX + 0x38]
JMP 0x001352da
FLD dword ptr [EBX + 0xffec18a8]
JMP 0x001352ec
FLD1
JMP 0x001355d6
MOV EDI,dword ptr [ECX + 0x28]
TEST EDI,EDI
JZ 0x001363a0
MOV EDI,dword ptr [ECX + 0x2c]
FLD qword ptr [EAX + EDI*0x8]
FSTP qword ptr [EDX + 0x38]
JMP 0x001352da
FSTP ST0
FDIVR dword ptr [EBX + 0xffec18b4]
JMP 0x00135373
FLDZ
JMP 0x00135617
FLDZ
JMP 0x00136039
FCHS
FLD qword ptr [EBX + 0xffec18e0]
JMP 0x00135474
FCHS
FLD qword ptr [EBX + 0xffec18e0]
JMP 0x0013535f
LEA EAX,[EBX + 0xffee23f4]
PUSH EAX
LEA EAX,[EBX + 0xffee19fd]
PUSH 0x1586
PUSH EAX
LEA EAX,[EBX + 0xffed9cf4]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffee23f4]
PUSH EAX
LEA EAX,[EBX + 0xffee19fd]
PUSH 0x1588
PUSH EAX
LEA EAX,[EBX + 0xffee262c]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffee23f4]
PUSH EAX
LEA EAX,[EBX + 0xffee19fd]
PUSH 0x1587
PUSH EAX
LEA EAX,[EBX + 0xffecc4b8]
PUSH EAX
CALL 0x000313d0
CALL 0x002decd0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined4\nInterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)\n\n{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\n}\n\n" comment comment (function_definition "undefined4\nInterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)\n\n{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\n}" type_identifier (function_declarator "InterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "double param_4" primitive_type identifier) , (parameter_declaration "double param_5" primitive_type identifier) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "double dVar7;" primitive_type identifier ;) (declaration "double dVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "float fVar10;" primitive_type identifier ;) (declaration "double dVar11;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar13;" primitive_type identifier ;) (declaration "double *pdVar14;" primitive_type (pointer_declarator "*pdVar14" * identifier) ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (declaration "double *pdVar16;" primitive_type (pointer_declarator "*pdVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "double *pdVar18;" primitive_type (pointer_declarator "*pdVar18" * identifier) ;) (declaration "double *pdVar19;" primitive_type (pointer_declarator "*pdVar19" * identifier) ;) (declaration "double *pdVar20;" primitive_type (pointer_declarator "*pdVar20" * identifier) ;) (declaration "double *pdVar21;" primitive_type (pointer_declarator "*pdVar21" * identifier) ;) (declaration "double *pdVar22;" primitive_type (pointer_declarator "*pdVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "double *pdVar26;" primitive_type (pointer_declarator "*pdVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "double *pdVar28;" primitive_type (pointer_declarator "*pdVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined4 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "undefined4 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "double dVar35;" primitive_type identifier ;) (declaration "double local_66c;" primitive_type identifier ;) (declaration "double local_664;" primitive_type identifier ;) (declaration "double local_65c;" primitive_type identifier ;) (declaration "double local_654;" primitive_type identifier ;) (declaration "double local_64c;" primitive_type identifier ;) (declaration "double local_644;" primitive_type identifier ;) (declaration "int local_63c;" primitive_type identifier ;) (declaration "int local_614;" primitive_type identifier ;) (declaration "int iStack_60c;" primitive_type identifier ;) (declaration "double dStack_5ec;" primitive_type identifier ;) (declaration "double local_5a4 [16];" primitive_type (array_declarator "local_5a4 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_520 [8];" type_identifier (array_declarator "local_520 [8]" identifier [ number_literal ]) ;) (declaration "double local_500;" primitive_type identifier ;) (declaration "double local_4f8;" primitive_type identifier ;) (declaration "double local_4f0;" primitive_type identifier ;) (declaration "double local_4e8;" primitive_type identifier ;) (declaration "double local_4e0;" primitive_type identifier ;) (declaration "undefined4 auStack_4d0 [8];" type_identifier (array_declarator "auStack_4d0 [8]" identifier [ number_literal ]) ;) (declaration "double local_4b0;" primitive_type identifier ;) (declaration "double local_4a8;" primitive_type identifier ;) (declaration "double local_4a0;" primitive_type identifier ;) (declaration "double local_498;" primitive_type identifier ;) (declaration "double local_490;" primitive_type identifier ;) (declaration "undefined4 auStack_480 [8];" type_identifier (array_declarator "auStack_480 [8]" identifier [ number_literal ]) ;) (declaration "double local_460;" primitive_type identifier ;) (declaration "double local_458;" primitive_type identifier ;) (declaration "double local_450;" primitive_type identifier ;) (declaration "double local_448;" primitive_type identifier ;) (declaration "double local_440;" primitive_type identifier ;) (declaration "undefined4 auStack_430 [8];" type_identifier (array_declarator "auStack_430 [8]" identifier [ number_literal ]) ;) (declaration "double local_410;" primitive_type identifier ;) (declaration "double local_408;" primitive_type identifier ;) (declaration "double local_400;" primitive_type identifier ;) (declaration "double local_3f8;" primitive_type identifier ;) (declaration "double local_3f0;" primitive_type identifier ;) (declaration "double dStack_3c0;" primitive_type identifier ;) (declaration "double dStack_3b8;" primitive_type identifier ;) (declaration "double dStack_3b0;" primitive_type identifier ;) (declaration "double dStack_3a8;" primitive_type identifier ;) (declaration "double dStack_3a0;" primitive_type identifier ;) (declaration "double dStack_370;" primitive_type identifier ;) (declaration "double dStack_368;" primitive_type identifier ;) (declaration "double dStack_360;" primitive_type identifier ;) (declaration "double dStack_358;" primitive_type identifier ;) (declaration "double dStack_350;" primitive_type identifier ;) (declaration "double dStack_320;" primitive_type identifier ;) (declaration "double dStack_318;" primitive_type identifier ;) (declaration "double dStack_310;" primitive_type identifier ;) (declaration "double dStack_308;" primitive_type identifier ;) (declaration "double dStack_300;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "double dStack_2c8;" primitive_type identifier ;) (declaration "double dStack_2c0;" primitive_type identifier ;) (declaration "double dStack_2b8;" primitive_type identifier ;) (declaration "double dStack_2b0;" primitive_type identifier ;) (declaration "double dStack_280;" primitive_type identifier ;) (declaration "double dStack_278;" primitive_type identifier ;) (declaration "double dStack_270;" primitive_type identifier ;) (declaration "double dStack_268;" primitive_type identifier ;) (declaration "double dStack_260;" primitive_type identifier ;) (declaration "double dStack_230;" primitive_type identifier ;) (declaration "double dStack_228;" primitive_type identifier ;) (declaration "double dStack_220;" primitive_type identifier ;) (declaration "double dStack_218;" primitive_type identifier ;) (declaration "double dStack_210;" primitive_type identifier ;) (declaration "double dStack_1e0;" primitive_type identifier ;) (declaration "double dStack_1d8;" primitive_type identifier ;) (declaration "double dStack_1d0;" primitive_type identifier ;) (declaration "double dStack_1c8;" primitive_type identifier ;) (declaration "double dStack_1c0;" primitive_type identifier ;) (declaration "double dStack_190;" primitive_type identifier ;) (declaration "double dStack_188;" primitive_type identifier ;) (declaration "double dStack_180;" primitive_type identifier ;) (declaration "double dStack_178;" primitive_type identifier ;) (declaration "double dStack_170;" primitive_type identifier ;) (declaration "double dStack_140;" primitive_type identifier ;) (declaration "double dStack_138;" primitive_type identifier ;) (declaration "double dStack_130;" primitive_type identifier ;) (declaration "double dStack_128;" primitive_type identifier ;) (declaration "double dStack_120;" primitive_type identifier ;) (declaration "double dStack_f0;" primitive_type identifier ;) (declaration "double dStack_e8;" primitive_type identifier ;) (declaration "double dStack_e0;" primitive_type identifier ;) (declaration "double dStack_d8;" primitive_type identifier ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "double dStack_a0;" primitive_type identifier ;) (declaration "double dStack_98;" primitive_type identifier ;) (declaration "double dStack_90;" primitive_type identifier ;) (declaration "double dStack_88;" primitive_type identifier ;) (declaration "double dStack_80;" primitive_type identifier ;) (declaration "double dStack_50;" primitive_type identifier ;) (declaration "double dStack_48;" primitive_type identifier ;) (declaration "double dStack_40;" primitive_type identifier ;) (declaration "double dStack_38;" primitive_type identifier ;) (declaration "double dStack_30;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x133fb9;" (assignment_expression "uStack_14 = 0x133fb9" identifier = number_literal) ;) (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) ))))) ;) (if_statement "if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" if (parenthesized_expression "(param_1 == (undefined4 *)0x0)" ( (binary_expression "param_1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" identifier (argument_list "("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" if (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" ( (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" { comment (expression_statement "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" identifier (argument_list "("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" ( (string_literal ""image_view != (CacheView *) NULL"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (expression_statement "local_66c._0_4_ = -0x7ffffdff;" (assignment_expression "local_66c._0_4_ = -0x7ffffdff" (field_expression "local_66c._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }" if (parenthesized_expression "((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" ( (binary_expression "DAT_002f2490 <= param_4" identifier <= identifier) )) && (parenthesized_expression "(local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)" ( (comma_expression "local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498" (assignment_expression "local_66c._0_4_ = 0x7ffffdff" (field_expression "local_66c._0_4_" identifier . field_identifier) = number_literal) , (binary_expression "param_4 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }" { (expression_statement "dVar35 = floor(param_4);" (assignment_expression "dVar35 = floor(param_4)" identifier = (call_expression "floor(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "local_66c._0_4_ = (int)ROUND(dVar35);" (assignment_expression "local_66c._0_4_ = (int)ROUND(dVar35)" (field_expression "local_66c._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (expression_statement "local_664._0_4_ = -0x7ffffdff;" (assignment_expression "local_664._0_4_ = -0x7ffffdff" (field_expression "local_664._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }" if (parenthesized_expression "((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" ( (binary_expression "DAT_002f2490 <= param_5" identifier <= identifier) )) && (parenthesized_expression "(local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)" ( (comma_expression "local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498" (assignment_expression "local_664._0_4_ = 0x7ffffdff" (field_expression "local_664._0_4_" identifier . field_identifier) = number_literal) , (binary_expression "param_5 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }" { (expression_statement "dVar35 = floor(param_5);" (assignment_expression "dVar35 = floor(param_5)" identifier = (call_expression "floor(param_5)" identifier (argument_list "(param_5)" ( identifier )))) ;) (expression_statement "local_664._0_4_ = (int)ROUND(dVar35);" (assignment_expression "local_664._0_4_ = (int)ROUND(dVar35)" (field_expression "local_664._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (if_statement "if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    param_3 = param_1[0x98];\n  }" { (expression_statement "param_3 = param_1[0x98];" (assignment_expression "param_3 = param_1[0x98]" identifier = (subscript_expression "param_1[0x98]" identifier [ number_literal ])) ;) })) (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" identifier (argument_list "(param_6,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "puVar30 = local_520;" (assignment_expression "puVar30 = local_520" identifier = identifier) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "*(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88)" (pointer_expression "*(undefined8 *)(param_6 + 3)" * (cast_expression "(undefined8 *)(param_6 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 3)" ( (binary_expression "param_6 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "*param_6 = uVar24;" (assignment_expression "*param_6 = uVar24" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "param_6[1] = param_1[1];" (assignment_expression "param_6[1] = param_1[1]" (subscript_expression "param_6[1]" identifier [ number_literal ]) = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "param_6[5] = param_1[8];" (assignment_expression "param_6[5] = param_1[8]" (subscript_expression "param_6[5]" identifier [ number_literal ]) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "param_6[2] = param_1[0xa5];" (assignment_expression "param_6[2] = param_1[0xa5]" (subscript_expression "param_6[2]" identifier [ number_literal ]) = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "puVar31 = puVar30;" (assignment_expression "puVar31 = puVar30" identifier = identifier) ;) (for_statement "for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }" for ( (assignment_expression "iVar25 = 0x140" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }" { (expression_statement "*puVar31 = 0;" (assignment_expression "*puVar31 = 0" (pointer_expression "*puVar31" * identifier) = number_literal) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (switch_statement "switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }" switch (parenthesized_expression "(param_3)" ( identifier )) (compound_statement "{\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }" { (case_statement "default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;" default : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xaa];" (assignment_expression "iVar3 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xa5];" (assignment_expression "iVar4 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = *(int *)(iVar3 + 0x20);" (assignment_expression "iVar27 = *(int *)(iVar3 + 0x20)" identifier = (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(iVar3 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar3 + 0x34)" identifier = (pointer_expression "*(int *)(iVar3 + 0x34)" * (cast_expression "(int *)(iVar3 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = param_1[1];" (assignment_expression "iVar5 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = *(int *)(iVar3 + 8);" (assignment_expression "iVar17 = *(int *)(iVar3 + 8)" identifier = (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar3 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x14)" identifier = (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);" do (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      }" { (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" * (cast_expression "(double *)(iVar25 + iVar17 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar17 * 8)" ( (binary_expression "iVar25 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }" { (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*(double *)(puVar30 + 8) = dVar1;" (assignment_expression "*(double *)(puVar30 + 8) = dVar1" (pointer_expression "*(double *)(puVar30 + 8)" * (cast_expression "(double *)(puVar30 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 8)" ( (binary_expression "puVar30 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);" (assignment_expression "*(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8)" (pointer_expression "*(undefined8 *)(puVar30 + 10)" * (cast_expression "(undefined8 *)(puVar30 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 10)" ( (binary_expression "puVar30 + 10" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar6 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar6 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "*(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(puVar30 + 0xc)" * (cast_expression "(undefined8 *)(puVar30 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xc)" ( (binary_expression "puVar30 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar27 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar27 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27 * 8)" ( (binary_expression "iVar25 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) ))))) ;) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" * (cast_expression "(undefined8 *)(puVar30 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }" { (if_statement "if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              uVar2 = 0;\n            }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" else (compound_statement "{\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" { (expression_statement "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" identifier = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x2c) * 8" (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = uVar2;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = uVar2" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" * (cast_expression "(undefined8 *)(puVar30 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" else (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" { (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" { (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35" identifier = (binary_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x38) * 8" (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) * number_literal)) )))) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" identifier = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = identifier) ;) (expression_statement "*(double *)(puVar30 + 8) = dVar1;" (assignment_expression "*(double *)(puVar30 + 8) = dVar1" (pointer_expression "*(double *)(puVar30 + 8)" * (cast_expression "(double *)(puVar30 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 8)" ( (binary_expression "puVar30 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;" (assignment_expression "*(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(puVar30 + 10)" * (cast_expression "(double *)(puVar30 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 10)" ( (binary_expression "puVar30 + 10" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "*(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;" (assignment_expression "*(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7" (pointer_expression "*(double *)(puVar30 + 0xc)" * (cast_expression "(double *)(puVar30 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xc)" ( (binary_expression "puVar30 + 0xc" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar25 + iVar27 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar27 * 8)" * (cast_expression "(double *)(iVar25 + iVar27 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27 * 8)" ( (binary_expression "iVar25 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" * (cast_expression "(undefined8 *)(puVar30 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }" { (if_statement "if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x2c) * 8" (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "*(double *)(puVar30 + 0xe) = dVar1 * dVar7;" (assignment_expression "*(double *)(puVar30 + 0xe) = dVar1 * dVar7" (pointer_expression "*(double *)(puVar30 + 0xe)" * (cast_expression "(double *)(puVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) })) }))) (if_statement "if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n          dVar1 = (double)DAT_002df8a8;\n        }" { (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" else (compound_statement "{\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x38) * 8" (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "*(double *)(puVar30 + 0x10) = dVar1;" (assignment_expression "*(double *)(puVar30 + 0x10) = dVar1" (pointer_expression "*(double *)(puVar30 + 0x10)" * (cast_expression "(double *)(puVar30 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x10)" ( (binary_expression "puVar30 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" identifier = (binary_expression "iVar25 + iVar23 * 8" identifier + (binary_expression "iVar23 * 8" identifier * number_literal))) ;) (expression_statement "puVar30 = puVar30 + 0x14;" (assignment_expression "puVar30 = puVar30 + 0x14" identifier = (binary_expression "puVar30 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 != 4)" ( (binary_expression "iVar32 != 4" identifier != number_literal) )) ;) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "dVar9 = 1.0 - param_5;" (assignment_expression "dVar9 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;" (assignment_expression "dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" identifier = (binary_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" (binary_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5" (parenthesized_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35)" ( (binary_expression "local_5a4[3] * param_4 + local_5a4[2] * dVar35" (binary_expression "local_5a4[3] * param_4" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[2] * dVar35" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) * identifier)) )) * identifier) + (binary_expression "(local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" (parenthesized_expression "(local_5a4[1] * param_4 + local_5a4[0] * dVar35)" ( (binary_expression "local_5a4[1] * param_4 + local_5a4[0] * dVar35" (binary_expression "local_5a4[1] * param_4" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[0] * dVar35" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier)) )) * identifier))) ;) (expression_statement "dVar7 = DAT_002df8d8;" (assignment_expression "dVar7 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar8 = dVar1;" (assignment_expression "dVar8 = dVar1" identifier = identifier) ;) (if_statement "if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }" { (expression_statement "dVar7 = DAT_002df8e0;" (assignment_expression "dVar7 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar8 = -dVar1;" (assignment_expression "dVar8 = -dVar1" identifier = (unary_expression "-dVar1" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar8)" ( (binary_expression "DAT_002df2d0 <= dVar8" identifier <= identifier) )) (compound_statement "{\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }" { (expression_statement "dVar7 = (double)DAT_002df8b4 / dVar1;" (assignment_expression "dVar7 = (double)DAT_002df8b4 / dVar1" identifier = (binary_expression "(double)DAT_002df8b4 / dVar1" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9)" ( (binary_expression "(local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9" (binary_expression "(local_410 * param_4 + local_460 * dVar35) * param_5" (parenthesized_expression "(local_410 * param_4 + local_460 * dVar35)" ( (binary_expression "local_410 * param_4 + local_460 * dVar35" (binary_expression "local_410 * param_4" identifier * identifier) + (binary_expression "local_460 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_4b0 * param_4 + local_500 * dVar35) * dVar9" (parenthesized_expression "(local_4b0 * param_4 + local_500 * dVar35)" ( (binary_expression "local_4b0 * param_4 + local_500 * dVar35" (binary_expression "local_4b0 * param_4" identifier * identifier) + (binary_expression "local_500 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9)" ( (binary_expression "(local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9" (binary_expression "(local_408 * param_4 + local_458 * dVar35) * param_5" (parenthesized_expression "(local_408 * param_4 + local_458 * dVar35)" ( (binary_expression "local_408 * param_4 + local_458 * dVar35" (binary_expression "local_408 * param_4" identifier * identifier) + (binary_expression "local_458 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_4a8 * param_4 + local_4f8 * dVar35) * dVar9" (parenthesized_expression "(local_4a8 * param_4 + local_4f8 * dVar35)" ( (binary_expression "local_4a8 * param_4 + local_4f8 * dVar35" (binary_expression "local_4a8 * param_4" identifier * identifier) + (binary_expression "local_4f8 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9)" ( (binary_expression "(local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9" (binary_expression "(local_400 * param_4 + local_450 * dVar35) * param_5" (parenthesized_expression "(local_400 * param_4 + local_450 * dVar35)" ( (binary_expression "local_400 * param_4 + local_450 * dVar35" (binary_expression "local_400 * param_4" identifier * identifier) + (binary_expression "local_450 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_4a0 * param_4 + local_4f0 * dVar35) * dVar9" (parenthesized_expression "(local_4a0 * param_4 + local_4f0 * dVar35)" ( (binary_expression "local_4a0 * param_4 + local_4f0 * dVar35" (binary_expression "local_4a0 * param_4" identifier * identifier) + (binary_expression "local_4f0 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) (if_statement "if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }" { (expression_statement "*(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9)" ( (binary_expression "(local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9" (binary_expression "(local_3f8 * param_4 + local_448 * dVar35) * param_5" (parenthesized_expression "(local_3f8 * param_4 + local_448 * dVar35)" ( (binary_expression "local_3f8 * param_4 + local_448 * dVar35" (binary_expression "local_3f8 * param_4" identifier * identifier) + (binary_expression "local_448 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_498 * param_4 + local_4e8 * dVar35) * dVar9" (parenthesized_expression "(local_498 * param_4 + local_4e8 * dVar35)" ( (binary_expression "local_498 * param_4 + local_4e8 * dVar35" (binary_expression "local_498 * param_4" identifier * identifier) + (binary_expression "local_4e8 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) })) (expression_statement "dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);" (assignment_expression "dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35)" identifier = (binary_expression "(param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35)" (binary_expression "(param_4 + dVar35) * param_5" (parenthesized_expression "(param_4 + dVar35)" ( (binary_expression "param_4 + dVar35" identifier + identifier) )) * identifier) + (binary_expression "dVar9 * (param_4 + dVar35)" identifier * (parenthesized_expression "(param_4 + dVar35)" ( (binary_expression "param_4 + dVar35" identifier + identifier) ))))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar7 = dVar8;" (assignment_expression "dVar7 = dVar8" identifier = identifier) ;) (if_statement "if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }" if (parenthesized_expression "(dVar8 < 0.0)" ( (binary_expression "dVar8 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar7 = -dVar8;" (assignment_expression "dVar7 = -dVar8" identifier = (unary_expression "-dVar8" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar7)" ( (binary_expression "DAT_002df2d0 <= dVar7" identifier <= identifier) )) (compound_statement "{\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar8;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar8" identifier = (binary_expression "(double)DAT_002df8b4 / dVar8" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);" (assignment_expression "*(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" identifier * (parenthesized_expression "((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" ( (binary_expression "(param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9" (binary_expression "(param_4 * local_3f0 + dVar35 * local_440) * param_5" (parenthesized_expression "(param_4 * local_3f0 + dVar35 * local_440)" ( (binary_expression "param_4 * local_3f0 + dVar35 * local_440" (binary_expression "param_4 * local_3f0" identifier * identifier) + (binary_expression "dVar35 * local_440" identifier * identifier)) )) * identifier) + (binary_expression "(local_490 * param_4 + local_4e0 * dVar35) * dVar9" (parenthesized_expression "(local_490 * param_4 + local_4e0 * dVar35)" ( (binary_expression "local_490 * param_4 + local_4e0 * dVar35" (binary_expression "local_490 * param_4" identifier * identifier) + (binary_expression "local_4e0 * dVar35" identifier * identifier)) )) * identifier)) )))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (if_statement "if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }" { (expression_statement "dVar35 = _UNK_00300760;" (assignment_expression "dVar35 = _UNK_00300760" identifier = identifier) ;) (if_statement "if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }" if (parenthesized_expression "((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" ( (binary_expression "DAT_002f2490 <= param_4" identifier <= identifier) )) && (parenthesized_expression "(dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)" ( (comma_expression "dVar35 = _UNK_00300768, param_4 <= DAT_002f2498" (assignment_expression "dVar35 = _UNK_00300768" identifier = identifier) , (binary_expression "param_4 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }" { (expression_statement "dVar35 = param_4 + (double)DAT_002df2b8;" (assignment_expression "dVar35 = param_4 + (double)DAT_002df2b8" identifier = (binary_expression "param_4 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);" (assignment_expression "local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (field_expression "local_66c._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" identifier (argument_list "(ROUND(dVar35) - (double)DAT_002df8b4)" ( (binary_expression "ROUND(dVar35) - (double)DAT_002df8b4" (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))) - (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier)) ))))) ;) (expression_statement "dVar35 = _UNK_00300760;" (assignment_expression "dVar35 = _UNK_00300760" identifier = identifier) ;) (if_statement "if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }" if (parenthesized_expression "((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" ( (binary_expression "DAT_002f2490 <= param_5" identifier <= identifier) )) && (parenthesized_expression "(dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)" ( (comma_expression "dVar35 = _UNK_00300768, param_5 <= DAT_002f2498" (assignment_expression "dVar35 = _UNK_00300768" identifier = identifier) , (binary_expression "param_5 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }" { (expression_statement "dVar35 = param_5 + (double)DAT_002df2b8;" (assignment_expression "dVar35 = param_5 + (double)DAT_002df2b8" identifier = (binary_expression "param_5 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "local_63c = 9;" (assignment_expression "local_63c = 9" identifier = number_literal) ;) (expression_statement "uVar24 = 3;" (assignment_expression "uVar24 = 3" identifier = number_literal) ;) (expression_statement "local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);" (assignment_expression "local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (field_expression "local_664._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" identifier (argument_list "(ROUND(dVar35) - (double)DAT_002df8b4)" ( (binary_expression "ROUND(dVar35) - (double)DAT_002df8b4" (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))) - (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier)) ))))) ;) }) (else_clause "else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" else (compound_statement "{\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" { (expression_statement "local_63c = 4;" (assignment_expression "local_63c = 4" identifier = number_literal) ;) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (if_statement "if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" if (parenthesized_expression "(param_3 == 3)" ( (binary_expression "param_3 == 3" identifier == number_literal) )) (compound_statement "{\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" { (expression_statement "local_66c._0_4_ = local_66c._0_4_ + -1;" (assignment_expression "local_66c._0_4_ = local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) = (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "local_63c = 0x10;" (assignment_expression "local_63c = 0x10" identifier = number_literal) ;) (expression_statement "uVar24 = 4;" (assignment_expression "uVar24 = 4" identifier = number_literal) ;) (expression_statement "local_664._0_4_ = local_664._0_4_ + -1;" (assignment_expression "local_664._0_4_ = local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) = (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal)) ;) })) }))) (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , identifier , identifier , identifier )))) ;) (expression_statement "dVar35 = DAT_002df2d0;" (assignment_expression "dVar35 = DAT_002df2d0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xaa];" (assignment_expression "iVar23 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xa6];" (assignment_expression "iVar4 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_65c = *(double *)(param_6 + 0x10);" (assignment_expression "local_65c = *(double *)(param_6 + 0x10)" identifier = (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_64c = *(double *)(param_6 + 0xe);" (assignment_expression "local_64c = *(double *)(param_6 + 0xe)" identifier = (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar1 = *(double *)(param_6 + 0xc);" (assignment_expression "dVar1 = *(double *)(param_6 + 0xc)" identifier = (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(iVar23 + 8);" (assignment_expression "iVar29 = *(int *)(iVar23 + 8)" identifier = (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_654 = *(double *)(param_6 + 10);" (assignment_expression "local_654 = *(double *)(param_6 + 10)" identifier = (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_664 = *(double *)(param_6 + 8);" (assignment_expression "local_664 = *(double *)(param_6 + 8)" identifier = (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar23 + 0x14);" (assignment_expression "iVar5 = *(int *)(iVar23 + 0x14)" identifier = (pointer_expression "*(int *)(iVar23 + 0x14)" * (cast_expression "(int *)(iVar23 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar23 + 0x34);" (assignment_expression "iVar17 = *(int *)(iVar23 + 0x34)" identifier = (pointer_expression "*(int *)(iVar23 + 0x34)" * (cast_expression "(int *)(iVar23 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x34)" ( (binary_expression "iVar23 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar23 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar23 + 0x20)" identifier = (pointer_expression "*(int *)(iVar23 + 0x20)" * (cast_expression "(int *)(iVar23 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x20)" ( (binary_expression "iVar23 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);" do (compound_statement "{\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      }" { (expression_statement "local_500 = *(double *)(iVar25 + iVar29 * 8);" (assignment_expression "local_500 = *(double *)(iVar25 + iVar29 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar29 * 8)" * (cast_expression "(double *)(iVar25 + iVar29 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar29 * 8)" ( (binary_expression "iVar25 + iVar29 * 8" identifier + (binary_expression "iVar29 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }" { (expression_statement "local_4f8 = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar5 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "local_4f0 = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "local_4f0 = *(double *)(iVar25 + iVar6 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }" { (if_statement "if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar23 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar23 + 0x28) == 0" (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_644 = 0.0;\n            }" { (expression_statement "local_644 = 0.0;" (assignment_expression "local_644 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" { (expression_statement "local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e8 = local_644;" (assignment_expression "local_4e8 = local_644" identifier = identifier) ;) })) (if_statement "if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" else (compound_statement "{\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" { (expression_statement "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) (labeled_statement "code_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;" statement_identifier : (expression_statement "dVar8 = (double)DAT_002df8b4 / dVar7;" (assignment_expression "dVar8 = (double)DAT_002df8b4 / dVar7" identifier = (binary_expression "(double)DAT_002df8b4 / dVar7" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;)) (expression_statement "local_4e0 = local_66c;" (assignment_expression "local_4e0 = local_66c" identifier = identifier) ;) }) (else_clause "else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" else (compound_statement "{\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" { (if_statement "if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" { (expression_statement "dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (binary_expression "_DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_500 = local_500 * dVar7;" (assignment_expression "local_500 = local_500 * dVar7" identifier = (binary_expression "local_500 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7" identifier = (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;" (assignment_expression "local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7" identifier = (binary_expression "*(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }" { (if_statement "if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar23 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar23 + 0x28) == 0" (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_4e8 = 0.0;\n            }" { (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" { (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e8 = local_4e8 * dVar7;" (assignment_expression "local_4e8 = local_4e8 * dVar7" identifier = (binary_expression "local_4e8 * dVar7" identifier * identifier)) ;) })) (if_statement "if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" else (compound_statement "{\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" { (expression_statement "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e0 = local_66c;" (assignment_expression "local_4e0 = local_66c" identifier = identifier) ;) (expression_statement "dVar8 = DAT_002df8d8;" (assignment_expression "dVar8 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar9 = dVar7;" (assignment_expression "dVar9 = dVar7" identifier = identifier) ;) (if_statement "if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }" if (parenthesized_expression "(dVar7 < 0.0)" ( (binary_expression "dVar7 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }" { (expression_statement "dVar8 = DAT_002df8e0;" (assignment_expression "dVar8 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar9 = -dVar7;" (assignment_expression "dVar9 = -dVar7" identifier = (unary_expression "-dVar7" - identifier)) ;) })) (if_statement "if (dVar35 <= dVar9) goto code_r0x00134460;" if (parenthesized_expression "(dVar35 <= dVar9)" ( (binary_expression "dVar35 <= dVar9" identifier <= identifier) )) (goto_statement "goto code_r0x00134460;" goto statement_identifier ;)) }))) (expression_statement "iVar25 = iVar25 + iVar4 * 8;" (assignment_expression "iVar25 = iVar25 + iVar4 * 8" identifier = (binary_expression "iVar25 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal))) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "local_664 = local_500 * dVar8 + local_664;" (assignment_expression "local_664 = local_500 * dVar8 + local_664" identifier = (binary_expression "local_500 * dVar8 + local_664" (binary_expression "local_500 * dVar8" identifier * identifier) + identifier)) ;) (expression_statement "*(double *)(param_6 + 8) = local_664;" (assignment_expression "*(double *)(param_6 + 8) = local_664" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_654 = local_654 + local_4f8 * dVar8;" (assignment_expression "local_654 = local_654 + local_4f8 * dVar8" identifier = (binary_expression "local_654 + local_4f8 * dVar8" identifier + (binary_expression "local_4f8 * dVar8" identifier * identifier))) ;) (expression_statement "*(double *)(param_6 + 10) = local_654;" (assignment_expression "*(double *)(param_6 + 10) = local_654" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = identifier) ;) (expression_statement "dVar1 = local_4f0 * dVar8 + dVar1;" (assignment_expression "dVar1 = local_4f0 * dVar8 + dVar1" identifier = (binary_expression "local_4f0 * dVar8 + dVar1" (binary_expression "local_4f0 * dVar8" identifier * identifier) + identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) = dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) = dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_64c = dVar8 * local_4e8 + local_64c;" (assignment_expression "local_64c = dVar8 * local_4e8 + local_64c" identifier = (binary_expression "dVar8 * local_4e8 + local_64c" (binary_expression "dVar8 * local_4e8" identifier * identifier) + identifier)) ;) (expression_statement "*(double *)(param_6 + 0xe) = local_64c;" (assignment_expression "*(double *)(param_6 + 0xe) = local_64c" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_65c = local_65c + local_4e0;" (assignment_expression "local_65c = local_65c + local_4e0" identifier = (binary_expression "local_65c + local_4e0" identifier + identifier)) ;) (expression_statement "*(double *)(param_6 + 0x10) = local_65c;" (assignment_expression "*(double *)(param_6 + 0x10) = local_65c" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar32 < local_63c)" ( (binary_expression "iVar32 < local_63c" identifier < identifier) )) ;) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "dVar35 = (double)DAT_002df8b4 / (double)local_63c;" (assignment_expression "dVar35 = (double)DAT_002df8b4 / (double)local_63c" identifier = (binary_expression "(double)DAT_002df8b4 / (double)local_63c" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / (cast_expression "(double)local_63c" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "*(double *)(param_6 + 8) = local_664 * dVar35;" (assignment_expression "*(double *)(param_6 + 8) = local_664 * dVar35" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "local_664 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) = local_654 * dVar35;" (assignment_expression "*(double *)(param_6 + 10) = local_654 * dVar35" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "local_654 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) = dVar1 * dVar35;" (assignment_expression "*(double *)(param_6 + 0xc) = dVar1 * dVar35" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "dVar1 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xe) = local_64c * dVar35;" (assignment_expression "*(double *)(param_6 + 0xe) = local_64c * dVar35" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "local_64c * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0x10) = local_65c * dVar35;" (assignment_expression "*(double *)(param_6 + 0x10) = local_65c * dVar35" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "local_65c * dVar35" identifier * identifier)) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;" case number_literal : (expression_statement "puVar30 = param_1 + 0x1f;" (assignment_expression "puVar30 = param_1 + 0x1f" identifier = (binary_expression "param_1 + 0x1f" identifier + number_literal)) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }" { (expression_statement "*param_6 = *puVar30;" (assignment_expression "*param_6 = *puVar30" (pointer_expression "*param_6" * identifier) = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "param_6 = param_6 + (uint)bVar34 * -2 + 1;" (assignment_expression "param_6 = param_6 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "param_6 + (uint)bVar34 * -2 + 1" (binary_expression "param_6 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;)) (case_statement "case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }" { (expression_statement "local_64c._0_4_ = 0;" (assignment_expression "local_64c._0_4_ = 0" (field_expression "local_64c._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_644._0_4_ = param_1[0xa6];" (assignment_expression "local_644._0_4_ = param_1[0xa6]" (field_expression "local_644._0_4_" identifier . field_identifier) = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "puVar31 = puVar30;" (assignment_expression "puVar31 = puVar30" identifier = identifier) ;) (do_statement "do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);" do (compound_statement "{\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      }" { (expression_statement "iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;" (assignment_expression "iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25" identifier = (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_ + iVar25" (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_" (binary_expression "local_64c._0_4_ * 8" (field_expression "local_64c._0_4_" identifier . field_identifier) * number_literal) * (field_expression "local_644._0_4_" identifier . field_identifier)) + identifier)) ;) (expression_statement "ResetMagickMemory(puVar31,0,0x50);" (call_expression "ResetMagickMemory(puVar31,0,0x50)" identifier (argument_list "(puVar31,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(puVar31 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(puVar31 + 0x10)" * (cast_expression "(double *)(puVar31 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x10)" ( (binary_expression "puVar31 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "*(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88)" (pointer_expression "*(undefined8 *)(puVar31 + 3)" * (cast_expression "(undefined8 *)(puVar31 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 3)" ( (binary_expression "puVar31 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "*puVar31 = uVar24;" (assignment_expression "*puVar31 = uVar24" (pointer_expression "*puVar31" * identifier) = identifier) ;) (expression_statement "iVar23 = param_1[1];" (assignment_expression "iVar23 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar31[1] = iVar23;" (assignment_expression "puVar31[1] = iVar23" (subscript_expression "puVar31[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar31[5] = param_1[8];" (assignment_expression "puVar31[5] = param_1[8]" (subscript_expression "puVar31[5]" identifier [ number_literal ]) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "puVar31[2] = iVar3;" (assignment_expression "puVar31[2] = iVar3" (subscript_expression "puVar31[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = *(int *)(iVar4 + 8);" (assignment_expression "iVar27 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }" { (expression_statement "local_614 = iVar27 << 3;" (assignment_expression "local_614 = iVar27 << 3" identifier = (binary_expression "iVar27 << 3" identifier << number_literal)) ;) (expression_statement "iStack_60c = *(int *)(iVar4 + 0x14) << 3;" (assignment_expression "iStack_60c = *(int *)(iVar4 + 0x14) << 3" identifier = (binary_expression "*(int *)(iVar4 + 0x14) << 3" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) << number_literal)) ;) (expression_statement "iVar27 = *(int *)(iVar4 + 0x20) << 3;" (assignment_expression "iVar27 = *(int *)(iVar4 + 0x20) << 3" identifier = (binary_expression "*(int *)(iVar4 + 0x20) << 3" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) << number_literal)) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" else (compound_statement "{\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" { (expression_statement "local_614 = iVar27 * 8;" (assignment_expression "local_614 = iVar27 * 8" identifier = (binary_expression "iVar27 * 8" identifier * number_literal)) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 8)" * (cast_expression "(undefined8 *)(puVar31 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 8)" ( (binary_expression "puVar31 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + iVar27 * 8)" * (cast_expression "(undefined8 *)(iVar29 + iVar27 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar27 * 8)" ( (binary_expression "iVar29 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iStack_60c = iVar5 * 8;" (assignment_expression "iStack_60c = iVar5 * 8" identifier = (binary_expression "iVar5 * 8" identifier * number_literal)) ;) (expression_statement "iVar17 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar17 = *(int *)(iVar4 + 0x20)" identifier = (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 10)" * (cast_expression "(undefined8 *)(puVar31 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 10)" ( (binary_expression "puVar31 + 10" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + iVar5 * 8)" * (cast_expression "(undefined8 *)(iVar29 + iVar5 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar5 * 8)" ( (binary_expression "iVar29 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iVar27 = iVar17 * 8;" (assignment_expression "iVar27 = iVar17 * 8" identifier = (binary_expression "iVar17 * 8" identifier * number_literal)) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x28);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x28)" identifier = (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0xc)" * (cast_expression "(undefined8 *)(puVar31 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xc)" ( (binary_expression "puVar31 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + iVar17 * 8)" * (cast_expression "(undefined8 *)(iVar29 + iVar17 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar17 * 8)" ( (binary_expression "iVar29 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "*(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" * (cast_expression "(undefined8 *)(puVar31 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (expression_statement "iVar5 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }" { (expression_statement "uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "puVar31[2] = 4;" (assignment_expression "puVar31[2] = 4" (subscript_expression "puVar31[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar31 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(puVar31 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(puVar31 + 0x10)" * (cast_expression "(undefined8 *)(puVar31 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x10)" ( (binary_expression "puVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }" { (expression_statement "*(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0x12)" * (cast_expression "(undefined8 *)(puVar31 + 0x12)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x12)" ( (binary_expression "puVar31 + 0x12" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" * (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x44) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 8" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) ))))) ;) })) }))) (expression_statement "local_644._0_4_ = param_1[0xa6];" (assignment_expression "local_644._0_4_ = param_1[0xa6]" (field_expression "local_644._0_4_" identifier . field_identifier) = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;" (assignment_expression "iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25" identifier = (binary_expression "local_644._0_4_ * 8 * local_64c._0_4_ + iVar25" (binary_expression "local_644._0_4_ * 8 * local_64c._0_4_" (binary_expression "local_644._0_4_ * 8" (field_expression "local_644._0_4_" identifier . field_identifier) * number_literal) * (field_expression "local_64c._0_4_" identifier . field_identifier)) + identifier)) ;) (expression_statement "dVar35 = *(double *)(iVar29 + local_614);" (assignment_expression "dVar35 = *(double *)(iVar29 + local_614)" identifier = (pointer_expression "*(double *)(iVar29 + local_614)" * (cast_expression "(double *)(iVar29 + local_614)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + local_614)" ( (binary_expression "iVar29 + local_614" identifier + identifier) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }" { (expression_statement "local_5a4[local_64c._0_4_] = 1.0;" (assignment_expression "local_5a4[local_64c._0_4_] = 1.0" (subscript_expression "local_5a4[local_64c._0_4_]" identifier [ (field_expression "local_64c._0_4_" identifier . field_identifier) ]) = number_literal) ;) (expression_statement "*(double *)(puVar31 + 8) = dVar35;" (assignment_expression "*(double *)(puVar31 + 8) = dVar35" (pointer_expression "*(double *)(puVar31 + 8)" * (cast_expression "(double *)(puVar31 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 8)" ( (binary_expression "puVar31 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);" (assignment_expression "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29)" (pointer_expression "*(double *)(puVar31 + 10)" * (cast_expression "(double *)(puVar31 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 10)" ( (binary_expression "puVar31 + 10" identifier + number_literal) )))) = (pointer_expression "*(double *)(iStack_60c + iVar29)" * (cast_expression "(double *)(iStack_60c + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_60c + iVar29)" ( (binary_expression "iStack_60c + iVar29" identifier + identifier) ))))) ;) (expression_statement "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);" (assignment_expression "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29)" (pointer_expression "*(double *)(puVar31 + 0xc)" * (cast_expression "(double *)(puVar31 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xc)" ( (binary_expression "puVar31 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(double *)(iVar27 + iVar29)" * (cast_expression "(double *)(iVar27 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar29)" ( (binary_expression "iVar27 + iVar29" identifier + identifier) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" * (cast_expression "(undefined8 *)(puVar31 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar23 != 2) goto code_r0x0013490a;" if (parenthesized_expression "(iVar23 != 2)" ( (binary_expression "iVar23 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0013490a;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            dVar35 = 0.0;\n          }" { (expression_statement "dVar35 = 0.0;" (assignment_expression "dVar35 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" else (compound_statement "{\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (labeled_statement "code_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;" statement_identifier : (expression_statement "*(double *)(puVar31 + 0xe) = dVar35;" (assignment_expression "*(double *)(puVar31 + 0xe) = dVar35" (pointer_expression "*(double *)(puVar31 + 0xe)" * (cast_expression "(double *)(puVar31 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = identifier) ;)) (if_statement "if (iVar5 == 0) goto code_r0x001355ad;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x001355ad;" goto statement_identifier ;)) (labeled_statement "code_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" statement_identifier : (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" { (if_statement "if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar1 = 1.0;\n          }" { (expression_statement "dVar1 = 1.0;" (assignment_expression "dVar1 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" else (compound_statement "{\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" { (expression_statement "dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier = (binary_expression "_DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dVar35 = dVar35 * dVar1;" (assignment_expression "dVar35 = dVar35 * dVar1" identifier = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) }))) (expression_statement "local_5a4[local_64c._0_4_] = dVar1;" (assignment_expression "local_5a4[local_64c._0_4_] = dVar1" (subscript_expression "local_5a4[local_64c._0_4_]" identifier [ (field_expression "local_64c._0_4_" identifier . field_identifier) ]) = identifier) ;) (expression_statement "*(double *)(puVar31 + 8) = dVar35;" (assignment_expression "*(double *)(puVar31 + 8) = dVar35" (pointer_expression "*(double *)(puVar31 + 8)" * (cast_expression "(double *)(puVar31 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 8)" ( (binary_expression "puVar31 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;" (assignment_expression "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1" (pointer_expression "*(double *)(puVar31 + 10)" * (cast_expression "(double *)(puVar31 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 10)" ( (binary_expression "puVar31 + 10" identifier + number_literal) )))) = (binary_expression "*(double *)(iStack_60c + iVar29) * dVar1" (pointer_expression "*(double *)(iStack_60c + iVar29)" * (cast_expression "(double *)(iStack_60c + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_60c + iVar29)" ( (binary_expression "iStack_60c + iVar29" identifier + identifier) )))) * identifier)) ;) (expression_statement "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;" (assignment_expression "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1" (pointer_expression "*(double *)(puVar31 + 0xc)" * (cast_expression "(double *)(puVar31 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xc)" ( (binary_expression "puVar31 + 0xc" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar27 + iVar29) * dVar1" (pointer_expression "*(double *)(iVar27 + iVar29)" * (cast_expression "(double *)(iVar27 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar29)" ( (binary_expression "iVar27 + iVar29" identifier + identifier) )))) * identifier)) ;) (expression_statement "*(undefined8 *)(puVar31 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" * (cast_expression "(undefined8 *)(puVar31 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }" if (parenthesized_expression "(iVar23 == 2)" ( (binary_expression "iVar23 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }" { (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar35 = 0.0;\n            }" { (expression_statement "dVar35 = 0.0;" (assignment_expression "dVar35 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" { (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "dVar35 = dVar35 * dVar1;" (assignment_expression "dVar35 = dVar35 * dVar1" identifier = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) (goto_statement "goto code_r0x0013559e;" goto statement_identifier ;) })) (labeled_statement "code_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;" statement_identifier : (if_statement "if (iVar5 != 0) goto code_r0x00134916;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00134916;" goto statement_identifier ;))) (labeled_statement "code_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar35 = (double)DAT_002df8a8;" (assignment_expression "dVar35 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "local_64c._0_4_ = local_64c._0_4_ + 1;" (assignment_expression "local_64c._0_4_ = local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" identifier . field_identifier) = (binary_expression "local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "*(double *)(puVar31 + 0x10) = dVar35;" (assignment_expression "*(double *)(puVar31 + 0x10) = dVar35" (pointer_expression "*(double *)(puVar31 + 0x10)" * (cast_expression "(double *)(puVar31 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x10)" ( (binary_expression "puVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar31 = puVar31 + 0x14;" (assignment_expression "puVar31 = puVar31 + 0x14" identifier = (binary_expression "puVar31 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_64c._0_4_ != 4)" ( (binary_expression "local_64c._0_4_ != 4" (field_expression "local_64c._0_4_" identifier . field_identifier) != number_literal) )) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = (double)DAT_003006a4;" (assignment_expression "dVar35 = (double)DAT_003006a4" identifier = (cast_expression "(double)DAT_003006a4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" if (parenthesized_expression "(dVar35 <= param_5)" ( (binary_expression "dVar35 <= param_5" identifier <= identifier) )) (compound_statement "{\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }" { (expression_statement "puVar31 = auStack_480;" (assignment_expression "puVar31 = auStack_480" identifier = identifier) ;) (expression_statement "puVar33 = puVar30;" (assignment_expression "puVar33 = puVar30" identifier = identifier) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" { (expression_statement "*puVar33 = *puVar31;" (assignment_expression "*puVar33 = *puVar31" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_5a4[0] = local_5a4[2];" (assignment_expression "local_5a4[0] = local_5a4[2]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = (subscript_expression "local_5a4[2]" identifier [ number_literal ])) ;) (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" identifier = number_literal) ;) (labeled_statement "code_r0x00136096:\n        local_5a4[1] = local_5a4[3];" statement_identifier : (expression_statement "local_5a4[1] = local_5a4[3];" (assignment_expression "local_5a4[1] = local_5a4[3]" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = (subscript_expression "local_5a4[3]" identifier [ number_literal ])) ;)) (expression_statement "puVar31 = auStack_430;" (assignment_expression "puVar31 = auStack_430" identifier = identifier) ;) (expression_statement "puVar33 = auStack_4d0;" (assignment_expression "puVar33 = auStack_4d0" identifier = identifier) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" { (expression_statement "*puVar33 = *puVar31;" (assignment_expression "*puVar33 = *puVar31" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }) (else_clause "else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" else (compound_statement "{\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" { (expression_statement "fVar10 = DAT_002eb21c;" (assignment_expression "fVar10 = DAT_002eb21c" identifier = identifier) ;) (if_statement "if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" if (parenthesized_expression "(param_5 <= (double)DAT_002eb220)" ( (binary_expression "param_5 <= (double)DAT_002eb220" identifier <= (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }" { (if_statement "if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }" if (parenthesized_expression "(dVar35 <= param_5)" ( (binary_expression "dVar35 <= param_5" identifier <= identifier) )) (compound_statement "{\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }" { (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" identifier = number_literal) ;) (goto_statement "goto code_r0x00136096;" goto statement_identifier ;) })) (if_statement "if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;" if (parenthesized_expression "((double)DAT_002eb220 < param_5)" ( (binary_expression "(double)DAT_002eb220 < param_5" (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier) < identifier) )) (goto_statement "goto code_r0x001349ea;" goto statement_identifier ;)) (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" else (compound_statement "{\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" { (expression_statement "local_5a4[0] = local_5a4[0] + local_5a4[2];" (assignment_expression "local_5a4[0] = local_5a4[0] + local_5a4[2]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = (binary_expression "local_5a4[0] + local_5a4[2]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) + (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_500 = local_500 + local_460;" (assignment_expression "local_500 = local_500 + local_460" identifier = (binary_expression "local_500 + local_460" identifier + identifier)) ;) (expression_statement "local_4f8 = local_4f8 + local_458;" (assignment_expression "local_4f8 = local_4f8 + local_458" identifier = (binary_expression "local_4f8 + local_458" identifier + identifier)) ;) (expression_statement "local_4f0 = local_4f0 + local_450;" (assignment_expression "local_4f0 = local_4f0 + local_450" identifier = (binary_expression "local_4f0 + local_450" identifier + identifier)) ;) (expression_statement "local_4e8 = local_4e8 + local_448;" (assignment_expression "local_4e8 = local_4e8 + local_448" identifier = (binary_expression "local_4e8 + local_448" identifier + identifier)) ;) (expression_statement "local_4e0 = local_4e0 + local_440;" (assignment_expression "local_4e0 = local_4e0 + local_440" identifier = (binary_expression "local_4e0 + local_440" identifier + identifier)) ;) (if_statement "if (dVar35 <= param_5) goto code_r0x00136096;" if (parenthesized_expression "(dVar35 <= param_5)" ( (binary_expression "dVar35 <= param_5" identifier <= identifier) )) (goto_statement "goto code_r0x00136096;" goto statement_identifier ;)) (labeled_statement "code_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];" statement_identifier : (expression_statement "local_5a4[1] = local_5a4[1] + local_5a4[3];" (assignment_expression "local_5a4[1] = local_5a4[1] + local_5a4[3]" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = (binary_expression "local_5a4[1] + local_5a4[3]" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) + (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;)) (expression_statement "local_4b0 = local_4b0 + local_410;" (assignment_expression "local_4b0 = local_4b0 + local_410" identifier = (binary_expression "local_4b0 + local_410" identifier + identifier)) ;) (expression_statement "local_4a8 = local_4a8 + local_408;" (assignment_expression "local_4a8 = local_4a8 + local_408" identifier = (binary_expression "local_4a8 + local_408" identifier + identifier)) ;) (expression_statement "local_4a0 = local_4a0 + local_400;" (assignment_expression "local_4a0 = local_4a0 + local_400" identifier = (binary_expression "local_4a0 + local_400" identifier + identifier)) ;) (expression_statement "local_498 = local_498 + local_3f8;" (assignment_expression "local_498 = local_498 + local_3f8" identifier = (binary_expression "local_498 + local_3f8" identifier + identifier)) ;) (expression_statement "local_490 = local_490 + local_3f0;" (assignment_expression "local_490 = local_490 + local_3f0" identifier = (binary_expression "local_490 + local_3f0" identifier + identifier)) ;) }))) }))) (expression_statement "dVar35 = (double)local_66c._0_4_;" (assignment_expression "dVar35 = (double)local_66c._0_4_" identifier = (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier))) ;) (expression_statement "dVar1 = local_4e8;" (assignment_expression "dVar1 = local_4e8" identifier = identifier) ;) (expression_statement "dVar7 = local_4f8;" (assignment_expression "dVar7 = local_4f8" identifier = identifier) ;) (expression_statement "dVar8 = local_500;" (assignment_expression "dVar8 = local_500" identifier = identifier) ;) (if_statement "if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" if (parenthesized_expression "(param_4 - dVar35 < (double)DAT_003006a4)" ( (binary_expression "param_4 - dVar35 < (double)DAT_003006a4" (binary_expression "param_4 - dVar35" identifier - identifier) < (cast_expression "(double)DAT_003006a4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }" { (expression_statement "local_66c = local_4f0;" (assignment_expression "local_66c = local_4f0" identifier = identifier) ;) (expression_statement "local_664 = local_4e0;" (assignment_expression "local_664 = local_4e0" identifier = identifier) ;) (expression_statement "dVar9 = local_5a4[0];" (assignment_expression "dVar9 = local_5a4[0]" identifier = (subscript_expression "local_5a4[0]" identifier [ number_literal ])) ;) (if_statement "if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }" if (parenthesized_expression "((double)DAT_002eb220 < param_4 - dVar35)" ( (binary_expression "(double)DAT_002eb220 < param_4 - dVar35" (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier) < (binary_expression "param_4 - dVar35" identifier - identifier)) )) (compound_statement "{\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }" { (expression_statement "fVar10 = fVar10 + fVar10;" (assignment_expression "fVar10 = fVar10 + fVar10" identifier = (binary_expression "fVar10 + fVar10" identifier + identifier)) ;) (expression_statement "dVar9 = local_5a4[0] + local_5a4[1];" (assignment_expression "dVar9 = local_5a4[0] + local_5a4[1]" identifier = (binary_expression "local_5a4[0] + local_5a4[1]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) + (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_66c = local_4f0 + local_4a0;" (assignment_expression "local_66c = local_4f0 + local_4a0" identifier = (binary_expression "local_4f0 + local_4a0" identifier + identifier)) ;) (expression_statement "local_664 = local_490 + local_4e0;" (assignment_expression "local_664 = local_490 + local_4e0" identifier = (binary_expression "local_490 + local_4e0" identifier + identifier)) ;) (expression_statement "dVar1 = local_4e8 + local_498;" (assignment_expression "dVar1 = local_4e8 + local_498" identifier = (binary_expression "local_4e8 + local_498" identifier + identifier)) ;) (expression_statement "dVar7 = local_4f8 + local_4a8;" (assignment_expression "dVar7 = local_4f8 + local_4a8" identifier = (binary_expression "local_4f8 + local_4a8" identifier + identifier)) ;) (expression_statement "dVar8 = local_500 + local_4b0;" (assignment_expression "dVar8 = local_500 + local_4b0" identifier = (binary_expression "local_500 + local_4b0" identifier + identifier)) ;) })) }) (else_clause "else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" else (compound_statement "{\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" { (expression_statement "puVar31 = auStack_4d0;" (assignment_expression "puVar31 = auStack_4d0" identifier = identifier) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }" { (expression_statement "*puVar30 = *puVar31;" (assignment_expression "*puVar30 = *puVar31" (pointer_expression "*puVar30" * identifier) = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_66c = local_4f0;" (assignment_expression "local_66c = local_4f0" identifier = identifier) ;) (expression_statement "local_664 = local_4e0;" (assignment_expression "local_664 = local_4e0" identifier = identifier) ;) (expression_statement "dVar9 = local_5a4[1];" (assignment_expression "dVar9 = local_5a4[1]" identifier = (subscript_expression "local_5a4[1]" identifier [ number_literal ])) ;) }))) (expression_statement "fVar10 = DAT_002df8b4 / fVar10;" (assignment_expression "fVar10 = DAT_002df8b4 / fVar10" identifier = (binary_expression "DAT_002df8b4 / fVar10" identifier / identifier)) ;) (expression_statement "dVar35 = DAT_002df8d8;" (assignment_expression "dVar35 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar11 = dVar9;" (assignment_expression "dVar11 = dVar9" identifier = identifier) ;) (if_statement "if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }" if (parenthesized_expression "(dVar9 < 0.0)" ( (binary_expression "dVar9 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }" { (expression_statement "dVar35 = DAT_002df8e0;" (assignment_expression "dVar35 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar11 = -dVar9;" (assignment_expression "dVar11 = -dVar9" identifier = (unary_expression "-dVar9" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar11)" ( (binary_expression "DAT_002df2d0 <= dVar11" identifier <= identifier) )) (compound_statement "{\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }" { (expression_statement "dVar35 = (double)DAT_002df8b4 / dVar9;" (assignment_expression "dVar35 = (double)DAT_002df8b4 / dVar9" identifier = (binary_expression "(double)DAT_002df8b4 / dVar9" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 8) = dVar8 * dVar35;" (assignment_expression "*(double *)(param_6 + 8) = dVar8 * dVar35" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "dVar8 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) = dVar7 * dVar35;" (assignment_expression "*(double *)(param_6 + 10) = dVar7 * dVar35" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "dVar7 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) = local_66c * dVar35;" (assignment_expression "*(double *)(param_6 + 0xc) = local_66c * dVar35" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "local_66c * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xe) = dVar35 * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) = dVar35 * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);" (assignment_expression "*(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)(fVar10 * (float)local_664)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(fVar10 * (float)local_664)" ( (binary_expression "fVar10 * (float)local_664" identifier * (cast_expression "(float)local_664" ( (type_descriptor "float" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier (argument_list "(param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" ( identifier , (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal) , (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar29 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x20)" identifier = (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pdVar28 = &local_500;" (assignment_expression "pdVar28 = &local_500" identifier = (pointer_expression "&local_500" & identifier)) ;) (expression_statement "iVar17 = *(int *)(iVar4 + 8);" (assignment_expression "iVar17 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);" do (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      }" { (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" * (cast_expression "(double *)(iVar25 + iVar17 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar17 * 8)" ( (binary_expression "iVar25 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }" { (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8)" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" { (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1;" (assignment_expression "pdVar28[3] = dVar1" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "code_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;" statement_identifier : (if_statement "if (iVar29 == 0) goto code_r0x00134700;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00134700;" goto statement_identifier ;))) (labeled_statement "code_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" statement_identifier : (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" { (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" { (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" identifier = (binary_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" identifier = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = identifier) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (binary_expression "dVar7 * *(double *)(iVar25 + iVar6 * 8)" identifier * (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 != 2) goto code_r0x0013466a;" if (parenthesized_expression "(iVar27 != 2)" ( (binary_expression "iVar27 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0013466a;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            dVar1 = 0.0;\n          }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" else (compound_statement "{\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1 * dVar7;" (assignment_expression "pdVar28[3] = dVar1 * dVar7" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) (if_statement "if (iVar29 != 0) goto code_r0x00134672;" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00134672;" goto statement_identifier ;)) (labeled_statement "code_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "pdVar28[4] = dVar1;" (assignment_expression "pdVar28[4] = dVar1" (subscript_expression "pdVar28[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" identifier = (binary_expression "iVar25 + iVar23 * 8" identifier + (binary_expression "iVar23 * 8" identifier * number_literal))) ;) (expression_statement "pdVar28 = pdVar28 + 10;" (assignment_expression "pdVar28 = pdVar28 + 10" identifier = (binary_expression "pdVar28 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 != 0x10)" ( (binary_expression "iVar32 != 0x10" identifier != number_literal) )) ;) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;" (assignment_expression "dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35" identifier = (binary_expression "param_4 * (double)DAT_002e9cb4 * dVar35" (binary_expression "param_4 * (double)DAT_002e9cb4" identifier * (cast_expression "(double)DAT_002e9cb4" ( (type_descriptor "double" primitive_type) ) identifier)) * identifier)) ;) (expression_statement "dVar12 = dVar35 * dVar1;" (assignment_expression "dVar12 = dVar35 * dVar1" identifier = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) (expression_statement "dVar1 = dVar1 * param_4;" (assignment_expression "dVar1 = dVar1 * param_4" identifier = (binary_expression "dVar1 * param_4" identifier * identifier)) ;) (expression_statement "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);" (assignment_expression "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12)" identifier = (binary_expression "(dVar35 - dVar12) + (dVar1 - dVar12)" (parenthesized_expression "(dVar35 - dVar12)" ( (binary_expression "dVar35 - dVar12" identifier - identifier) )) + (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);" (assignment_expression "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12)" identifier = (binary_expression "(param_4 - dVar1) - (dVar1 - dVar12)" (parenthesized_expression "(param_4 - dVar1)" ( (binary_expression "param_4 - dVar1" identifier - identifier) )) - (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar7 = 1.0 - param_5;" (assignment_expression "dVar7 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;" (assignment_expression "dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7" identifier = (binary_expression "(double)DAT_002e9cb4 * param_5 * dVar7" (binary_expression "(double)DAT_002e9cb4 * param_5" (cast_expression "(double)DAT_002e9cb4" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) * identifier)) ;) (expression_statement "dVar11 = dVar9 * dVar7;" (assignment_expression "dVar11 = dVar9 * dVar7" identifier = (binary_expression "dVar9 * dVar7" identifier * identifier)) ;) (expression_statement "dVar9 = dVar9 * param_5;" (assignment_expression "dVar9 = dVar9 * param_5" identifier = (binary_expression "dVar9 * param_5" identifier * identifier)) ;) (expression_statement "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);" (assignment_expression "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11)" identifier = (binary_expression "(dVar7 - dVar11) + (dVar9 - dVar11)" (parenthesized_expression "(dVar7 - dVar11)" ( (binary_expression "dVar7 - dVar11" identifier - identifier) )) + (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);" (assignment_expression "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11)" identifier = (binary_expression "(param_5 - dVar9) - (dVar9 - dVar11)" (parenthesized_expression "(param_5 - dVar9)" ( (binary_expression "param_5 - dVar9" identifier - identifier) )) - (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12)" ( (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35" (binary_expression "dStack_50 * dVar1" identifier * identifier) + (binary_expression "dStack_a0 * dVar35" identifier * identifier)) + (binary_expression "dStack_f0 * dVar13" identifier * identifier)) + (binary_expression "dStack_140 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (parenthesized_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12)" ( (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35" (binary_expression "dStack_190 * dVar1" identifier * identifier) + (binary_expression "dStack_1e0 * dVar35" identifier * identifier)) + (binary_expression "dStack_230 * dVar13" identifier * identifier)) + (binary_expression "dStack_280 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12)" ( (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35" (binary_expression "dStack_2d0 * dVar1" identifier * identifier) + (binary_expression "dStack_320 * dVar35" identifier * identifier)) + (binary_expression "dStack_370 * dVar13" identifier * identifier)) + (binary_expression "dStack_3c0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   )" ( (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12" (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13" (binary_expression "local_410 * dVar1 + local_460 * dVar35" (binary_expression "local_410 * dVar1" identifier * identifier) + (binary_expression "local_460 * dVar35" identifier * identifier)) + (binary_expression "local_4b0 * dVar13" identifier * identifier)) + (binary_expression "local_500 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12)" ( (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35" (binary_expression "dStack_48 * dVar1" identifier * identifier) + (binary_expression "dStack_98 * dVar35" identifier * identifier)) + (binary_expression "dStack_e8 * dVar13" identifier * identifier)) + (binary_expression "dStack_138 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (parenthesized_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12)" ( (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35" (binary_expression "dStack_188 * dVar1" identifier * identifier) + (binary_expression "dStack_1d8 * dVar35" identifier * identifier)) + (binary_expression "dStack_228 * dVar13" identifier * identifier)) + (binary_expression "dStack_278 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12)" ( (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35" (binary_expression "dStack_2c8 * dVar1" identifier * identifier) + (binary_expression "dStack_318 * dVar35" identifier * identifier)) + (binary_expression "dStack_368 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   )" ( (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12" (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13" (binary_expression "local_408 * dVar1 + local_458 * dVar35" (binary_expression "local_408 * dVar1" identifier * identifier) + (binary_expression "local_458 * dVar35" identifier * identifier)) + (binary_expression "local_4a8 * dVar13" identifier * identifier)) + (binary_expression "local_4f8 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12)" ( (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35" (binary_expression "dStack_40 * dVar1" identifier * identifier) + (binary_expression "dStack_90 * dVar35" identifier * identifier)) + (binary_expression "dStack_e0 * dVar13" identifier * identifier)) + (binary_expression "dStack_130 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (parenthesized_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12)" ( (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35" (binary_expression "dStack_180 * dVar1" identifier * identifier) + (binary_expression "dStack_1d0 * dVar35" identifier * identifier)) + (binary_expression "dStack_220 * dVar13" identifier * identifier)) + (binary_expression "dStack_270 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12)" ( (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35" (binary_expression "dStack_2c0 * dVar1" identifier * identifier) + (binary_expression "dStack_310 * dVar35" identifier * identifier)) + (binary_expression "dStack_360 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   )" ( (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12" (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13" (binary_expression "local_400 * dVar1 + local_450 * dVar35" (binary_expression "local_400 * dVar1" identifier * identifier) + (binary_expression "local_450 * dVar35" identifier * identifier)) + (binary_expression "local_4a0 * dVar13" identifier * identifier)) + (binary_expression "local_4f0 * dVar12" identifier * identifier)) )) * identifier))) ;) (if_statement "if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" { (expression_statement "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9" (parenthesized_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12)" ( (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35" (binary_expression "dStack_38 * dVar1" identifier * identifier) + (binary_expression "dStack_88 * dVar35" identifier * identifier)) + (binary_expression "dStack_d8 * dVar13" identifier * identifier)) + (binary_expression "dStack_128 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (parenthesized_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12)" ( (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35" (binary_expression "dStack_178 * dVar1" identifier * identifier) + (binary_expression "dStack_1c8 * dVar35" identifier * identifier)) + (binary_expression "dStack_218 * dVar13" identifier * identifier)) + (binary_expression "dStack_268 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12)" ( (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35" (binary_expression "dStack_2b8 * dVar1" identifier * identifier) + (binary_expression "dStack_308 * dVar35" identifier * identifier)) + (binary_expression "dStack_358 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (parenthesized_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12)" ( (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35" (binary_expression "local_3f8 * dVar1" identifier * identifier) + (binary_expression "local_448 * dVar35" identifier * identifier)) + (binary_expression "local_498 * dVar13" identifier * identifier)) + (binary_expression "local_4e8 * dVar12" identifier * identifier)) )) * identifier))) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9" (parenthesized_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120)" ( (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80" (binary_expression "dVar1 * dStack_30" identifier * identifier) + (binary_expression "dVar35 * dStack_80" identifier * identifier)) + (binary_expression "dVar13 * dStack_d0" identifier * identifier)) + (binary_expression "dVar12 * dStack_120" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (parenthesized_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12)" ( (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35" (binary_expression "dStack_170 * dVar1" identifier * identifier) + (binary_expression "dStack_1c0 * dVar35" identifier * identifier)) + (binary_expression "dStack_210 * dVar13" identifier * identifier)) + (binary_expression "dStack_260 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12)" ( (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35" (binary_expression "dStack_2b0 * dVar1" identifier * identifier) + (binary_expression "dStack_300 * dVar35" identifier * identifier)) + (binary_expression "dStack_350 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   )" ( (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35" (binary_expression "local_3f0 * dVar1" identifier * identifier) + (binary_expression "local_440 * dVar35" identifier * identifier)) + (binary_expression "local_490 * dVar13" identifier * identifier)) + (binary_expression "local_4e0 * dVar12" identifier * identifier)) )) * identifier))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }" { (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" identifier (argument_list "(param_6,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (labeled_statement "code_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);" statement_identifier : (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0x88)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;)) (expression_statement "*param_6 = *param_1;" (assignment_expression "*param_6 = *param_1" (pointer_expression "*param_6" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar24 = param_1[1];" (assignment_expression "uVar24 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined8 *)(param_6 + 3) = uVar2;" (assignment_expression "*(undefined8 *)(param_6 + 3) = uVar2" (pointer_expression "*(undefined8 *)(param_6 + 3)" * (cast_expression "(undefined8 *)(param_6 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 3)" ( (binary_expression "param_6 + 3" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_6[1] = uVar24;" (assignment_expression "param_6[1] = uVar24" (subscript_expression "param_6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_6[5] = param_1[8];" (assignment_expression "param_6[5] = param_1[8]" (subscript_expression "param_6[5]" identifier [ number_literal ]) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "param_6[2] = param_1[0xa5];" (assignment_expression "param_6[2] = param_1[0xa5]" (subscript_expression "param_6[2]" identifier [ number_literal ]) = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = param_1[0xaa];" (assignment_expression "iVar23 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(iVar23 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar23 + 0x28)" identifier = (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar23 + 0x14);" (assignment_expression "iVar4 = *(int *)(iVar23 + 0x14)" identifier = (pointer_expression "*(int *)(iVar23 + 0x14)" * (cast_expression "(int *)(iVar23 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 8)" * (cast_expression "(undefined8 *)(param_6 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 8) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 8) * 8" identifier + (binary_expression "*(int *)(iVar23 + 8) * 8" (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "iVar27 = *(int *)(iVar23 + 0x20);" (assignment_expression "iVar27 = *(int *)(iVar23 + 0x20)" identifier = (pointer_expression "*(int *)(iVar23 + 0x20)" * (cast_expression "(int *)(iVar23 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x20)" ( (binary_expression "iVar23 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);" (assignment_expression "*(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8)" (pointer_expression "*(undefined8 *)(param_6 + 10)" * (cast_expression "(undefined8 *)(param_6 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar4 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar4 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar4 * 8)" ( (binary_expression "iVar25 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) ))))) ;) (expression_statement "*(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0xc)" * (cast_expression "(undefined8 *)(param_6 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar27 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar27 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27 * 8)" ( (binary_expression "iVar25 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }" { (expression_statement "*(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0xe)" * (cast_expression "(undefined8 *)(param_6 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (if_statement "if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }" if (parenthesized_expression "(*(int *)(iVar23 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar23 + 0x34) != 0" (pointer_expression "*(int *)(iVar23 + 0x34)" * (cast_expression "(int *)(iVar23 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x34)" ( (binary_expression "iVar23 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }" { (expression_statement "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "param_6[2] = 4;" (assignment_expression "param_6[2] = 4" (subscript_expression "param_6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 *)(param_6 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(param_6 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(param_6 + 0x10)" * (cast_expression "(undefined8 *)(param_6 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }" if (parenthesized_expression "(*(int *)(iVar23 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar23 + 0x40) != 0" (pointer_expression "*(int *)(iVar23 + 0x40)" * (cast_expression "(int *)(iVar23 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x40)" ( (binary_expression "iVar23 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }" { (expression_statement "*(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0x12)" * (cast_expression "(undefined8 *)(param_6 + 0x12)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x12)" ( (binary_expression "param_6 + 0x12" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x44) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x44) * 8" (pointer_expression "*(int *)(iVar23 + 0x44)" * (cast_expression "(int *)(iVar23 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x44)" ( (binary_expression "iVar23 + 0x44" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }" { (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar5 = param_1[0xaa];" (assignment_expression "iVar5 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar4 = *(int *)(iVar5 + 8) * 8;" (assignment_expression "iVar4 = *(int *)(iVar5 + 8) * 8" identifier = (binary_expression "*(int *)(iVar5 + 8) * 8" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);" (assignment_expression "dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 8) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 8) * 8" identifier + (binary_expression "*(int *)(iVar5 + 8) * 8" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "dVar1 = (double)DAT_002f2b64;" (assignment_expression "dVar1 = (double)DAT_002f2b64" identifier = (cast_expression "(double)DAT_002f2b64" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar27 = *(int *)(iVar5 + 0x14) * 8;" (assignment_expression "iVar27 = *(int *)(iVar5 + 0x14) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x14) * 8" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar29 = *(int *)(iVar5 + 0x20) * 8;" (assignment_expression "iVar29 = *(int *)(iVar5 + 0x20) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x20) * 8" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "pdVar28 = (double *)(iVar25 + iVar29);" (assignment_expression "pdVar28 = (double *)(iVar25 + iVar29)" identifier = (cast_expression "(double *)(iVar25 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar29)" ( (binary_expression "iVar25 + iVar29" identifier + identifier) )))) ;) (expression_statement "iVar3 = param_1[0xa6];" (assignment_expression "iVar3 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = iVar25 + iVar3 * 0x18;" (assignment_expression "iVar23 = iVar25 + iVar3 * 0x18" identifier = (binary_expression "iVar25 + iVar3 * 0x18" identifier + (binary_expression "iVar3 * 0x18" identifier * number_literal))) ;) (expression_statement "pdVar14 = (double *)(iVar23 + iVar4);" (assignment_expression "pdVar14 = (double *)(iVar23 + iVar4)" identifier = (cast_expression "(double *)(iVar23 + iVar4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar4)" ( (binary_expression "iVar23 + iVar4" identifier + identifier) )))) ;) (expression_statement "pdVar15 = (double *)(iVar23 + iVar27);" (assignment_expression "pdVar15 = (double *)(iVar23 + iVar27)" identifier = (cast_expression "(double *)(iVar23 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar27)" ( (binary_expression "iVar23 + iVar27" identifier + identifier) )))) ;) (expression_statement "pdVar16 = (double *)(iVar23 + iVar29);" (assignment_expression "pdVar16 = (double *)(iVar23 + iVar29)" identifier = (cast_expression "(double *)(iVar23 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar29)" ( (binary_expression "iVar23 + iVar29" identifier + identifier) )))) ;) (expression_statement "dVar8 = (double)DAT_002f2b68;" (assignment_expression "dVar8 = (double)DAT_002f2b68" identifier = (cast_expression "(double)DAT_002f2b68" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar35 = dStack_5ec * dVar8;" (assignment_expression "dVar35 = dStack_5ec * dVar8" identifier = (binary_expression "dStack_5ec * dVar8" identifier * identifier)) ;) (expression_statement "dVar7 = (double)DAT_002f2b6c;" (assignment_expression "dVar7 = (double)DAT_002f2b6c" identifier = (cast_expression "(double)DAT_002f2b6c" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar17 = iVar23 + iVar3 * -0x10;" (assignment_expression "iVar17 = iVar23 + iVar3 * -0x10" identifier = (binary_expression "iVar23 + iVar3 * -0x10" identifier + (binary_expression "iVar3 * -0x10" identifier * number_literal))) ;) (expression_statement "pdVar18 = (double *)(iVar17 + iVar4);" (assignment_expression "pdVar18 = (double *)(iVar17 + iVar4)" identifier = (cast_expression "(double *)(iVar17 + iVar4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar4)" ( (binary_expression "iVar17 + iVar4" identifier + identifier) )))) ;) (expression_statement "pdVar19 = (double *)(iVar17 + iVar27);" (assignment_expression "pdVar19 = (double *)(iVar17 + iVar27)" identifier = (cast_expression "(double *)(iVar17 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar27)" ( (binary_expression "iVar17 + iVar27" identifier + identifier) )))) ;) (expression_statement "pdVar20 = (double *)(iVar17 + iVar29);" (assignment_expression "pdVar20 = (double *)(iVar17 + iVar29)" identifier = (cast_expression "(double *)(iVar17 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar29)" ( (binary_expression "iVar17 + iVar29" identifier + identifier) )))) ;) (expression_statement "iVar3 = iVar17 + iVar3 * 8;" (assignment_expression "iVar3 = iVar17 + iVar3 * 8" identifier = (binary_expression "iVar17 + iVar3 * 8" identifier + (binary_expression "iVar3 * 8" identifier * number_literal))) ;) (expression_statement "pdVar26 = (double *)(iVar27 + iVar3);" (assignment_expression "pdVar26 = (double *)(iVar27 + iVar3)" identifier = (cast_expression "(double *)(iVar27 + iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar3)" ( (binary_expression "iVar27 + iVar3" identifier + identifier) )))) ;) (expression_statement "pdVar21 = (double *)(iVar4 + iVar3);" (assignment_expression "pdVar21 = (double *)(iVar4 + iVar3)" identifier = (cast_expression "(double *)(iVar4 + iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar3)" ( (binary_expression "iVar4 + iVar3" identifier + identifier) )))) ;) (expression_statement "pdVar22 = (double *)(iVar29 + iVar3);" (assignment_expression "pdVar22 = (double *)(iVar29 + iVar3)" identifier = (cast_expression "(double *)(iVar29 + iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar3)" ( (binary_expression "iVar29 + iVar3" identifier + identifier) )))) ;) (expression_statement "iVar4 = *(int *)(iVar5 + 0x34);" (assignment_expression "iVar4 = *(int *)(iVar5 + 0x34)" identifier = (pointer_expression "*(int *)(iVar5 + 0x34)" * (cast_expression "(int *)(iVar5 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = param_1[1];" (assignment_expression "iVar29 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" if (parenthesized_expression "(param_1[0xa5] == 0)" ( (binary_expression "param_1[0xa5] == 0" (subscript_expression "param_1[0xa5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }" { (expression_statement "local_5a4[0] = 1.0;" (assignment_expression "local_5a4[0] = 1.0" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar27);" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar27)" identifier = (pointer_expression "*(double *)(iVar25 + iVar27)" * (cast_expression "(double *)(iVar25 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27)" ( (binary_expression "iVar25 + iVar27" identifier + identifier) ))))) ;) (expression_statement "local_4f0 = *pdVar28;" (assignment_expression "local_4f0 = *pdVar28" identifier = (pointer_expression "*pdVar28" * identifier)) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_4e8 = 0.0;\n          }" { (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (if_statement "if (iVar4 != 0) goto code_r0x0013613f;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x0013613f;" goto statement_identifier ;)) (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" identifier = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" identifier = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" identifier = (pointer_expression "*pdVar20" * identifier)) ;) (labeled_statement "code_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" statement_identifier : (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_498 = 0.0;\n          }" { (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })))) (if_statement "if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }" { (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" identifier = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" identifier = (pointer_expression "*pdVar26" * identifier)) ;) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" identifier = (pointer_expression "*pdVar22" * identifier)) ;) (labeled_statement "code_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" statement_identifier : (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_448 = 0.0;\n            }" { (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" { (expression_statement "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })))) (if_statement "if (iVar4 == 0) goto code_r0x00136b86;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00136b86;" goto statement_identifier ;)) }) (else_clause "else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" else (compound_statement "{\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" { (labeled_statement "code_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" statement_identifier : (expression_statement "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" identifier = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" identifier = (pointer_expression "*pdVar26" * identifier)) ;) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" identifier = (pointer_expression "*pdVar22" * identifier)) ;) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) goto code_r0x00136b5f;" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (goto_statement "goto code_r0x00136b5f;" goto statement_identifier ;)) }))) (expression_statement "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_410 = *pdVar14;" (assignment_expression "local_410 = *pdVar14" identifier = (pointer_expression "*pdVar14" * identifier)) ;) (expression_statement "local_408 = *pdVar15;" (assignment_expression "local_408 = *pdVar15" identifier = (pointer_expression "*pdVar15" * identifier)) ;) (expression_statement "local_400 = *pdVar16;" (assignment_expression "local_400 = *pdVar16" identifier = (pointer_expression "*pdVar16" * identifier)) ;) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) goto code_r0x0013626b;" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (goto_statement "goto code_r0x0013626b;" goto statement_identifier ;)) (labeled_statement "code_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" statement_identifier : (expression_statement "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" else (compound_statement "{\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" { (if_statement "if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }" { (labeled_statement "code_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" statement_identifier : (expression_statement "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" identifier = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" identifier = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" identifier = (pointer_expression "*pdVar20" * identifier)) ;) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) goto code_r0x00136ae2;" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (goto_statement "goto code_r0x00136ae2;" goto statement_identifier ;)) (goto_statement "goto code_r0x001361a4;" goto statement_identifier ;) })) (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" identifier = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" identifier = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" identifier = (pointer_expression "*pdVar20" * identifier)) ;) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" identifier = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" identifier = (pointer_expression "*pdVar26" * identifier)) ;) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" identifier = (pointer_expression "*pdVar22" * identifier)) ;) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) (labeled_statement "code_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "local_440 = (double)DAT_002df8a8;" (assignment_expression "local_440 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) (expression_statement "local_410 = *pdVar14;" (assignment_expression "local_410 = *pdVar14" identifier = (pointer_expression "*pdVar14" * identifier)) ;) (expression_statement "local_408 = *pdVar15;" (assignment_expression "local_408 = *pdVar15" identifier = (pointer_expression "*pdVar15" * identifier)) ;) (expression_statement "local_400 = *pdVar16;" (assignment_expression "local_400 = *pdVar16" identifier = (pointer_expression "*pdVar16" * identifier)) ;) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }" { (labeled_statement "code_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" statement_identifier : (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_3f8 = 0.0;\n            }" { (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" { (expression_statement "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })))) (if_statement "if (iVar4 != 0) goto code_r0x00136296;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00136296;" goto statement_identifier ;)) (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = (double)DAT_002df8a8;\n          }" else (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) }))) (expression_statement "local_5a4[3] = 1.0;" (assignment_expression "local_5a4[3] = 1.0" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_5a4[2] = 1.0;" (assignment_expression "local_5a4[2] = 1.0" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_5a4[1] = 1.0;" (assignment_expression "local_5a4[1] = 1.0" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" else (compound_statement "{\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" { (if_statement "if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[0] = 1.0;\n        }" { (expression_statement "local_5a4[0] = 1.0;" (assignment_expression "local_5a4[0] = 1.0" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" else (compound_statement "{\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" { (expression_statement "local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_5ec = dStack_5ec * local_5a4[0];" (assignment_expression "dStack_5ec = dStack_5ec * local_5a4[0]" identifier = (binary_expression "dStack_5ec * local_5a4[0]" identifier * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) }))) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0]" identifier = (binary_expression "*(double *)(iVar25 + iVar27) * local_5a4[0]" (pointer_expression "*(double *)(iVar25 + iVar27)" * (cast_expression "(double *)(iVar25 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27)" ( (binary_expression "iVar25 + iVar27" identifier + identifier) )))) * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) (expression_statement "local_4f0 = *pdVar28 * local_5a4[0];" (assignment_expression "local_4f0 = *pdVar28 * local_5a4[0]" identifier = (binary_expression "*pdVar28 * local_5a4[0]" (pointer_expression "*pdVar28" * identifier) * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_4e8 = 0.0;\n          }" { (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e8 = local_4e8 * local_5a4[0];" (assignment_expression "local_4e8 = local_4e8 * local_5a4[0]" identifier = (binary_expression "local_4e8 * local_5a4[0]" identifier * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }" { (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_5a4[1] = 1.0;" (assignment_expression "local_5a4[1] = 1.0" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "local_4b0 = *pdVar18 * local_5a4[1];" (assignment_expression "local_4b0 = *pdVar18 * local_5a4[1]" identifier = (binary_expression "*pdVar18 * local_5a4[1]" (pointer_expression "*pdVar18" * identifier) * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_4a8 = *pdVar19 * local_5a4[1];" (assignment_expression "local_4a8 = *pdVar19 * local_5a4[1]" identifier = (binary_expression "*pdVar19 * local_5a4[1]" (pointer_expression "*pdVar19" * identifier) * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_4a0 = *pdVar20 * local_5a4[1];" (assignment_expression "local_4a0 = *pdVar20 * local_5a4[1]" identifier = (binary_expression "*pdVar20 * local_5a4[1]" (pointer_expression "*pdVar20" * identifier) * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_498 = 0.0;\n          }" { (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_498 = local_498 * local_5a4[1];" (assignment_expression "local_498 = local_498 * local_5a4[1]" identifier = (binary_expression "local_498 * local_5a4[1]" identifier * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }" { (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_5a4[2] = 1.0;" (assignment_expression "local_5a4[2] = 1.0" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "local_460 = *pdVar21 * local_5a4[2];" (assignment_expression "local_460 = *pdVar21 * local_5a4[2]" identifier = (binary_expression "*pdVar21 * local_5a4[2]" (pointer_expression "*pdVar21" * identifier) * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_458 = *pdVar26 * local_5a4[2];" (assignment_expression "local_458 = *pdVar26 * local_5a4[2]" identifier = (binary_expression "*pdVar26 * local_5a4[2]" (pointer_expression "*pdVar26" * identifier) * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_450 = *pdVar22 * local_5a4[2];" (assignment_expression "local_450 = *pdVar22 * local_5a4[2]" identifier = (binary_expression "*pdVar22 * local_5a4[2]" (pointer_expression "*pdVar22" * identifier) * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_448 = 0.0;\n          }" { (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_448 = local_448 * local_5a4[2];" (assignment_expression "local_448 = local_448 * local_5a4[2]" identifier = (binary_expression "local_448 * local_5a4[2]" identifier * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }" { (expression_statement "local_440 = (double)DAT_002df8a8;" (assignment_expression "local_440 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_5a4[3] = 1.0;" (assignment_expression "local_5a4[3] = 1.0" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "local_410 = *pdVar14 * local_5a4[3];" (assignment_expression "local_410 = *pdVar14 * local_5a4[3]" identifier = (binary_expression "*pdVar14 * local_5a4[3]" (pointer_expression "*pdVar14" * identifier) * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_408 = *pdVar15 * local_5a4[3];" (assignment_expression "local_408 = *pdVar15 * local_5a4[3]" identifier = (binary_expression "*pdVar15 * local_5a4[3]" (pointer_expression "*pdVar15" * identifier) * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_400 = *pdVar16 * local_5a4[3];" (assignment_expression "local_400 = *pdVar16 * local_5a4[3]" identifier = (binary_expression "*pdVar16 * local_5a4[3]" (pointer_expression "*pdVar16" * identifier) * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_3f8 = 0.0;\n          }" { (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_3f8 = local_3f8 * local_5a4[3];" (assignment_expression "local_3f8 = local_3f8 * local_5a4[3]" identifier = (binary_expression "local_3f8 * local_5a4[3]" identifier * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_66c = (double)DAT_002df8a8;\n        }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) }))) (expression_statement "dVar9 = 1.0 - param_4;" (assignment_expression "dVar9 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "local_500 = dStack_5ec;" (assignment_expression "local_500 = dStack_5ec" identifier = identifier) ;) (expression_statement "local_3f0 = local_66c;" (assignment_expression "local_3f0 = local_66c" identifier = identifier) ;) (if_statement "if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" if (parenthesized_expression "(ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)))" ( (binary_expression "ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" (call_expression "ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21))" identifier (argument_list "((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21))" ( (binary_expression "(*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)" (parenthesized_expression "(*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8)" ( (binary_expression "*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8" (binary_expression "*pdVar20 * dVar7 + *pdVar19 * dVar1" (binary_expression "*pdVar20 * dVar7" (pointer_expression "*pdVar20" * identifier) * identifier) + (binary_expression "*pdVar19 * dVar1" (pointer_expression "*pdVar19" * identifier) * identifier)) + (binary_expression "*pdVar18 * dVar8" (pointer_expression "*pdVar18" * identifier) * identifier)) )) - (parenthesized_expression "(dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)" ( (binary_expression "dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21" (binary_expression "dVar7 * *pdVar22 + dVar1 * *pdVar26" (binary_expression "dVar7 * *pdVar22" identifier * (pointer_expression "*pdVar22" * identifier)) + (binary_expression "dVar1 * *pdVar26" identifier * (pointer_expression "*pdVar26" * identifier))) + (binary_expression "dVar8 * *pdVar21" identifier * (pointer_expression "*pdVar21" * identifier))) ))) ))) <= (call_expression "ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" identifier (argument_list "((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" ( (binary_expression "(*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)" (parenthesized_expression "(*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1)" ( (binary_expression "*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1" (binary_expression "*pdVar28 * dVar7 + dVar35" (binary_expression "*pdVar28 * dVar7" (pointer_expression "*pdVar28" * identifier) * identifier) + identifier) + (binary_expression "*(double *)(iVar25 + iVar27) * dVar1" (pointer_expression "*(double *)(iVar25 + iVar27)" * (cast_expression "(double *)(iVar25 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27)" ( (binary_expression "iVar25 + iVar27" identifier + identifier) )))) * identifier)) )) - (parenthesized_expression "(*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)" ( (binary_expression "*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8" (binary_expression "*pdVar16 * dVar7 + *pdVar15 * dVar1" (binary_expression "*pdVar16 * dVar7" (pointer_expression "*pdVar16" * identifier) * identifier) + (binary_expression "*pdVar15 * dVar1" (pointer_expression "*pdVar15" * identifier) * identifier)) + (binary_expression "*pdVar14 * dVar8" (pointer_expression "*pdVar14" * identifier) * identifier)) ))) )))) )) (compound_statement "{\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }" { (expression_statement "dVar35 = 1.0 - param_5;" (assignment_expression "dVar35 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (if_statement "if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" if (parenthesized_expression "(dVar35 < param_4)" ( (binary_expression "dVar35 < param_4" identifier < identifier) )) (compound_statement "{\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }" { (expression_statement "dVar8 = (1.0 - dVar9) - dVar35;" (assignment_expression "dVar8 = (1.0 - dVar9) - dVar35" identifier = (binary_expression "(1.0 - dVar9) - dVar35" (parenthesized_expression "(1.0 - dVar9)" ( (binary_expression "1.0 - dVar9" number_literal - identifier) )) - identifier)) ;) (expression_statement "dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;" (assignment_expression "dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9" identifier = (binary_expression "local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9" (binary_expression "local_5a4[3] * dVar8 + local_5a4[1] * dVar35" (binary_expression "local_5a4[3] * dVar8" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[1] * dVar35" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier)) + (binary_expression "local_5a4[2] * dVar9" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar7 = DAT_002df8d8;" (assignment_expression "dVar7 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar11 = dVar1;" (assignment_expression "dVar11 = dVar1" identifier = identifier) ;) (if_statement "if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }" { (expression_statement "dVar7 = DAT_002df8e0;" (assignment_expression "dVar7 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar11 = -dVar1;" (assignment_expression "dVar11 = -dVar1" identifier = (unary_expression "-dVar1" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }" if (parenthesized_expression "(DAT_002df2d0 <= dVar11)" ( (binary_expression "DAT_002df2d0 <= dVar11" identifier <= identifier) )) (compound_statement "{\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }" { (expression_statement "dVar7 = (double)DAT_002df8b4 / dVar1;" (assignment_expression "dVar7 = (double)DAT_002df8b4 / dVar1" identifier = (binary_expression "(double)DAT_002df8b4 / dVar1" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7" (parenthesized_expression "(local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9)" ( (binary_expression "local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9" (binary_expression "local_410 * dVar8 + local_4b0 * dVar35" (binary_expression "local_410 * dVar8" identifier * identifier) + (binary_expression "local_4b0 * dVar35" identifier * identifier)) + (binary_expression "local_460 * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7" (parenthesized_expression "(local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9)" ( (binary_expression "local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9" (binary_expression "local_408 * dVar8 + local_4a8 * dVar35" (binary_expression "local_408 * dVar8" identifier * identifier) + (binary_expression "local_4a8 * dVar35" identifier * identifier)) + (binary_expression "local_458 * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7" (parenthesized_expression "(local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9)" ( (binary_expression "local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9" (binary_expression "local_400 * dVar8 + local_4a0 * dVar35" (binary_expression "local_400 * dVar8" identifier * identifier) + (binary_expression "local_4a0 * dVar35" identifier * identifier)) + (binary_expression "local_450 * dVar9" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }" { (expression_statement "*(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7" (parenthesized_expression "(local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9)" ( (binary_expression "local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9" (binary_expression "local_3f8 * dVar8 + local_498 * dVar35" (binary_expression "local_3f8 * dVar8" identifier * identifier) + (binary_expression "local_498 * dVar35" identifier * identifier)) + (binary_expression "local_448 * dVar9" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);" (assignment_expression "*(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" (parenthesized_expression "(dVar9 + dVar35 + dVar8)" ( (binary_expression "dVar9 + dVar35 + dVar8" (binary_expression "dVar9 + dVar35" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" ( (binary_expression "local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9" (binary_expression "local_66c * dVar8 + local_490 * dVar35" (binary_expression "local_66c * dVar8" identifier * identifier) + (binary_expression "local_490 * dVar35" identifier * identifier)) + (binary_expression "local_440 * dVar9" identifier * identifier)) )))) ;) }) (else_clause "else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" else (compound_statement "{\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" { (expression_statement "dVar9 = dVar9 - param_5;" (assignment_expression "dVar9 = dVar9 - param_5" identifier = (binary_expression "dVar9 - param_5" identifier - identifier)) ;) (expression_statement "dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;" (assignment_expression "dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4" identifier = (binary_expression "local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4" (binary_expression "local_5a4[0] * dVar9 + param_5 * local_5a4[2]" (binary_expression "local_5a4[0] * dVar9" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier) + (binary_expression "param_5 * local_5a4[2]" identifier * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) + (binary_expression "local_5a4[1] * param_4" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar7 = dVar35;" (assignment_expression "dVar7 = dVar35" identifier = identifier) ;) (if_statement "if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }" if (parenthesized_expression "(dVar35 < 0.0)" ( (binary_expression "dVar35 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar7 = -dVar35;" (assignment_expression "dVar7 = -dVar35" identifier = (unary_expression "-dVar35" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }" if (parenthesized_expression "(DAT_002df2d0 <= dVar7)" ( (binary_expression "DAT_002df2d0 <= dVar7" identifier <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" identifier = (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1" (parenthesized_expression "(dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4)" ( (binary_expression "dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4" (binary_expression "dStack_5ec * dVar9 + local_460 * param_5" (binary_expression "dStack_5ec * dVar9" identifier * identifier) + (binary_expression "local_460 * param_5" identifier * identifier)) + (binary_expression "local_4b0 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1" (parenthesized_expression "(local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4)" ( (binary_expression "local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4" (binary_expression "local_4f8 * dVar9 + local_458 * param_5" (binary_expression "local_4f8 * dVar9" identifier * identifier) + (binary_expression "local_458 * param_5" identifier * identifier)) + (binary_expression "local_4a8 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1" (parenthesized_expression "(local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4)" ( (binary_expression "local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4" (binary_expression "local_4f0 * dVar9 + local_450 * param_5" (binary_expression "local_4f0 * dVar9" identifier * identifier) + (binary_expression "local_450 * param_5" identifier * identifier)) + (binary_expression "local_4a0 * param_4" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }" { (expression_statement "*(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1" (parenthesized_expression "(local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5)" ( (binary_expression "local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5" (binary_expression "local_4e8 * dVar9 + param_4 * local_498" (binary_expression "local_4e8 * dVar9" identifier * identifier) + (binary_expression "param_4 * local_498" identifier * identifier)) + (binary_expression "local_448 * param_5" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);" (assignment_expression "*(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" (parenthesized_expression "(dVar9 + param_4 + param_5)" ( (binary_expression "dVar9 + param_4 + param_5" (binary_expression "dVar9 + param_4" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" ( (binary_expression "local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5" (binary_expression "local_4e0 * dVar9 + local_490 * param_4" (binary_expression "local_4e0 * dVar9" identifier * identifier) + (binary_expression "local_490 * param_4" identifier * identifier)) + (binary_expression "local_440 * param_5" identifier * identifier)) )))) ;) }))) }) (else_clause "else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" else (if_statement "if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" if (parenthesized_expression "(param_5 < param_4)" ( (binary_expression "param_5 < param_4" identifier < identifier) )) (compound_statement "{\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }" { (expression_statement "dVar7 = (1.0 - dVar9) - param_5;" (assignment_expression "dVar7 = (1.0 - dVar9) - param_5" identifier = (binary_expression "(1.0 - dVar9) - param_5" (parenthesized_expression "(1.0 - dVar9)" ( (binary_expression "1.0 - dVar9" number_literal - identifier) )) - identifier)) ;) (expression_statement "dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;" (assignment_expression "dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5" identifier = (binary_expression "local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5" (binary_expression "local_5a4[1] * dVar7 + local_5a4[0] * dVar9" (binary_expression "local_5a4[1] * dVar7" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[0] * dVar9" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier)) + (binary_expression "local_5a4[3] * param_5" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar8 = dVar35;" (assignment_expression "dVar8 = dVar35" identifier = identifier) ;) (if_statement "if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }" if (parenthesized_expression "(dVar35 < 0.0)" ( (binary_expression "dVar35 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar8 = -dVar35;" (assignment_expression "dVar8 = -dVar35" identifier = (unary_expression "-dVar35" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" if (parenthesized_expression "(DAT_002df2d0 <= dVar8)" ( (binary_expression "DAT_002df2d0 <= dVar8" identifier <= identifier) )) (compound_statement "{\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" identifier = (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1" (parenthesized_expression "(local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9)" ( (binary_expression "local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9" (binary_expression "local_4b0 * dVar7 + local_410 * param_5" (binary_expression "local_4b0 * dVar7" identifier * identifier) + (binary_expression "local_410 * param_5" identifier * identifier)) + (binary_expression "dStack_5ec * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1" (parenthesized_expression "(local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9)" ( (binary_expression "local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9" (binary_expression "local_4a8 * dVar7 + local_408 * param_5" (binary_expression "local_4a8 * dVar7" identifier * identifier) + (binary_expression "local_408 * param_5" identifier * identifier)) + (binary_expression "local_4f8 * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1" (parenthesized_expression "(local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9)" ( (binary_expression "local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9" (binary_expression "local_4a0 * dVar7 + local_400 * param_5" (binary_expression "local_4a0 * dVar7" identifier * identifier) + (binary_expression "local_400 * param_5" identifier * identifier)) + (binary_expression "local_4f0 * dVar9" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }" { (expression_statement "*(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1" (parenthesized_expression "(local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5)" ( (binary_expression "local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5" (binary_expression "local_498 * dVar7 + local_4e8 * dVar9" (binary_expression "local_498 * dVar7" identifier * identifier) + (binary_expression "local_4e8 * dVar9" identifier * identifier)) + (binary_expression "local_3f8 * param_5" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);" (assignment_expression "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" (parenthesized_expression "(dVar9 + param_5 + dVar7)" ( (binary_expression "dVar9 + param_5 + dVar7" (binary_expression "dVar9 + param_5" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" ( (binary_expression "local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5" (binary_expression "local_490 * dVar7 + local_4e0 * dVar9" (binary_expression "local_490 * dVar7" identifier * identifier) + (binary_expression "local_4e0 * dVar9" identifier * identifier)) + (binary_expression "local_66c * param_5" identifier * identifier)) )))) ;) }) (else_clause "else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" else (compound_statement "{\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" { (expression_statement "param_5 = 1.0 - param_5;" (assignment_expression "param_5 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar9 = dVar9 - param_5;" (assignment_expression "dVar9 = dVar9 - param_5" identifier = (binary_expression "dVar9 - param_5" identifier - identifier)) ;) (expression_statement "dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;" (assignment_expression "dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4" identifier = (binary_expression "local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4" (binary_expression "local_5a4[2] * dVar9 + local_5a4[0] * param_5" (binary_expression "local_5a4[2] * dVar9" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[0] * param_5" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier)) + (binary_expression "local_5a4[3] * param_4" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar7 = dVar35;" (assignment_expression "dVar7 = dVar35" identifier = identifier) ;) (if_statement "if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }" if (parenthesized_expression "(dVar35 < 0.0)" ( (binary_expression "dVar35 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar7 = -dVar35;" (assignment_expression "dVar7 = -dVar35" identifier = (unary_expression "-dVar35" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" if (parenthesized_expression "(DAT_002df2d0 <= dVar7)" ( (binary_expression "DAT_002df2d0 <= dVar7" identifier <= identifier) )) (compound_statement "{\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" identifier = (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1" (parenthesized_expression "(local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4)" ( (binary_expression "local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4" (binary_expression "local_460 * dVar9 + dStack_5ec * param_5" (binary_expression "local_460 * dVar9" identifier * identifier) + (binary_expression "dStack_5ec * param_5" identifier * identifier)) + (binary_expression "local_410 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1" (parenthesized_expression "(local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4)" ( (binary_expression "local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4" (binary_expression "local_458 * dVar9 + local_4f8 * param_5" (binary_expression "local_458 * dVar9" identifier * identifier) + (binary_expression "local_4f8 * param_5" identifier * identifier)) + (binary_expression "local_408 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1" (parenthesized_expression "(local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4)" ( (binary_expression "local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4" (binary_expression "local_450 * dVar9 + local_4f0 * param_5" (binary_expression "local_450 * dVar9" identifier * identifier) + (binary_expression "local_4f0 * param_5" identifier * identifier)) + (binary_expression "local_400 * param_4" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }" { (expression_statement "*(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1" (parenthesized_expression "(local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4)" ( (binary_expression "local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4" (binary_expression "local_448 * dVar9 + local_4e8 * param_5" (binary_expression "local_448 * dVar9" identifier * identifier) + (binary_expression "local_4e8 * param_5" identifier * identifier)) + (binary_expression "local_3f8 * param_4" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);" (assignment_expression "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" (parenthesized_expression "(dVar9 + param_4 + param_5)" ( (binary_expression "dVar9 + param_4 + param_5" (binary_expression "dVar9 + param_4" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" ( (binary_expression "local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4" (binary_expression "local_440 * dVar9 + local_4e0 * param_5" (binary_expression "local_440 * dVar9" identifier * identifier) + (binary_expression "local_4e0 * param_5" identifier * identifier)) + (binary_expression "local_66c * param_4" identifier * identifier)) )))) ;) }))))) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = -0x7ffffdff;" (assignment_expression "iVar25 = -0x7ffffdff" identifier = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }" if (parenthesized_expression "((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" ( (binary_expression "DAT_002f2490 <= param_4" identifier <= identifier) )) && (parenthesized_expression "(iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)" ( (comma_expression "iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498" (assignment_expression "iVar25 = 0x7ffffdff" identifier = number_literal) , (binary_expression "param_4 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }" { (expression_statement "dVar35 = floor(param_4 + (double)DAT_002df2b8);" (assignment_expression "dVar35 = floor(param_4 + (double)DAT_002df2b8)" identifier = (call_expression "floor(param_4 + (double)DAT_002df2b8)" identifier (argument_list "(param_4 + (double)DAT_002df2b8)" ( (binary_expression "param_4 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar25 = (int)ROUND(dVar35);" (assignment_expression "iVar25 = (int)ROUND(dVar35)" identifier = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (expression_statement "iVar23 = -0x7ffffdff;" (assignment_expression "iVar23 = -0x7ffffdff" identifier = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }" if (parenthesized_expression "((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" ( (binary_expression "DAT_002f2490 <= param_5" identifier <= identifier) )) && (parenthesized_expression "(iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)" ( (comma_expression "iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498" (assignment_expression "iVar23 = 0x7ffffdff" identifier = number_literal) , (binary_expression "param_5 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }" { (expression_statement "dVar35 = floor(param_5 + (double)DAT_002df2b8);" (assignment_expression "dVar35 = floor(param_5 + (double)DAT_002df2b8)" identifier = (call_expression "floor(param_5 + (double)DAT_002df2b8)" identifier (argument_list "(param_5 + (double)DAT_002df2b8)" ( (binary_expression "param_5 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar23 = (int)ROUND(dVar35);" (assignment_expression "iVar23 = (int)ROUND(dVar35)" identifier = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7)" identifier (argument_list "(param_2,iVar25,iVar23,1,1,param_7)" ( identifier , identifier , identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }" { (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" identifier (argument_list "(param_6,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (goto_statement "goto code_r0x0013517c;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier (argument_list "(param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" ( identifier , (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal) , (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar29 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x20)" identifier = (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pdVar28 = &local_500;" (assignment_expression "pdVar28 = &local_500" identifier = (pointer_expression "&local_500" & identifier)) ;) (expression_statement "iVar17 = *(int *)(iVar4 + 8);" (assignment_expression "iVar17 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);" do (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      }" { (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" * (cast_expression "(double *)(iVar25 + iVar17 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar17 * 8)" ( (binary_expression "iVar25 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }" { (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8)" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" { (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1;" (assignment_expression "pdVar28[3] = dVar1" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "code_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;" statement_identifier : (if_statement "if (iVar29 == 0) goto code_r0x00134330;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00134330;" goto statement_identifier ;))) (labeled_statement "code_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" statement_identifier : (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" { (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" { (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" identifier = (binary_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" identifier = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = identifier) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (binary_expression "dVar7 * *(double *)(iVar25 + iVar6 * 8)" identifier * (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 != 2) goto code_r0x0013429a;" if (parenthesized_expression "(iVar27 != 2)" ( (binary_expression "iVar27 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0013429a;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            dVar1 = 0.0;\n          }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" else (compound_statement "{\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1 * dVar7;" (assignment_expression "pdVar28[3] = dVar1 * dVar7" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) (if_statement "if (iVar29 != 0) goto code_r0x001342a2;" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x001342a2;" goto statement_identifier ;)) (labeled_statement "code_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "pdVar28[4] = dVar1;" (assignment_expression "pdVar28[4] = dVar1" (subscript_expression "pdVar28[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" identifier = (binary_expression "iVar25 + iVar23 * 8" identifier + (binary_expression "iVar23 * 8" identifier * number_literal))) ;) (expression_statement "pdVar28 = pdVar28 + 10;" (assignment_expression "pdVar28 = pdVar28 + 10" identifier = (binary_expression "pdVar28 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 != 0x10)" ( (binary_expression "iVar32 != 0x10" identifier != number_literal) )) ;) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;" (assignment_expression "dVar1 = param_4 * DAT_002f5568 * param_4 * param_4" identifier = (binary_expression "param_4 * DAT_002f5568 * param_4 * param_4" (binary_expression "param_4 * DAT_002f5568 * param_4" (binary_expression "param_4 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;" (assignment_expression "dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35" identifier = (binary_expression "dVar35 * DAT_002f5568 * dVar35 * dVar35" (binary_expression "dVar35 * DAT_002f5568 * dVar35" (binary_expression "dVar35 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);" (assignment_expression "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12)" identifier = (binary_expression "(dVar35 - dVar12) + (dVar1 - dVar12)" (parenthesized_expression "(dVar35 - dVar12)" ( (binary_expression "dVar35 - dVar12" identifier - identifier) )) + (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);" (assignment_expression "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12)" identifier = (binary_expression "(param_4 - dVar1) - (dVar1 - dVar12)" (parenthesized_expression "(param_4 - dVar1)" ( (binary_expression "param_4 - dVar1" identifier - identifier) )) - (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar7 = 1.0 - param_5;" (assignment_expression "dVar7 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;" (assignment_expression "dVar9 = param_5 * DAT_002f5568 * param_5 * param_5" identifier = (binary_expression "param_5 * DAT_002f5568 * param_5 * param_5" (binary_expression "param_5 * DAT_002f5568 * param_5" (binary_expression "param_5 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;" (assignment_expression "dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7" identifier = (binary_expression "DAT_002f5568 * dVar7 * dVar7 * dVar7" (binary_expression "DAT_002f5568 * dVar7 * dVar7" (binary_expression "DAT_002f5568 * dVar7" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);" (assignment_expression "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11)" identifier = (binary_expression "(dVar7 - dVar11) + (dVar9 - dVar11)" (parenthesized_expression "(dVar7 - dVar11)" ( (binary_expression "dVar7 - dVar11" identifier - identifier) )) + (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);" (assignment_expression "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11)" identifier = (binary_expression "(param_5 - dVar9) - (dVar9 - dVar11)" (parenthesized_expression "(param_5 - dVar9)" ( (binary_expression "param_5 - dVar9" identifier - identifier) )) - (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12)" ( (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35" (binary_expression "dStack_50 * dVar1" identifier * identifier) + (binary_expression "dStack_a0 * dVar35" identifier * identifier)) + (binary_expression "dStack_f0 * dVar13" identifier * identifier)) + (binary_expression "dStack_140 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (parenthesized_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12)" ( (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35" (binary_expression "dStack_190 * dVar1" identifier * identifier) + (binary_expression "dStack_1e0 * dVar35" identifier * identifier)) + (binary_expression "dStack_230 * dVar13" identifier * identifier)) + (binary_expression "dStack_280 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12)" ( (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35" (binary_expression "dStack_2d0 * dVar1" identifier * identifier) + (binary_expression "dStack_320 * dVar35" identifier * identifier)) + (binary_expression "dStack_370 * dVar13" identifier * identifier)) + (binary_expression "dStack_3c0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   )" ( (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12" (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13" (binary_expression "local_410 * dVar1 + local_460 * dVar35" (binary_expression "local_410 * dVar1" identifier * identifier) + (binary_expression "local_460 * dVar35" identifier * identifier)) + (binary_expression "local_4b0 * dVar13" identifier * identifier)) + (binary_expression "local_500 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12)" ( (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35" (binary_expression "dStack_48 * dVar1" identifier * identifier) + (binary_expression "dStack_98 * dVar35" identifier * identifier)) + (binary_expression "dStack_e8 * dVar13" identifier * identifier)) + (binary_expression "dStack_138 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (parenthesized_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12)" ( (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35" (binary_expression "dStack_188 * dVar1" identifier * identifier) + (binary_expression "dStack_1d8 * dVar35" identifier * identifier)) + (binary_expression "dStack_228 * dVar13" identifier * identifier)) + (binary_expression "dStack_278 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12)" ( (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35" (binary_expression "dStack_2c8 * dVar1" identifier * identifier) + (binary_expression "dStack_318 * dVar35" identifier * identifier)) + (binary_expression "dStack_368 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   )" ( (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12" (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13" (binary_expression "local_408 * dVar1 + local_458 * dVar35" (binary_expression "local_408 * dVar1" identifier * identifier) + (binary_expression "local_458 * dVar35" identifier * identifier)) + (binary_expression "local_4a8 * dVar13" identifier * identifier)) + (binary_expression "local_4f8 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12)" ( (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35" (binary_expression "dStack_40 * dVar1" identifier * identifier) + (binary_expression "dStack_90 * dVar35" identifier * identifier)) + (binary_expression "dStack_e0 * dVar13" identifier * identifier)) + (binary_expression "dStack_130 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (parenthesized_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12)" ( (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35" (binary_expression "dStack_180 * dVar1" identifier * identifier) + (binary_expression "dStack_1d0 * dVar35" identifier * identifier)) + (binary_expression "dStack_220 * dVar13" identifier * identifier)) + (binary_expression "dStack_270 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12)" ( (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35" (binary_expression "dStack_2c0 * dVar1" identifier * identifier) + (binary_expression "dStack_310 * dVar35" identifier * identifier)) + (binary_expression "dStack_360 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   )" ( (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12" (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13" (binary_expression "local_400 * dVar1 + local_450 * dVar35" (binary_expression "local_400 * dVar1" identifier * identifier) + (binary_expression "local_450 * dVar35" identifier * identifier)) + (binary_expression "local_4a0 * dVar13" identifier * identifier)) + (binary_expression "local_4f0 * dVar12" identifier * identifier)) )) * identifier))) ;) (if_statement "if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" { (expression_statement "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9" (parenthesized_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12)" ( (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35" (binary_expression "dStack_38 * dVar1" identifier * identifier) + (binary_expression "dStack_88 * dVar35" identifier * identifier)) + (binary_expression "dStack_d8 * dVar13" identifier * identifier)) + (binary_expression "dStack_128 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (parenthesized_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12)" ( (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35" (binary_expression "dStack_178 * dVar1" identifier * identifier) + (binary_expression "dStack_1c8 * dVar35" identifier * identifier)) + (binary_expression "dStack_218 * dVar13" identifier * identifier)) + (binary_expression "dStack_268 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12)" ( (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35" (binary_expression "dStack_2b8 * dVar1" identifier * identifier) + (binary_expression "dStack_308 * dVar35" identifier * identifier)) + (binary_expression "dStack_358 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (parenthesized_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12)" ( (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35" (binary_expression "local_3f8 * dVar1" identifier * identifier) + (binary_expression "local_448 * dVar35" identifier * identifier)) + (binary_expression "local_498 * dVar13" identifier * identifier)) + (binary_expression "local_4e8 * dVar12" identifier * identifier)) )) * identifier))) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9" (parenthesized_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120)" ( (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80" (binary_expression "dVar1 * dStack_30" identifier * identifier) + (binary_expression "dVar35 * dStack_80" identifier * identifier)) + (binary_expression "dVar13 * dStack_d0" identifier * identifier)) + (binary_expression "dVar12 * dStack_120" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (parenthesized_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12)" ( (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35" (binary_expression "dStack_170 * dVar1" identifier * identifier) + (binary_expression "dStack_1c0 * dVar35" identifier * identifier)) + (binary_expression "dStack_210 * dVar13" identifier * identifier)) + (binary_expression "dStack_260 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12)" ( (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35" (binary_expression "dStack_2b0 * dVar1" identifier * identifier) + (binary_expression "dStack_300 * dVar35" identifier * identifier)) + (binary_expression "dStack_350 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   )" ( (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35" (binary_expression "local_3f0 * dVar1" identifier * identifier) + (binary_expression "local_440 * dVar35" identifier * identifier)) + (binary_expression "local_490 * dVar13" identifier * identifier)) + (binary_expression "local_4e0 * dVar12" identifier * identifier)) )) * identifier))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) }))) })) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\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    return uVar24;\n  }" { (return_statement "return uVar24;" return identifier ;) }))) comment (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\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\nMagickBooleanType\nInterpolatePixelInfo\n          (Image *image,CacheView_ *image_view,PixelInterpolateMethod method,double x,double y,\n          PixelInfo *pixel,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  double dVar2;\n  Quantum QVar3;\n  double dVar4;\n  int iVar5;\n  ClassType CVar6;\n  PixelChannelMap *pPVar7;\n  PixelTrait PVar8;\n  PixelTrait PVar9;\n  ColorspaceType CVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  size_t sVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  double *pdVar23;\n  double *pdVar24;\n  int iVar25;\n  Quantum *pQVar26;\n  MagickBooleanType MVar27;\n  int iVar28;\n  double *pdVar29;\n  MagickRealType *pMVar30;\n  Quantum *pQVar31;\n  PixelInfo *pPVar32;\n  double *pdVar33;\n  double *pdVar34;\n  PixelInfo *pPVar35;\n  int iVar36;\n  PixelInfo *pPVar37;\n  int in_GS_OFFSET;\n  byte bVar38;\n  double dVar39;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  Quantum local_644;\n  int local_63c;\n  int local_614;\n  int local_60c;\n  double local_5ec;\n  ushort __cw;\n  ushort __cwtmp;\n  double alpha [16];\n  PixelInfo pixels [16];\n  \n  bVar38 = 0;\n  iVar5 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (image_view == (CacheView_ *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= x) && (local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498)) {\n    dVar39 = floor(x);\n    local_66c._0_4_ = (int)ROUND(dVar39);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= y) && (local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498)) {\n    dVar39 = floor(y);\n    local_664._0_4_ = (int)ROUND(dVar39);\n  }\n  if (method == UndefinedInterpolatePixel) {\n    method = image->interpolate;\n  }\n  ResetMagickMemory(pixel,0,0x50);\n  pPVar32 = pixels;\n  pixel->alpha = (double)DAT_002df8a8;\n  CVar6 = image->storage_class;\n  pixel->fuzz = image->fuzz;\n  pixel->storage_class = CVar6;\n  pixel->colorspace = image->colorspace;\n  pixel->depth = image->depth;\n  pixel->alpha_trait = image->alpha_trait;\n  pPVar35 = pPVar32;\n  for (iVar28 = 0x140; iVar28 != 0; iVar28 = iVar28 + -1) {\n    pPVar35->storage_class = UndefinedClass;\n    pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n  }\n  switch(method) {\n  default:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }\n    break;\n  case AverageInterpolatePixel:\n  case Average9InterpolatePixel:\n  case Average16InterpolatePixel:\n    if (method == Average9InterpolatePixel) {\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);\n    dVar39 = DAT_002df2d0;\n    if (pQVar26 != (Quantum *)0x0) {\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }\n    break;\n  case BackgroundInterpolatePixel:\n    pPVar32 = &image->background_color;\n    for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }\n    MVar27 = MagickTrue;\n    goto LAB_00134728;\n  case BlendInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case CatromInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n    break;\n  case IntegerInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }\n    break;\n  case MeshInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case NearestInterpolatePixel:\n    iVar28 = -0x7ffffdff;\n    if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }\n    pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }\n    break;\n  case SplineInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n  }\n  MVar27 = MagickFalse;\nLAB_00134728:\n  if (iVar5 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar27;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment comment comment comment comment comment (function_definition "MagickBooleanType\nInterpolatePixelInfo\n          (Image *image,CacheView_ *image_view,PixelInterpolateMethod method,double x,double y,\n          PixelInfo *pixel,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  double dVar2;\n  Quantum QVar3;\n  double dVar4;\n  int iVar5;\n  ClassType CVar6;\n  PixelChannelMap *pPVar7;\n  PixelTrait PVar8;\n  PixelTrait PVar9;\n  ColorspaceType CVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  size_t sVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  double *pdVar23;\n  double *pdVar24;\n  int iVar25;\n  Quantum *pQVar26;\n  MagickBooleanType MVar27;\n  int iVar28;\n  double *pdVar29;\n  MagickRealType *pMVar30;\n  Quantum *pQVar31;\n  PixelInfo *pPVar32;\n  double *pdVar33;\n  double *pdVar34;\n  PixelInfo *pPVar35;\n  int iVar36;\n  PixelInfo *pPVar37;\n  int in_GS_OFFSET;\n  byte bVar38;\n  double dVar39;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  Quantum local_644;\n  int local_63c;\n  int local_614;\n  int local_60c;\n  double local_5ec;\n  ushort __cw;\n  ushort __cwtmp;\n  double alpha [16];\n  PixelInfo pixels [16];\n  \n  bVar38 = 0;\n  iVar5 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (image_view == (CacheView_ *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= x) && (local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498)) {\n    dVar39 = floor(x);\n    local_66c._0_4_ = (int)ROUND(dVar39);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= y) && (local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498)) {\n    dVar39 = floor(y);\n    local_664._0_4_ = (int)ROUND(dVar39);\n  }\n  if (method == UndefinedInterpolatePixel) {\n    method = image->interpolate;\n  }\n  ResetMagickMemory(pixel,0,0x50);\n  pPVar32 = pixels;\n  pixel->alpha = (double)DAT_002df8a8;\n  CVar6 = image->storage_class;\n  pixel->fuzz = image->fuzz;\n  pixel->storage_class = CVar6;\n  pixel->colorspace = image->colorspace;\n  pixel->depth = image->depth;\n  pixel->alpha_trait = image->alpha_trait;\n  pPVar35 = pPVar32;\n  for (iVar28 = 0x140; iVar28 != 0; iVar28 = iVar28 + -1) {\n    pPVar35->storage_class = UndefinedClass;\n    pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n  }\n  switch(method) {\n  default:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }\n    break;\n  case AverageInterpolatePixel:\n  case Average9InterpolatePixel:\n  case Average16InterpolatePixel:\n    if (method == Average9InterpolatePixel) {\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);\n    dVar39 = DAT_002df2d0;\n    if (pQVar26 != (Quantum *)0x0) {\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }\n    break;\n  case BackgroundInterpolatePixel:\n    pPVar32 = &image->background_color;\n    for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }\n    MVar27 = MagickTrue;\n    goto LAB_00134728;\n  case BlendInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case CatromInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n    break;\n  case IntegerInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }\n    break;\n  case MeshInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case NearestInterpolatePixel:\n    iVar28 = -0x7ffffdff;\n    if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }\n    pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }\n    break;\n  case SplineInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n  }\n  MVar27 = MagickFalse;\nLAB_00134728:\n  if (iVar5 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar27;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" type_identifier (function_declarator "InterpolatePixelInfo\n          (Image *image,CacheView_ *image_view,PixelInterpolateMethod method,double x,double y,\n          PixelInfo *pixel,ExceptionInfo *exception)" identifier (parameter_list "(Image *image,CacheView_ *image_view,PixelInterpolateMethod method,double x,double y,\n          PixelInfo *pixel,ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "CacheView_ *image_view" type_identifier (pointer_declarator "*image_view" * identifier)) , (parameter_declaration "PixelInterpolateMethod method" type_identifier identifier) , (parameter_declaration "double x" primitive_type identifier) , (parameter_declaration "double y" primitive_type identifier) , (parameter_declaration "PixelInfo *pixel" type_identifier (pointer_declarator "*pixel" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  Quantum QVar3;\n  double dVar4;\n  int iVar5;\n  ClassType CVar6;\n  PixelChannelMap *pPVar7;\n  PixelTrait PVar8;\n  PixelTrait PVar9;\n  ColorspaceType CVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  size_t sVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  double *pdVar23;\n  double *pdVar24;\n  int iVar25;\n  Quantum *pQVar26;\n  MagickBooleanType MVar27;\n  int iVar28;\n  double *pdVar29;\n  MagickRealType *pMVar30;\n  Quantum *pQVar31;\n  PixelInfo *pPVar32;\n  double *pdVar33;\n  double *pdVar34;\n  PixelInfo *pPVar35;\n  int iVar36;\n  PixelInfo *pPVar37;\n  int in_GS_OFFSET;\n  byte bVar38;\n  double dVar39;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  Quantum local_644;\n  int local_63c;\n  int local_614;\n  int local_60c;\n  double local_5ec;\n  ushort __cw;\n  ushort __cwtmp;\n  double alpha [16];\n  PixelInfo pixels [16];\n  \n  bVar38 = 0;\n  iVar5 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (image_view == (CacheView_ *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= x) && (local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498)) {\n    dVar39 = floor(x);\n    local_66c._0_4_ = (int)ROUND(dVar39);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= y) && (local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498)) {\n    dVar39 = floor(y);\n    local_664._0_4_ = (int)ROUND(dVar39);\n  }\n  if (method == UndefinedInterpolatePixel) {\n    method = image->interpolate;\n  }\n  ResetMagickMemory(pixel,0,0x50);\n  pPVar32 = pixels;\n  pixel->alpha = (double)DAT_002df8a8;\n  CVar6 = image->storage_class;\n  pixel->fuzz = image->fuzz;\n  pixel->storage_class = CVar6;\n  pixel->colorspace = image->colorspace;\n  pixel->depth = image->depth;\n  pixel->alpha_trait = image->alpha_trait;\n  pPVar35 = pPVar32;\n  for (iVar28 = 0x140; iVar28 != 0; iVar28 = iVar28 + -1) {\n    pPVar35->storage_class = UndefinedClass;\n    pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n  }\n  switch(method) {\n  default:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }\n    break;\n  case AverageInterpolatePixel:\n  case Average9InterpolatePixel:\n  case Average16InterpolatePixel:\n    if (method == Average9InterpolatePixel) {\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);\n    dVar39 = DAT_002df2d0;\n    if (pQVar26 != (Quantum *)0x0) {\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }\n    break;\n  case BackgroundInterpolatePixel:\n    pPVar32 = &image->background_color;\n    for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }\n    MVar27 = MagickTrue;\n    goto LAB_00134728;\n  case BlendInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case CatromInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n    break;\n  case IntegerInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }\n    break;\n  case MeshInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case NearestInterpolatePixel:\n    iVar28 = -0x7ffffdff;\n    if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }\n    pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }\n    break;\n  case SplineInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n  }\n  MVar27 = MagickFalse;\nLAB_00134728:\n  if (iVar5 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar27;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "Quantum QVar3;" type_identifier identifier ;) (declaration "double dVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "ClassType CVar6;" type_identifier identifier ;) (declaration "PixelChannelMap *pPVar7;" type_identifier (pointer_declarator "*pPVar7" * identifier) ;) (declaration "PixelTrait PVar8;" type_identifier identifier ;) (declaration "PixelTrait PVar9;" type_identifier identifier ;) (declaration "ColorspaceType CVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar13;" primitive_type identifier ;) (declaration "float fVar14;" primitive_type identifier ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "double *pdVar18;" primitive_type (pointer_declarator "*pdVar18" * identifier) ;) (declaration "double *pdVar19;" primitive_type (pointer_declarator "*pdVar19" * identifier) ;) (declaration "double *pdVar20;" primitive_type (pointer_declarator "*pdVar20" * identifier) ;) (declaration "double *pdVar21;" primitive_type (pointer_declarator "*pdVar21" * identifier) ;) (declaration "double *pdVar22;" primitive_type (pointer_declarator "*pdVar22" * identifier) ;) (declaration "double *pdVar23;" primitive_type (pointer_declarator "*pdVar23" * identifier) ;) (declaration "double *pdVar24;" primitive_type (pointer_declarator "*pdVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "Quantum *pQVar26;" type_identifier (pointer_declarator "*pQVar26" * identifier) ;) (declaration "MagickBooleanType MVar27;" type_identifier identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "double *pdVar29;" primitive_type (pointer_declarator "*pdVar29" * identifier) ;) (declaration "MagickRealType *pMVar30;" type_identifier (pointer_declarator "*pMVar30" * identifier) ;) (declaration "Quantum *pQVar31;" type_identifier (pointer_declarator "*pQVar31" * identifier) ;) (declaration "PixelInfo *pPVar32;" type_identifier (pointer_declarator "*pPVar32" * identifier) ;) (declaration "double *pdVar33;" primitive_type (pointer_declarator "*pdVar33" * identifier) ;) (declaration "double *pdVar34;" primitive_type (pointer_declarator "*pdVar34" * identifier) ;) (declaration "PixelInfo *pPVar35;" type_identifier (pointer_declarator "*pPVar35" * identifier) ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "PixelInfo *pPVar37;" type_identifier (pointer_declarator "*pPVar37" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar38;" type_identifier identifier ;) (declaration "double dVar39;" primitive_type identifier ;) (declaration "double local_66c;" primitive_type identifier ;) (declaration "double local_664;" primitive_type identifier ;) (declaration "double local_65c;" primitive_type identifier ;) (declaration "double local_654;" primitive_type identifier ;) (declaration "double local_64c;" primitive_type identifier ;) (declaration "Quantum local_644;" type_identifier identifier ;) (declaration "int local_63c;" primitive_type identifier ;) (declaration "int local_614;" primitive_type identifier ;) (declaration "int local_60c;" primitive_type identifier ;) (declaration "double local_5ec;" primitive_type identifier ;) (declaration "ushort __cw;" type_identifier identifier ;) (declaration "ushort __cwtmp;" type_identifier identifier ;) (declaration "double alpha [16];" primitive_type (array_declarator "alpha [16]" identifier [ number_literal ]) ;) (declaration "PixelInfo pixels [16];" type_identifier (array_declarator "pixels [16]" identifier [ number_literal ]) ;) (expression_statement "bVar38 = 0;" (assignment_expression "bVar38 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar5 = *(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) ))))) ;) (if_statement "if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" identifier (argument_list "("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (if_statement "if (image_view == (CacheView_ *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" if (parenthesized_expression "(image_view == (CacheView_ *)0x0)" ( (binary_expression "image_view == (CacheView_ *)0x0" identifier == (cast_expression "(CacheView_ *)0x0" ( (type_descriptor "CacheView_ *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" { comment (expression_statement "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" identifier (argument_list "("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" ( (string_literal ""image_view != (CacheView *) NULL"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (expression_statement "local_66c._0_4_ = -0x7ffffdff;" (assignment_expression "local_66c._0_4_ = -0x7ffffdff" (field_expression "local_66c._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((DAT_002f2490 <= x) && (local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498)) {\n    dVar39 = floor(x);\n    local_66c._0_4_ = (int)ROUND(dVar39);\n  }" if (parenthesized_expression "((DAT_002f2490 <= x) && (local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= x) && (local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= x)" ( (binary_expression "DAT_002f2490 <= x" identifier <= identifier) )) && (parenthesized_expression "(local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498)" ( (comma_expression "local_66c._0_4_ = 0x7ffffdff, x <= DAT_002f2498" (assignment_expression "local_66c._0_4_ = 0x7ffffdff" (field_expression "local_66c._0_4_" identifier . field_identifier) = number_literal) , (binary_expression "x <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n    dVar39 = floor(x);\n    local_66c._0_4_ = (int)ROUND(dVar39);\n  }" { (expression_statement "dVar39 = floor(x);" (assignment_expression "dVar39 = floor(x)" identifier = (call_expression "floor(x)" identifier (argument_list "(x)" ( identifier )))) ;) (expression_statement "local_66c._0_4_ = (int)ROUND(dVar39);" (assignment_expression "local_66c._0_4_ = (int)ROUND(dVar39)" (field_expression "local_66c._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(dVar39)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar39)" identifier (argument_list "(dVar39)" ( identifier ))))) ;) })) (expression_statement "local_664._0_4_ = -0x7ffffdff;" (assignment_expression "local_664._0_4_ = -0x7ffffdff" (field_expression "local_664._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((DAT_002f2490 <= y) && (local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498)) {\n    dVar39 = floor(y);\n    local_664._0_4_ = (int)ROUND(dVar39);\n  }" if (parenthesized_expression "((DAT_002f2490 <= y) && (local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= y) && (local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= y)" ( (binary_expression "DAT_002f2490 <= y" identifier <= identifier) )) && (parenthesized_expression "(local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498)" ( (comma_expression "local_664._0_4_ = 0x7ffffdff, y <= DAT_002f2498" (assignment_expression "local_664._0_4_ = 0x7ffffdff" (field_expression "local_664._0_4_" identifier . field_identifier) = number_literal) , (binary_expression "y <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n    dVar39 = floor(y);\n    local_664._0_4_ = (int)ROUND(dVar39);\n  }" { (expression_statement "dVar39 = floor(y);" (assignment_expression "dVar39 = floor(y)" identifier = (call_expression "floor(y)" identifier (argument_list "(y)" ( identifier )))) ;) (expression_statement "local_664._0_4_ = (int)ROUND(dVar39);" (assignment_expression "local_664._0_4_ = (int)ROUND(dVar39)" (field_expression "local_664._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(dVar39)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar39)" identifier (argument_list "(dVar39)" ( identifier ))))) ;) })) (if_statement "if (method == UndefinedInterpolatePixel) {\n    method = image->interpolate;\n  }" if (parenthesized_expression "(method == UndefinedInterpolatePixel)" ( (binary_expression "method == UndefinedInterpolatePixel" identifier == identifier) )) (compound_statement "{\n    method = image->interpolate;\n  }" { (expression_statement "method = image->interpolate;" (assignment_expression "method = image->interpolate" identifier = (field_expression "image->interpolate" identifier -> field_identifier)) ;) })) (expression_statement "ResetMagickMemory(pixel,0,0x50);" (call_expression "ResetMagickMemory(pixel,0,0x50)" identifier (argument_list "(pixel,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pPVar32 = pixels;" (assignment_expression "pPVar32 = pixels" identifier = identifier) ;) (expression_statement "pixel->alpha = (double)DAT_002df8a8;" (assignment_expression "pixel->alpha = (double)DAT_002df8a8" (field_expression "pixel->alpha" identifier -> field_identifier) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "CVar6 = image->storage_class;" (assignment_expression "CVar6 = image->storage_class" identifier = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (expression_statement "pixel->fuzz = image->fuzz;" (assignment_expression "pixel->fuzz = image->fuzz" (field_expression "pixel->fuzz" identifier -> field_identifier) = (field_expression "image->fuzz" identifier -> field_identifier)) ;) (expression_statement "pixel->storage_class = CVar6;" (assignment_expression "pixel->storage_class = CVar6" (field_expression "pixel->storage_class" identifier -> field_identifier) = identifier) ;) (expression_statement "pixel->colorspace = image->colorspace;" (assignment_expression "pixel->colorspace = image->colorspace" (field_expression "pixel->colorspace" identifier -> field_identifier) = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "pixel->depth = image->depth;" (assignment_expression "pixel->depth = image->depth" (field_expression "pixel->depth" identifier -> field_identifier) = (field_expression "image->depth" identifier -> field_identifier)) ;) (expression_statement "pixel->alpha_trait = image->alpha_trait;" (assignment_expression "pixel->alpha_trait = image->alpha_trait" (field_expression "pixel->alpha_trait" identifier -> field_identifier) = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "pPVar35 = pPVar32;" (assignment_expression "pPVar35 = pPVar32" identifier = identifier) ;) (for_statement "for (iVar28 = 0x140; iVar28 != 0; iVar28 = iVar28 + -1) {\n    pPVar35->storage_class = UndefinedClass;\n    pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n  }" for ( (assignment_expression "iVar28 = 0x140" identifier = number_literal) ; (binary_expression "iVar28 != 0" identifier != number_literal) ; (assignment_expression "iVar28 = iVar28 + -1" identifier = (binary_expression "iVar28 + -1" identifier + number_literal)) ) (compound_statement "{\n    pPVar35->storage_class = UndefinedClass;\n    pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n  }" { (expression_statement "pPVar35->storage_class = UndefinedClass;" (assignment_expression "pPVar35->storage_class = UndefinedClass" (field_expression "pPVar35->storage_class" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar35 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar35 + (uint)bVar38 * -8" (cast_expression "(int)pPVar35" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) (switch_statement "switch(method) {\n  default:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }\n    break;\n  case AverageInterpolatePixel:\n  case Average9InterpolatePixel:\n  case Average16InterpolatePixel:\n    if (method == Average9InterpolatePixel) {\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);\n    dVar39 = DAT_002df2d0;\n    if (pQVar26 != (Quantum *)0x0) {\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }\n    break;\n  case BackgroundInterpolatePixel:\n    pPVar32 = &image->background_color;\n    for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }\n    MVar27 = MagickTrue;\n    goto LAB_00134728;\n  case BlendInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case CatromInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n    break;\n  case IntegerInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }\n    break;\n  case MeshInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case NearestInterpolatePixel:\n    iVar28 = -0x7ffffdff;\n    if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }\n    pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }\n    break;\n  case SplineInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n  }" switch (parenthesized_expression "(method)" ( identifier )) (compound_statement "{\n  default:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }\n    break;\n  case AverageInterpolatePixel:\n  case Average9InterpolatePixel:\n  case Average16InterpolatePixel:\n    if (method == Average9InterpolatePixel) {\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);\n    dVar39 = DAT_002df2d0;\n    if (pQVar26 != (Quantum *)0x0) {\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }\n    break;\n  case BackgroundInterpolatePixel:\n    pPVar32 = &image->background_color;\n    for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }\n    MVar27 = MagickTrue;\n    goto LAB_00134728;\n  case BlendInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case CatromInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n    break;\n  case IntegerInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }\n    break;\n  case MeshInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case NearestInterpolatePixel:\n    iVar28 = -0x7ffffdff;\n    if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }\n    pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }\n    break;\n  case SplineInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n  }" { (case_statement "default:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }\n    break;" default : (expression_statement "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" identifier = (call_expression "GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" identifier (argument_list "(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar39 = _DAT_002df2e0;" (assignment_expression "dVar39 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar17 = image->number_channels;\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      iVar28 = pPVar7[2].offset;\n      PVar9 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar4 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar15 = 1.0 - dVar4;\n      dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;\n      dVar2 = DAT_002df8d8;\n      dVar13 = dVar12;\n      if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }\n      if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }\n      pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;\n      pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;\n      pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }\n      dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);\n      dVar12 = DAT_002df8d8;\n      dVar2 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);\n      goto LAB_00134728;\n    }" { (expression_statement "sVar17 = image->number_channels;" (assignment_expression "sVar17 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "pPVar7 = image->channel_map;" (assignment_expression "pPVar7 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "PVar8 = image->alpha_trait;" (assignment_expression "PVar8 = image->alpha_trait" identifier = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "iVar28 = pPVar7[2].offset;" (assignment_expression "iVar28 = pPVar7[2].offset" identifier = (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "PVar9 = pPVar7[4].traits;" (assignment_expression "PVar9 = pPVar7[4].traits" identifier = (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "CVar10 = image->colorspace;" (assignment_expression "CVar10 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "iVar25 = pPVar7->offset;" (assignment_expression "iVar25 = pPVar7->offset" identifier = (field_expression "pPVar7->offset" identifier -> field_identifier)) ;) (expression_statement "iVar11 = pPVar7[1].offset;" (assignment_expression "iVar11 = pPVar7[1].offset" identifier = (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      } while (iVar36 != 4);" do (compound_statement "{\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }\n        if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        iVar36 = iVar36 + 1;\n        pPVar32->alpha = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pPVar32 = pPVar32 + 1;\n      }" { (expression_statement "dVar1 = pQVar26[iVar25];" (assignment_expression "dVar1 = pQVar26[iVar25]" identifier = (subscript_expression "pQVar26[iVar25]" identifier [ identifier ])) ;) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          alpha[iVar36] = 1.0;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11];\n          pPVar32->blue = pQVar26[iVar28];\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }\n        }" { (expression_statement "alpha[iVar36] = 1.0;" (assignment_expression "alpha[iVar36] = 1.0" (subscript_expression "alpha[iVar36]" identifier [ identifier ]) = number_literal) ;) (expression_statement "pPVar32->red = dVar1;" (assignment_expression "pPVar32->red = dVar1" (field_expression "pPVar32->red" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar32->green = pQVar26[iVar11];" (assignment_expression "pPVar32->green = pQVar26[iVar11]" (field_expression "pPVar32->green" identifier -> field_identifier) = (subscript_expression "pQVar26[iVar11]" identifier [ identifier ])) ;) (expression_statement "pPVar32->blue = pQVar26[iVar28];" (assignment_expression "pPVar32->blue = pQVar26[iVar28]" (field_expression "pPVar32->blue" identifier -> field_identifier) = (subscript_expression "pQVar26[iVar28]" identifier [ identifier ])) ;) (expression_statement "pPVar32->black = 0.0;" (assignment_expression "pPVar32->black = 0.0" (field_expression "pPVar32->black" identifier -> field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = QVar3;\n          }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              QVar3 = 0.0;\n            }\n            else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              QVar3 = 0.0;\n            }" { (expression_statement "QVar3 = 0.0;" (assignment_expression "QVar3 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }" else (compound_statement "{\n              QVar3 = pQVar26[pPVar7[3].offset];\n            }" { (expression_statement "QVar3 = pQVar26[pPVar7[3].offset];" (assignment_expression "QVar3 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pPVar32->black = QVar3;" (assignment_expression "pPVar32->black = QVar3" (field_expression "pPVar32->black" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }" else (compound_statement "{\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          pPVar32->red = dVar1;\n          pPVar32->green = pQVar26[iVar11] * dVar12;\n          pPVar32->blue = pQVar26[iVar28] * dVar12;\n          pPVar32->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }\n        }" { (if_statement "if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            dVar12 = 1.0;\n          }" { (expression_statement "dVar12 = 1.0;" (assignment_expression "dVar12 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" else (compound_statement "{\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" { (expression_statement "dVar12 = pQVar26[pPVar7[4].offset] * dVar39;" (assignment_expression "dVar12 = pQVar26[pPVar7[4].offset] * dVar39" identifier = (binary_expression "pQVar26[pPVar7[4].offset] * dVar39" (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ]) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar12;" (assignment_expression "dVar1 = dVar1 * dVar12" identifier = (binary_expression "dVar1 * dVar12" identifier * identifier)) ;) }))) (expression_statement "alpha[iVar36] = dVar12;" (assignment_expression "alpha[iVar36] = dVar12" (subscript_expression "alpha[iVar36]" identifier [ identifier ]) = identifier) ;) (expression_statement "pPVar32->red = dVar1;" (assignment_expression "pPVar32->red = dVar1" (field_expression "pPVar32->red" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar32->green = pQVar26[iVar11] * dVar12;" (assignment_expression "pPVar32->green = pQVar26[iVar11] * dVar12" (field_expression "pPVar32->green" identifier -> field_identifier) = (binary_expression "pQVar26[iVar11] * dVar12" (subscript_expression "pQVar26[iVar11]" identifier [ identifier ]) * identifier)) ;) (expression_statement "pPVar32->blue = pQVar26[iVar28] * dVar12;" (assignment_expression "pPVar32->blue = pQVar26[iVar28] * dVar12" (field_expression "pPVar32->blue" identifier -> field_identifier) = (binary_expression "pQVar26[iVar28] * dVar12" (subscript_expression "pQVar26[iVar28]" identifier [ identifier ]) * identifier)) ;) (expression_statement "pPVar32->black = 0.0;" (assignment_expression "pPVar32->black = 0.0" (field_expression "pPVar32->black" identifier -> field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pPVar32->black = dVar1 * dVar12;\n          }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" else (compound_statement "{\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" { (expression_statement "dVar1 = pQVar26[pPVar7[3].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pPVar32->black = dVar1 * dVar12;" (assignment_expression "pPVar32->black = dVar1 * dVar12" (field_expression "pPVar32->black" identifier -> field_identifier) = (binary_expression "dVar1 * dVar12" identifier * identifier)) ;) })) }))) (if_statement "if (PVar9 == UndefinedPixelTrait) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          dVar1 = (double)DAT_002df8a8;\n        }" { (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }" else (compound_statement "{\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }" { (expression_statement "dVar1 = pQVar26[pPVar7[4].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "pPVar32->alpha = dVar1;" (assignment_expression "pPVar32->alpha = dVar1" (field_expression "pPVar32->alpha" identifier -> field_identifier) = identifier) ;) (expression_statement "pQVar26 = pQVar26 + sVar17;" (assignment_expression "pQVar26 = pQVar26 + sVar17" identifier = (binary_expression "pQVar26 + sVar17" identifier + identifier)) ;) (expression_statement "pPVar32 = pPVar32 + 1;" (assignment_expression "pPVar32 = pPVar32 + 1" identifier = (binary_expression "pPVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar36 != 4)" ( (binary_expression "iVar36 != 4" identifier != number_literal) )) ;) (expression_statement "dVar39 = x - (double)local_66c._0_4_;" (assignment_expression "dVar39 = x - (double)local_66c._0_4_" identifier = (binary_expression "x - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar4 = y - (double)local_664._0_4_;" (assignment_expression "dVar4 = y - (double)local_664._0_4_" identifier = (binary_expression "y - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar1 = 1.0 - dVar39;" (assignment_expression "dVar1 = 1.0 - dVar39" identifier = (binary_expression "1.0 - dVar39" number_literal - identifier)) ;) (expression_statement "dVar15 = 1.0 - dVar4;" (assignment_expression "dVar15 = 1.0 - dVar4" identifier = (binary_expression "1.0 - dVar4" number_literal - identifier)) ;) (expression_statement "dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15;" (assignment_expression "dVar12 = (alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15" identifier = (binary_expression "(alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4 +\n               (alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15" (binary_expression "(alpha[3] * dVar39 + alpha[2] * dVar1) * dVar4" (parenthesized_expression "(alpha[3] * dVar39 + alpha[2] * dVar1)" ( (binary_expression "alpha[3] * dVar39 + alpha[2] * dVar1" (binary_expression "alpha[3] * dVar39" (subscript_expression "alpha[3]" identifier [ number_literal ]) * identifier) + (binary_expression "alpha[2] * dVar1" (subscript_expression "alpha[2]" identifier [ number_literal ]) * identifier)) )) * identifier) + (binary_expression "(alpha[1] * dVar39 + alpha[0] * dVar1) * dVar15" (parenthesized_expression "(alpha[1] * dVar39 + alpha[0] * dVar1)" ( (binary_expression "alpha[1] * dVar39 + alpha[0] * dVar1" (binary_expression "alpha[1] * dVar39" (subscript_expression "alpha[1]" identifier [ number_literal ]) * identifier) + (binary_expression "alpha[0] * dVar1" (subscript_expression "alpha[0]" identifier [ number_literal ]) * identifier)) )) * identifier))) ;) (expression_statement "dVar2 = DAT_002df8d8;" (assignment_expression "dVar2 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar13 = dVar12;" (assignment_expression "dVar13 = dVar12" identifier = identifier) ;) (if_statement "if (dVar12 < 0.0) {\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }" if (parenthesized_expression "(dVar12 < 0.0)" ( (binary_expression "dVar12 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar2 = DAT_002df8e0;\n        dVar13 = -dVar12;\n      }" { (expression_statement "dVar2 = DAT_002df8e0;" (assignment_expression "dVar2 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar13 = -dVar12;" (assignment_expression "dVar13 = -dVar12" identifier = (unary_expression "-dVar12" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar13) {\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar13)" ( (binary_expression "DAT_002df2d0 <= dVar13" identifier <= identifier) )) (compound_statement "{\n        dVar2 = (double)DAT_002df8b4 / dVar12;\n      }" { (expression_statement "dVar2 = (double)DAT_002df8b4 / dVar12;" (assignment_expression "dVar2 = (double)DAT_002df8b4 / dVar12" identifier = (binary_expression "(double)DAT_002df8b4 / dVar12" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2;" (assignment_expression "pixel->red = ((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15) * dVar2" (parenthesized_expression "((pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15)" ( (binary_expression "(pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4 +\n                   (pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15" (binary_expression "(pixels[3].red * dVar39 + pixels[2].red * dVar1) * dVar4" (parenthesized_expression "(pixels[3].red * dVar39 + pixels[2].red * dVar1)" ( (binary_expression "pixels[3].red * dVar39 + pixels[2].red * dVar1" (binary_expression "pixels[3].red * dVar39" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].red * dVar1" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[1].red * dVar39 + pixels[0].red * dVar1) * dVar15" (parenthesized_expression "(pixels[1].red * dVar39 + pixels[0].red * dVar1)" ( (binary_expression "pixels[1].red * dVar39 + pixels[0].red * dVar1" (binary_expression "pixels[1].red * dVar39" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].red * dVar1" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) )) * identifier)) ;) (expression_statement "pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2;" (assignment_expression "pixel->green = ((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15) * dVar2" (parenthesized_expression "((pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15)" ( (binary_expression "(pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4 +\n                     (pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15" (binary_expression "(pixels[3].green * dVar39 + pixels[2].green * dVar1) * dVar4" (parenthesized_expression "(pixels[3].green * dVar39 + pixels[2].green * dVar1)" ( (binary_expression "pixels[3].green * dVar39 + pixels[2].green * dVar1" (binary_expression "pixels[3].green * dVar39" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].green * dVar1" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[1].green * dVar39 + pixels[0].green * dVar1) * dVar15" (parenthesized_expression "(pixels[1].green * dVar39 + pixels[0].green * dVar1)" ( (binary_expression "pixels[1].green * dVar39 + pixels[0].green * dVar1" (binary_expression "pixels[1].green * dVar39" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].green * dVar1" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) )) * identifier)) ;) (expression_statement "pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2;" (assignment_expression "pixel->blue = ((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15) * dVar2" (parenthesized_expression "((pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15)" ( (binary_expression "(pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4 +\n                    (pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15" (binary_expression "(pixels[3].blue * dVar39 + pixels[2].blue * dVar1) * dVar4" (parenthesized_expression "(pixels[3].blue * dVar39 + pixels[2].blue * dVar1)" ( (binary_expression "pixels[3].blue * dVar39 + pixels[2].blue * dVar1" (binary_expression "pixels[3].blue * dVar39" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].blue * dVar1" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[1].blue * dVar39 + pixels[0].blue * dVar1) * dVar15" (parenthesized_expression "(pixels[1].blue * dVar39 + pixels[0].blue * dVar1)" ( (binary_expression "pixels[1].blue * dVar39 + pixels[0].blue * dVar1" (binary_expression "pixels[1].blue * dVar39" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].blue * dVar1" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) )) * identifier)) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n        pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;\n      }" { (expression_statement "pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2;" (assignment_expression "pixel->black = ((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15) * dVar2" (parenthesized_expression "((pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15)" ( (binary_expression "(pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4 +\n                       (pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15" (binary_expression "(pixels[3].black * dVar39 + pixels[2].black * dVar1) * dVar4" (parenthesized_expression "(pixels[3].black * dVar39 + pixels[2].black * dVar1)" ( (binary_expression "pixels[3].black * dVar39 + pixels[2].black * dVar1" (binary_expression "pixels[3].black * dVar39" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].black * dVar1" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[1].black * dVar39 + pixels[0].black * dVar1) * dVar15" (parenthesized_expression "(pixels[1].black * dVar39 + pixels[0].black * dVar1)" ( (binary_expression "pixels[1].black * dVar39 + pixels[0].black * dVar1" (binary_expression "pixels[1].black * dVar39" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].black * dVar1" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) )) * identifier)) ;) })) (expression_statement "dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1);" (assignment_expression "dVar13 = (dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1)" identifier = (binary_expression "(dVar39 + dVar1) * dVar4 + dVar15 * (dVar39 + dVar1)" (binary_expression "(dVar39 + dVar1) * dVar4" (parenthesized_expression "(dVar39 + dVar1)" ( (binary_expression "dVar39 + dVar1" identifier + identifier) )) * identifier) + (binary_expression "dVar15 * (dVar39 + dVar1)" identifier * (parenthesized_expression "(dVar39 + dVar1)" ( (binary_expression "dVar39 + dVar1" identifier + identifier) ))))) ;) (expression_statement "dVar12 = DAT_002df8d8;" (assignment_expression "dVar12 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar2 = dVar13;" (assignment_expression "dVar2 = dVar13" identifier = identifier) ;) (if_statement "if (dVar13 < 0.0) {\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }" if (parenthesized_expression "(dVar13 < 0.0)" ( (binary_expression "dVar13 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar12 = DAT_002df8e0;\n        dVar2 = -dVar13;\n      }" { (expression_statement "dVar12 = DAT_002df8e0;" (assignment_expression "dVar12 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar2 = -dVar13;" (assignment_expression "dVar2 = -dVar13" identifier = (unary_expression "-dVar13" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar2) {\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar2)" ( (binary_expression "DAT_002df2d0 <= dVar2" identifier <= identifier) )) (compound_statement "{\n        dVar12 = (double)DAT_002df8b4 / dVar13;\n      }" { (expression_statement "dVar12 = (double)DAT_002df8b4 / dVar13;" (assignment_expression "dVar12 = (double)DAT_002df8b4 / dVar13" identifier = (binary_expression "(double)DAT_002df8b4 / dVar13" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15);" (assignment_expression "pixel->alpha = dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15)" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "dVar12 * ((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15)" identifier * (parenthesized_expression "((dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15)" ( (binary_expression "(dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4 +\n                              (pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15" (binary_expression "(dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha) * dVar4" (parenthesized_expression "(dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha)" ( (binary_expression "dVar39 * pixels[3].alpha + dVar1 * pixels[2].alpha" (binary_expression "dVar39 * pixels[3].alpha" identifier * (field_expression "pixels[3].alpha" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier)) + (binary_expression "dVar1 * pixels[2].alpha" identifier * (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier))) )) * identifier) + (binary_expression "(pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1) * dVar15" (parenthesized_expression "(pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1)" ( (binary_expression "pixels[1].alpha * dVar39 + pixels[0].alpha * dVar1" (binary_expression "pixels[1].alpha * dVar39" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].alpha * dVar1" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) )))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case AverageInterpolatePixel:" case identifier :) (case_statement "case Average9InterpolatePixel:" case identifier :) (case_statement "case Average16InterpolatePixel:\n    if (method == Average9InterpolatePixel) {\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);\n    dVar39 = DAT_002df2d0;\n    if (pQVar26 != (Quantum *)0x0) {\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }\n    break;" case identifier : (if_statement "if (method == Average9InterpolatePixel) {\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" if (parenthesized_expression "(method == Average9InterpolatePixel)" ( (binary_expression "method == Average9InterpolatePixel" identifier == identifier) )) (compound_statement "{\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n      dVar39 = DAT_00300760;\n      if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      sVar17 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);\n    }" { (expression_statement "dVar39 = DAT_00300760;" (assignment_expression "dVar39 = DAT_00300760" identifier = identifier) ;) (if_statement "if ((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)) {\n        dVar39 = x + (double)DAT_002df2b8;\n      }" if (parenthesized_expression "((DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= x) && (dVar39 = _DAT_00300768, x <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= x)" ( (binary_expression "DAT_002f2490 <= x" identifier <= identifier) )) && (parenthesized_expression "(dVar39 = _DAT_00300768, x <= DAT_002f2498)" ( (comma_expression "dVar39 = _DAT_00300768, x <= DAT_002f2498" (assignment_expression "dVar39 = _DAT_00300768" identifier = identifier) , (binary_expression "x <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n        dVar39 = x + (double)DAT_002df2b8;\n      }" { (expression_statement "dVar39 = x + (double)DAT_002df2b8;" (assignment_expression "dVar39 = x + (double)DAT_002df2b8" identifier = (binary_expression "x + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);" (assignment_expression "local_66c._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4)" (field_expression "local_66c._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(ROUND(dVar39) - (double)DAT_002df8b4)" identifier (argument_list "(ROUND(dVar39) - (double)DAT_002df8b4)" ( (binary_expression "ROUND(dVar39) - (double)DAT_002df8b4" (call_expression "ROUND(dVar39)" identifier (argument_list "(dVar39)" ( identifier ))) - (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier)) ))))) ;) (expression_statement "dVar39 = DAT_00300760;" (assignment_expression "dVar39 = DAT_00300760" identifier = identifier) ;) (if_statement "if ((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)) {\n        dVar39 = y + (double)DAT_002df2b8;\n      }" if (parenthesized_expression "((DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= y) && (dVar39 = _DAT_00300768, y <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= y)" ( (binary_expression "DAT_002f2490 <= y" identifier <= identifier) )) && (parenthesized_expression "(dVar39 = _DAT_00300768, y <= DAT_002f2498)" ( (comma_expression "dVar39 = _DAT_00300768, y <= DAT_002f2498" (assignment_expression "dVar39 = _DAT_00300768" identifier = identifier) , (binary_expression "y <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n        dVar39 = y + (double)DAT_002df2b8;\n      }" { (expression_statement "dVar39 = y + (double)DAT_002df2b8;" (assignment_expression "dVar39 = y + (double)DAT_002df2b8" identifier = (binary_expression "y + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "local_63c = 9;" (assignment_expression "local_63c = 9" identifier = number_literal) ;) (expression_statement "sVar17 = 3;" (assignment_expression "sVar17 = 3" identifier = number_literal) ;) (expression_statement "local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4);" (assignment_expression "local_664._0_4_ = (int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4)" (field_expression "local_664._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(ROUND(dVar39) - (double)DAT_002df8b4)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(ROUND(dVar39) - (double)DAT_002df8b4)" identifier (argument_list "(ROUND(dVar39) - (double)DAT_002df8b4)" ( (binary_expression "ROUND(dVar39) - (double)DAT_002df8b4" (call_expression "ROUND(dVar39)" identifier (argument_list "(dVar39)" ( identifier ))) - (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier)) ))))) ;) }) (else_clause "else {\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" else (compound_statement "{\n      local_63c = 4;\n      sVar17 = 2;\n      if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" { (expression_statement "local_63c = 4;" (assignment_expression "local_63c = 4" identifier = number_literal) ;) (expression_statement "sVar17 = 2;" (assignment_expression "sVar17 = 2" identifier = number_literal) ;) (if_statement "if (method == Average16InterpolatePixel) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" if (parenthesized_expression "(method == Average16InterpolatePixel)" ( (binary_expression "method == Average16InterpolatePixel" identifier == identifier) )) (compound_statement "{\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        sVar17 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" { (expression_statement "local_66c._0_4_ = local_66c._0_4_ + -1;" (assignment_expression "local_66c._0_4_ = local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) = (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "local_63c = 0x10;" (assignment_expression "local_63c = 0x10" identifier = number_literal) ;) (expression_statement "sVar17 = 4;" (assignment_expression "sVar17 = 4" identifier = number_literal) ;) (expression_statement "local_664._0_4_ = local_664._0_4_ + -1;" (assignment_expression "local_664._0_4_ = local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) = (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal)) ;) })) }))) (expression_statement "pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception)" identifier = (call_expression "GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception)" identifier (argument_list "(image_view,local_66c._0_4_,local_664._0_4_,sVar17,sVar17,exception)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , identifier , identifier , identifier )))) ;) (expression_statement "dVar39 = DAT_002df2d0;" (assignment_expression "dVar39 = DAT_002df2d0" identifier = identifier) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pPVar7 = image->channel_map;\n      PVar8 = image->alpha_trait;\n      sVar17 = image->number_channels;\n      CVar10 = image->colorspace;\n      local_65c = pixel->alpha;\n      local_64c = pixel->black;\n      dVar1 = pixel->blue;\n      iVar28 = pPVar7->offset;\n      local_654 = pixel->green;\n      local_664 = pixel->red;\n      iVar25 = pPVar7[1].offset;\n      PVar9 = pPVar7[4].traits;\n      iVar11 = pPVar7[2].offset;\n      iVar36 = 0;\n      do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);\n      MVar27 = MagickTrue;\n      dVar39 = (double)DAT_002df8b4 / (double)local_63c;\n      pixel->red = local_664 * dVar39;\n      pixel->green = local_654 * dVar39;\n      pixel->blue = dVar1 * dVar39;\n      pixel->black = local_64c * dVar39;\n      pixel->alpha = local_65c * dVar39;\n      goto LAB_00134728;\n    }" { (expression_statement "pPVar7 = image->channel_map;" (assignment_expression "pPVar7 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "PVar8 = image->alpha_trait;" (assignment_expression "PVar8 = image->alpha_trait" identifier = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "sVar17 = image->number_channels;" (assignment_expression "sVar17 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "CVar10 = image->colorspace;" (assignment_expression "CVar10 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "local_65c = pixel->alpha;" (assignment_expression "local_65c = pixel->alpha" identifier = (field_expression "pixel->alpha" identifier -> field_identifier)) ;) (expression_statement "local_64c = pixel->black;" (assignment_expression "local_64c = pixel->black" identifier = (field_expression "pixel->black" identifier -> field_identifier)) ;) (expression_statement "dVar1 = pixel->blue;" (assignment_expression "dVar1 = pixel->blue" identifier = (field_expression "pixel->blue" identifier -> field_identifier)) ;) (expression_statement "iVar28 = pPVar7->offset;" (assignment_expression "iVar28 = pPVar7->offset" identifier = (field_expression "pPVar7->offset" identifier -> field_identifier)) ;) (expression_statement "local_654 = pixel->green;" (assignment_expression "local_654 = pixel->green" identifier = (field_expression "pixel->green" identifier -> field_identifier)) ;) (expression_statement "local_664 = pixel->red;" (assignment_expression "local_664 = pixel->red" identifier = (field_expression "pixel->red" identifier -> field_identifier)) ;) (expression_statement "iVar25 = pPVar7[1].offset;" (assignment_expression "iVar25 = pPVar7[1].offset" identifier = (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "PVar9 = pPVar7[4].traits;" (assignment_expression "PVar9 = pPVar7[4].traits" identifier = (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar11 = pPVar7[2].offset;" (assignment_expression "iVar11 = pPVar7[2].offset" identifier = (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (do_statement "do {\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      } while (iVar36 < local_63c);" do (compound_statement "{\n        pixels[0].red = pQVar26[iVar28];\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }\n        pQVar26 = pQVar26 + sVar17;\n        iVar36 = iVar36 + 1;\n        local_664 = pixels[0].red * dVar2 + local_664;\n        pixel->red = local_664;\n        local_654 = local_654 + pixels[0].green * dVar2;\n        pixel->green = local_654;\n        dVar1 = pixels[0].blue * dVar2 + dVar1;\n        pixel->blue = dVar1;\n        local_64c = dVar2 * pixels[0].black + local_64c;\n        pixel->black = local_64c;\n        local_65c = local_65c + pixels[0].alpha;\n        pixel->alpha = local_65c;\n      }" { (expression_statement "pixels[0].red = pQVar26[iVar28];" (assignment_expression "pixels[0].red = pQVar26[iVar28]" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[iVar28]" identifier [ identifier ])) ;) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          pixels[0].green = pQVar26[iVar25];\n          pixels[0].blue = pQVar26[iVar11];\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          dVar12 = 1.0;\nLAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n          pixels[0].alpha = local_66c;\n        }" { (expression_statement "pixels[0].green = pQVar26[iVar25];" (assignment_expression "pixels[0].green = pQVar26[iVar25]" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[iVar25]" identifier [ identifier ])) ;) (expression_statement "pixels[0].blue = pQVar26[iVar11];" (assignment_expression "pixels[0].blue = pQVar26[iVar11]" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[iVar11]" identifier [ identifier ])) ;) (expression_statement "pixels[0].black = 0.0;" (assignment_expression "pixels[0].black = 0.0" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = local_644;\n          }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              local_644 = 0.0;\n            }" { (expression_statement "local_644 = 0.0;" (assignment_expression "local_644 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_644 = pQVar26[pPVar7[3].offset];\n            }" else (compound_statement "{\n              local_644 = pQVar26[pPVar7[3].offset];\n            }" { (expression_statement "local_644 = pQVar26[pPVar7[3].offset];" (assignment_expression "local_644 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pixels[0].black = local_644;" (assignment_expression "pixels[0].black = local_644" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) })) (if_statement "if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }" else (compound_statement "{\n            local_66c = pQVar26[pPVar7[4].offset];\n          }" { (expression_statement "local_66c = pQVar26[pPVar7[4].offset];" (assignment_expression "local_66c = pQVar26[pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "dVar12 = 1.0;" (assignment_expression "dVar12 = 1.0" identifier = number_literal) ;) (labeled_statement "LAB_00134460:\n          dVar2 = (double)DAT_002df8b4 / dVar12;" statement_identifier : (expression_statement "dVar2 = (double)DAT_002df8b4 / dVar12;" (assignment_expression "dVar2 = (double)DAT_002df8b4 / dVar12" identifier = (binary_expression "(double)DAT_002df8b4 / dVar12" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;)) (expression_statement "pixels[0].alpha = local_66c;" (assignment_expression "pixels[0].alpha = local_66c" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) }) (else_clause "else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }" else (compound_statement "{\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }\n          pixels[0].green = pQVar26[iVar25] * dVar12;\n          pixels[0].blue = pQVar26[iVar11] * dVar12;\n          pixels[0].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }\n          if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }\n          pixels[0].alpha = local_66c;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (dVar39 <= dVar13) goto LAB_00134460;\n        }" { (if_statement "if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            dVar12 = 1.0;\n          }" { (expression_statement "dVar12 = 1.0;" (assignment_expression "dVar12 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }" else (compound_statement "{\n            dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n            pixels[0].red = pixels[0].red * dVar12;\n          }" { (expression_statement "dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];" (assignment_expression "dVar12 = _DAT_002df2e0 * pQVar26[pPVar7[4].offset]" identifier = (binary_expression "_DAT_002df2e0 * pQVar26[pPVar7[4].offset]" identifier * (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ]))) ;) (expression_statement "pixels[0].red = pixels[0].red * dVar12;" (assignment_expression "pixels[0].red = pixels[0].red * dVar12" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[0].red * dVar12" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) ;) }))) (expression_statement "pixels[0].green = pQVar26[iVar25] * dVar12;" (assignment_expression "pixels[0].green = pQVar26[iVar25] * dVar12" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pQVar26[iVar25] * dVar12" (subscript_expression "pQVar26[iVar25]" identifier [ identifier ]) * identifier)) ;) (expression_statement "pixels[0].blue = pQVar26[iVar11] * dVar12;" (assignment_expression "pixels[0].blue = pQVar26[iVar11] * dVar12" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pQVar26[iVar11] * dVar12" (subscript_expression "pQVar26[iVar11]" identifier [ identifier ]) * identifier)) ;) (expression_statement "pixels[0].black = 0.0;" (assignment_expression "pixels[0].black = 0.0" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }\n            pixels[0].black = dVar2 * dVar12;\n          }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar2 = 0.0;\n            }\n            else {\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (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 = pQVar26[pPVar7[3].offset];\n            }" else (compound_statement "{\n              dVar2 = pQVar26[pPVar7[3].offset];\n            }" { (expression_statement "dVar2 = pQVar26[pPVar7[3].offset];" (assignment_expression "dVar2 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pixels[0].black = dVar2 * dVar12;" (assignment_expression "pixels[0].black = dVar2 * dVar12" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "dVar2 * dVar12" identifier * identifier)) ;) })) (if_statement "if (PVar9 == UndefinedPixelTrait) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = pQVar26[pPVar7[4].offset];\n          }" else (compound_statement "{\n            local_66c = pQVar26[pPVar7[4].offset];\n          }" { (expression_statement "local_66c = pQVar26[pPVar7[4].offset];" (assignment_expression "local_66c = pQVar26[pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pixels[0].alpha = local_66c;" (assignment_expression "pixels[0].alpha = local_66c" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "dVar2 = DAT_002df8d8;" (assignment_expression "dVar2 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar13 = dVar12;" (assignment_expression "dVar13 = dVar12" identifier = identifier) ;) (if_statement "if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }" if (parenthesized_expression "(dVar12 < 0.0)" ( (binary_expression "dVar12 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }" { (expression_statement "dVar2 = DAT_002df8e0;" (assignment_expression "dVar2 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar13 = -dVar12;" (assignment_expression "dVar13 = -dVar12" identifier = (unary_expression "-dVar12" - identifier)) ;) })) (if_statement "if (dVar39 <= dVar13) goto LAB_00134460;" if (parenthesized_expression "(dVar39 <= dVar13)" ( (binary_expression "dVar39 <= dVar13" identifier <= identifier) )) (goto_statement "goto LAB_00134460;" goto statement_identifier ;)) }))) (expression_statement "pQVar26 = pQVar26 + sVar17;" (assignment_expression "pQVar26 = pQVar26 + sVar17" identifier = (binary_expression "pQVar26 + sVar17" identifier + identifier)) ;) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "local_664 = pixels[0].red * dVar2 + local_664;" (assignment_expression "local_664 = pixels[0].red * dVar2 + local_664" identifier = (binary_expression "pixels[0].red * dVar2 + local_664" (binary_expression "pixels[0].red * dVar2" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier) + identifier)) ;) (expression_statement "pixel->red = local_664;" (assignment_expression "pixel->red = local_664" (field_expression "pixel->red" identifier -> field_identifier) = identifier) ;) (expression_statement "local_654 = local_654 + pixels[0].green * dVar2;" (assignment_expression "local_654 = local_654 + pixels[0].green * dVar2" identifier = (binary_expression "local_654 + pixels[0].green * dVar2" identifier + (binary_expression "pixels[0].green * dVar2" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier))) ;) (expression_statement "pixel->green = local_654;" (assignment_expression "pixel->green = local_654" (field_expression "pixel->green" identifier -> field_identifier) = identifier) ;) (expression_statement "dVar1 = pixels[0].blue * dVar2 + dVar1;" (assignment_expression "dVar1 = pixels[0].blue * dVar2 + dVar1" identifier = (binary_expression "pixels[0].blue * dVar2 + dVar1" (binary_expression "pixels[0].blue * dVar2" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier) + identifier)) ;) (expression_statement "pixel->blue = dVar1;" (assignment_expression "pixel->blue = dVar1" (field_expression "pixel->blue" identifier -> field_identifier) = identifier) ;) (expression_statement "local_64c = dVar2 * pixels[0].black + local_64c;" (assignment_expression "local_64c = dVar2 * pixels[0].black + local_64c" identifier = (binary_expression "dVar2 * pixels[0].black + local_64c" (binary_expression "dVar2 * pixels[0].black" identifier * (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) + identifier)) ;) (expression_statement "pixel->black = local_64c;" (assignment_expression "pixel->black = local_64c" (field_expression "pixel->black" identifier -> field_identifier) = identifier) ;) (expression_statement "local_65c = local_65c + pixels[0].alpha;" (assignment_expression "local_65c = local_65c + pixels[0].alpha" identifier = (binary_expression "local_65c + pixels[0].alpha" identifier + (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixel->alpha = local_65c;" (assignment_expression "pixel->alpha = local_65c" (field_expression "pixel->alpha" identifier -> field_identifier) = identifier) ;) }) while (parenthesized_expression "(iVar36 < local_63c)" ( (binary_expression "iVar36 < local_63c" identifier < identifier) )) ;) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "dVar39 = (double)DAT_002df8b4 / (double)local_63c;" (assignment_expression "dVar39 = (double)DAT_002df8b4 / (double)local_63c" identifier = (binary_expression "(double)DAT_002df8b4 / (double)local_63c" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / (cast_expression "(double)local_63c" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pixel->red = local_664 * dVar39;" (assignment_expression "pixel->red = local_664 * dVar39" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "local_664 * dVar39" identifier * identifier)) ;) (expression_statement "pixel->green = local_654 * dVar39;" (assignment_expression "pixel->green = local_654 * dVar39" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "local_654 * dVar39" identifier * identifier)) ;) (expression_statement "pixel->blue = dVar1 * dVar39;" (assignment_expression "pixel->blue = dVar1 * dVar39" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "dVar1 * dVar39" identifier * identifier)) ;) (expression_statement "pixel->black = local_64c * dVar39;" (assignment_expression "pixel->black = local_64c * dVar39" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "local_64c * dVar39" identifier * identifier)) ;) (expression_statement "pixel->alpha = local_65c * dVar39;" (assignment_expression "pixel->alpha = local_65c * dVar39" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "local_65c * dVar39" identifier * identifier)) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case BackgroundInterpolatePixel:\n    pPVar32 = &image->background_color;\n    for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }\n    MVar27 = MagickTrue;\n    goto LAB_00134728;" case identifier : (expression_statement "pPVar32 = &image->background_color;" (assignment_expression "pPVar32 = &image->background_color" identifier = (pointer_expression "&image->background_color" & (field_expression "image->background_color" identifier -> field_identifier))) ;) (for_statement "for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }" for ( (assignment_expression "iVar28 = 0x14" identifier = number_literal) ; (binary_expression "iVar28 != 0" identifier != number_literal) ; (assignment_expression "iVar28 = iVar28 + -1" identifier = (binary_expression "iVar28 + -1" identifier + number_literal)) ) (compound_statement "{\n      pixel->storage_class = pPVar32->storage_class;\n      pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n      pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);\n    }" { (expression_statement "pixel->storage_class = pPVar32->storage_class;" (assignment_expression "pixel->storage_class = pPVar32->storage_class" (field_expression "pixel->storage_class" identifier -> field_identifier) = (field_expression "pPVar32->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar32 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar32 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar32 + (uint)bVar38 * -8" (cast_expression "(int)pPVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4);" (assignment_expression "pixel = (PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pixel + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pixel + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pixel + (uint)bVar38 * -8 + 4" (binary_expression "(int)pixel + (uint)bVar38 * -8" (cast_expression "(int)pixel" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;)) (case_statement "case BlendInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;" case identifier : (expression_statement "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" identifier = (call_expression "GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" identifier (argument_list "(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = image->number_channels;\n      pPVar35 = pPVar32;\n      do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);\n      dVar39 = y - (double)local_664._0_4_;\n      dVar1 = (double)DAT_003006a4;\n      if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }\n      dVar39 = (double)local_66c._0_4_;\n      dVar1 = pixels[0].black;\n      dVar12 = pixels[0].green;\n      dVar2 = pixels[0].red;\n      if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }\n      fVar14 = DAT_002df8b4 / fVar14;\n      dVar39 = DAT_002df8d8;\n      dVar15 = dVar13;\n      if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }\n      if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }\n      MVar27 = MagickTrue;\n      pixel->red = dVar2 * dVar39;\n      pixel->green = dVar12 * dVar39;\n      pixel->blue = local_66c * dVar39;\n      pixel->black = dVar39 * dVar1;\n      pixel->alpha = (double)(fVar14 * (float)local_664);\n      goto LAB_00134728;\n    }" { (expression_statement "local_64c._0_4_ = 0;" (assignment_expression "local_64c._0_4_ = 0" (field_expression "local_64c._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_644._0_4_ = image->number_channels;" (assignment_expression "local_644._0_4_ = image->number_channels" (field_expression "local_644._0_4_" identifier . field_identifier) = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "pPVar35 = pPVar32;" (assignment_expression "pPVar35 = pPVar32" identifier = identifier) ;) (do_statement "do {\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      } while (local_64c._0_4_ != 4);" do (compound_statement "{\n        pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);\n        ResetMagickMemory(pPVar35,0,0x50);\n        CVar6 = image->storage_class;\n        pPVar35->alpha = (double)DAT_002df8a8;\n        pPVar35->fuzz = image->fuzz;\n        pPVar35->storage_class = CVar6;\n        CVar10 = image->colorspace;\n        pPVar35->colorspace = CVar10;\n        pPVar35->depth = image->depth;\n        PVar8 = image->alpha_trait;\n        pPVar35->alpha_trait = PVar8;\n        pPVar7 = image->channel_map;\n        iVar28 = pPVar7->offset;\n        if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }\n        local_644._0_4_ = image->number_channels;\n        iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;\n        dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);\n        pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);\n        pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        pPVar35->alpha = dVar39;\n        pPVar35 = pPVar35 + 1;\n      }" { (expression_statement "pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26);" (assignment_expression "pQVar31 = (Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26)" identifier = (cast_expression "(Quantum *)(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26)" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26)" ( (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_ + (int)pQVar26" (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_" (binary_expression "local_64c._0_4_ * 8" (field_expression "local_64c._0_4_" identifier . field_identifier) * number_literal) * (field_expression "local_644._0_4_" identifier . field_identifier)) + (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ResetMagickMemory(pPVar35,0,0x50);" (call_expression "ResetMagickMemory(pPVar35,0,0x50)" identifier (argument_list "(pPVar35,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "CVar6 = image->storage_class;" (assignment_expression "CVar6 = image->storage_class" identifier = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar35->alpha = (double)DAT_002df8a8;" (assignment_expression "pPVar35->alpha = (double)DAT_002df8a8" (field_expression "pPVar35->alpha" identifier -> field_identifier) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pPVar35->fuzz = image->fuzz;" (assignment_expression "pPVar35->fuzz = image->fuzz" (field_expression "pPVar35->fuzz" identifier -> field_identifier) = (field_expression "image->fuzz" identifier -> field_identifier)) ;) (expression_statement "pPVar35->storage_class = CVar6;" (assignment_expression "pPVar35->storage_class = CVar6" (field_expression "pPVar35->storage_class" identifier -> field_identifier) = identifier) ;) (expression_statement "CVar10 = image->colorspace;" (assignment_expression "CVar10 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "pPVar35->colorspace = CVar10;" (assignment_expression "pPVar35->colorspace = CVar10" (field_expression "pPVar35->colorspace" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar35->depth = image->depth;" (assignment_expression "pPVar35->depth = image->depth" (field_expression "pPVar35->depth" identifier -> field_identifier) = (field_expression "image->depth" identifier -> field_identifier)) ;) (expression_statement "PVar8 = image->alpha_trait;" (assignment_expression "PVar8 = image->alpha_trait" identifier = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "pPVar35->alpha_trait = PVar8;" (assignment_expression "pPVar35->alpha_trait = PVar8" (field_expression "pPVar35->alpha_trait" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar7 = image->channel_map;" (assignment_expression "pPVar7 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "iVar28 = pPVar7->offset;" (assignment_expression "iVar28 = pPVar7->offset" identifier = (field_expression "pPVar7->offset" identifier -> field_identifier)) ;) (if_statement "if (pQVar31 == (Quantum *)0x0) {\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }\n        else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }" if (parenthesized_expression "(pQVar31 == (Quantum *)0x0)" ( (binary_expression "pQVar31 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          local_614 = iVar28 << 3;\n          local_60c = pPVar7[1].offset << 3;\n          iVar28 = pPVar7[2].offset << 3;\n          PVar9 = pPVar7[4].traits;\n        }" { (expression_statement "local_614 = iVar28 << 3;" (assignment_expression "local_614 = iVar28 << 3" identifier = (binary_expression "iVar28 << 3" identifier << number_literal)) ;) (expression_statement "local_60c = pPVar7[1].offset << 3;" (assignment_expression "local_60c = pPVar7[1].offset << 3" identifier = (binary_expression "pPVar7[1].offset << 3" (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier) << number_literal)) ;) (expression_statement "iVar28 = pPVar7[2].offset << 3;" (assignment_expression "iVar28 = pPVar7[2].offset << 3" identifier = (binary_expression "pPVar7[2].offset << 3" (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier) << number_literal)) ;) (expression_statement "PVar9 = pPVar7[4].traits;" (assignment_expression "PVar9 = pPVar7[4].traits" identifier = (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ;) }) (else_clause "else {\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }" else (compound_statement "{\n          local_614 = iVar28 * 8;\n          iVar25 = pPVar7[1].offset;\n          pPVar35->red = pQVar31[iVar28];\n          local_60c = iVar25 * 8;\n          iVar11 = pPVar7[2].offset;\n          pPVar35->green = pQVar31[iVar25];\n          iVar28 = iVar11 * 8;\n          PVar9 = pPVar7[3].traits;\n          pPVar35->blue = pQVar31[iVar11];\n          if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }\n          PVar9 = pPVar7[4].traits;\n          if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }\n          if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }\n        }" { (expression_statement "local_614 = iVar28 * 8;" (assignment_expression "local_614 = iVar28 * 8" identifier = (binary_expression "iVar28 * 8" identifier * number_literal)) ;) (expression_statement "iVar25 = pPVar7[1].offset;" (assignment_expression "iVar25 = pPVar7[1].offset" identifier = (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pPVar35->red = pQVar31[iVar28];" (assignment_expression "pPVar35->red = pQVar31[iVar28]" (field_expression "pPVar35->red" identifier -> field_identifier) = (subscript_expression "pQVar31[iVar28]" identifier [ identifier ])) ;) (expression_statement "local_60c = iVar25 * 8;" (assignment_expression "local_60c = iVar25 * 8" identifier = (binary_expression "iVar25 * 8" identifier * number_literal)) ;) (expression_statement "iVar11 = pPVar7[2].offset;" (assignment_expression "iVar11 = pPVar7[2].offset" identifier = (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pPVar35->green = pQVar31[iVar25];" (assignment_expression "pPVar35->green = pQVar31[iVar25]" (field_expression "pPVar35->green" identifier -> field_identifier) = (subscript_expression "pQVar31[iVar25]" identifier [ identifier ])) ;) (expression_statement "iVar28 = iVar11 * 8;" (assignment_expression "iVar28 = iVar11 * 8" identifier = (binary_expression "iVar11 * 8" identifier * number_literal)) ;) (expression_statement "PVar9 = pPVar7[3].traits;" (assignment_expression "PVar9 = pPVar7[3].traits" identifier = (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pPVar35->blue = pQVar31[iVar11];" (assignment_expression "pPVar35->blue = pQVar31[iVar11]" (field_expression "pPVar35->blue" identifier -> field_identifier) = (subscript_expression "pQVar31[iVar11]" identifier [ identifier ])) ;) (if_statement "if (PVar9 != UndefinedPixelTrait) {\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }" if (parenthesized_expression "(PVar9 != UndefinedPixelTrait)" ( (binary_expression "PVar9 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n            pPVar35->black = pQVar31[pPVar7[3].offset];\n          }" { (expression_statement "pPVar35->black = pQVar31[pPVar7[3].offset];" (assignment_expression "pPVar35->black = pQVar31[pPVar7[3].offset]" (field_expression "pPVar35->black" identifier -> field_identifier) = (subscript_expression "pQVar31[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) })) (expression_statement "PVar9 = pPVar7[4].traits;" (assignment_expression "PVar9 = pPVar7[4].traits" identifier = (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (PVar9 != UndefinedPixelTrait) {\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }" if (parenthesized_expression "(PVar9 != UndefinedPixelTrait)" ( (binary_expression "PVar9 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n            QVar3 = pQVar31[pPVar7[4].offset];\n            pPVar35->alpha_trait = BlendPixelTrait;\n            pPVar35->alpha = QVar3;\n          }" { (expression_statement "QVar3 = pQVar31[pPVar7[4].offset];" (assignment_expression "QVar3 = pQVar31[pPVar7[4].offset]" identifier = (subscript_expression "pQVar31[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;) (expression_statement "pPVar35->alpha_trait = BlendPixelTrait;" (assignment_expression "pPVar35->alpha_trait = BlendPixelTrait" (field_expression "pPVar35->alpha_trait" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar35->alpha = QVar3;" (assignment_expression "pPVar35->alpha = QVar3" (field_expression "pPVar35->alpha" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (pPVar7[5].traits != UndefinedPixelTrait) {\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }" if (parenthesized_expression "(pPVar7[5].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar7[5].traits != UndefinedPixelTrait" (field_expression "pPVar7[5].traits" (subscript_expression "pPVar7[5]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n            pPVar35->index = pQVar31[pPVar7[5].offset];\n          }" { (expression_statement "pPVar35->index = pQVar31[pPVar7[5].offset];" (assignment_expression "pPVar35->index = pQVar31[pPVar7[5].offset]" (field_expression "pPVar35->index" identifier -> field_identifier) = (subscript_expression "pQVar31[pPVar7[5].offset]" identifier [ (field_expression "pPVar7[5].offset" (subscript_expression "pPVar7[5]" identifier [ number_literal ]) . field_identifier) ])) ;) })) }))) (expression_statement "local_644._0_4_ = image->number_channels;" (assignment_expression "local_644._0_4_ = image->number_channels" (field_expression "local_644._0_4_" identifier . field_identifier) = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "iVar25 = local_644._0_4_ * 8 * local_64c._0_4_;" (assignment_expression "iVar25 = local_644._0_4_ * 8 * local_64c._0_4_" identifier = (binary_expression "local_644._0_4_ * 8 * local_64c._0_4_" (binary_expression "local_644._0_4_ * 8" (field_expression "local_644._0_4_" identifier . field_identifier) * number_literal) * (field_expression "local_64c._0_4_" identifier . field_identifier))) ;) (expression_statement "dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25);" (assignment_expression "dVar39 = *(double *)((int)pQVar26 + local_614 + iVar25)" identifier = (pointer_expression "*(double *)((int)pQVar26 + local_614 + iVar25)" * (cast_expression "(double *)((int)pQVar26 + local_614 + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pQVar26 + local_614 + iVar25)" ( (binary_expression "(int)pQVar26 + local_614 + iVar25" (binary_expression "(int)pQVar26 + local_614" (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) ))))) ;) (expression_statement "pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25);" (assignment_expression "pdVar33 = (double *)((int)pQVar26 + local_60c + iVar25)" identifier = (cast_expression "(double *)((int)pQVar26 + local_60c + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pQVar26 + local_60c + iVar25)" ( (binary_expression "(int)pQVar26 + local_60c + iVar25" (binary_expression "(int)pQVar26 + local_60c" (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) ;) (expression_statement "pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25);" (assignment_expression "pdVar34 = (double *)((int)pQVar26 + iVar28 + iVar25)" identifier = (cast_expression "(double *)((int)pQVar26 + iVar28 + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pQVar26 + iVar28 + iVar25)" ( (binary_expression "(int)pQVar26 + iVar28 + iVar25" (binary_expression "(int)pQVar26 + iVar28" (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) ;) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          alpha[local_64c._0_4_] = 1.0;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33;\n          pPVar35->blue = *pdVar34;\n          pPVar35->black = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013490a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }\nLAB_0013559e:\n          pPVar35->black = dVar39;\n          if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;\nLAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n        }" { (expression_statement "alpha[local_64c._0_4_] = 1.0;" (assignment_expression "alpha[local_64c._0_4_] = 1.0" (subscript_expression "alpha[local_64c._0_4_]" identifier [ (field_expression "local_64c._0_4_" identifier . field_identifier) ]) = number_literal) ;) (expression_statement "pPVar35->red = dVar39;" (assignment_expression "pPVar35->red = dVar39" (field_expression "pPVar35->red" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar35->green = *pdVar33;" (assignment_expression "pPVar35->green = *pdVar33" (field_expression "pPVar35->green" identifier -> field_identifier) = (pointer_expression "*pdVar33" * identifier)) ;) (expression_statement "pPVar35->blue = *pdVar34;" (assignment_expression "pPVar35->blue = *pdVar34" (field_expression "pPVar35->blue" identifier -> field_identifier) = (pointer_expression "*pdVar34" * identifier)) ;) (expression_statement "pPVar35->black = 0.0;" (assignment_expression "pPVar35->black = 0.0" (field_expression "pPVar35->black" identifier -> field_identifier) = number_literal) ;) (if_statement "if (CVar10 != CMYKColorspace) goto LAB_0013490a;" if (parenthesized_expression "(CVar10 != CMYKColorspace)" ( (binary_expression "CVar10 != CMYKColorspace" identifier != identifier) )) (goto_statement "goto LAB_0013490a;" goto statement_identifier ;)) (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar39 = 0.0;\n          }\n          else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            dVar39 = 0.0;\n          }" { (expression_statement "dVar39 = 0.0;" (assignment_expression "dVar39 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }" else (compound_statement "{\n            dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n          }" { (expression_statement "dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);" (assignment_expression "dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" identifier = (pointer_expression "*(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" * (cast_expression "(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" ( (binary_expression "(int)pQVar26 + pPVar7[3].offset * 8 + iVar25" (binary_expression "(int)pQVar26 + pPVar7[3].offset * 8" (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "pPVar7[3].offset * 8" (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) * number_literal)) + identifier) ))))) ;) }))) (labeled_statement "LAB_0013559e:\n          pPVar35->black = dVar39;" statement_identifier : (expression_statement "pPVar35->black = dVar39;" (assignment_expression "pPVar35->black = dVar39" (field_expression "pPVar35->black" identifier -> field_identifier) = identifier) ;)) (if_statement "if (PVar9 == UndefinedPixelTrait) goto LAB_001355ad;" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (goto_statement "goto LAB_001355ad;" goto statement_identifier ;)) (labeled_statement "LAB_00134916:\n          dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);" statement_identifier : (expression_statement "dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);" (assignment_expression "dVar39 = *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" identifier = (pointer_expression "*(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" * (cast_expression "(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" ( (binary_expression "(int)pQVar26 + pPVar7[4].offset * 8 + iVar25" (binary_expression "(int)pQVar26 + pPVar7[4].offset * 8" (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "pPVar7[4].offset * 8" (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) * number_literal)) + identifier) ))))) ;)) }) (else_clause "else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }\n          alpha[local_64c._0_4_] = dVar1;\n          pPVar35->red = dVar39;\n          pPVar35->green = *pdVar33 * dVar1;\n          pPVar35->blue = *pdVar34 * dVar1;\n          pPVar35->black = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }\nLAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;\nLAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;\n        }" { (if_statement "if (PVar9 == UndefinedPixelTrait) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            dVar1 = 1.0;\n          }" { (expression_statement "dVar1 = 1.0;" (assignment_expression "dVar1 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }" else (compound_statement "{\n            dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);\n            dVar39 = dVar39 * dVar1;\n          }" { (expression_statement "dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25);" (assignment_expression "dVar1 = _DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" identifier = (binary_expression "_DAT_002df2e0 * *(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" identifier * (pointer_expression "*(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" * (cast_expression "(double *)((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pQVar26 + pPVar7[4].offset * 8 + iVar25)" ( (binary_expression "(int)pQVar26 + pPVar7[4].offset * 8 + iVar25" (binary_expression "(int)pQVar26 + pPVar7[4].offset * 8" (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "pPVar7[4].offset * 8" (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) * number_literal)) + identifier) )))))) ;) (expression_statement "dVar39 = dVar39 * dVar1;" (assignment_expression "dVar39 = dVar39 * dVar1" identifier = (binary_expression "dVar39 * dVar1" identifier * identifier)) ;) }))) (expression_statement "alpha[local_64c._0_4_] = dVar1;" (assignment_expression "alpha[local_64c._0_4_] = dVar1" (subscript_expression "alpha[local_64c._0_4_]" identifier [ (field_expression "local_64c._0_4_" identifier . field_identifier) ]) = identifier) ;) (expression_statement "pPVar35->red = dVar39;" (assignment_expression "pPVar35->red = dVar39" (field_expression "pPVar35->red" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar35->green = *pdVar33 * dVar1;" (assignment_expression "pPVar35->green = *pdVar33 * dVar1" (field_expression "pPVar35->green" identifier -> field_identifier) = (binary_expression "*pdVar33 * dVar1" (pointer_expression "*pdVar33" * identifier) * identifier)) ;) (expression_statement "pPVar35->blue = *pdVar34 * dVar1;" (assignment_expression "pPVar35->blue = *pdVar34 * dVar1" (field_expression "pPVar35->blue" identifier -> field_identifier) = (binary_expression "*pdVar34 * dVar1" (pointer_expression "*pdVar34" * identifier) * identifier)) ;) (expression_statement "pPVar35->black = 0.0;" (assignment_expression "pPVar35->black = 0.0" (field_expression "pPVar35->black" identifier -> field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }\n            dVar39 = dVar39 * dVar1;\n            goto LAB_0013559e;\n          }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar39 = 0.0;\n            }\n            else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              dVar39 = 0.0;\n            }" { (expression_statement "dVar39 = 0.0;" (assignment_expression "dVar39 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }" else (compound_statement "{\n              dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);\n            }" { (expression_statement "dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25);" (assignment_expression "dVar39 = *(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" identifier = (pointer_expression "*(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" * (cast_expression "(double *)((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pQVar26 + pPVar7[3].offset * 8 + iVar25)" ( (binary_expression "(int)pQVar26 + pPVar7[3].offset * 8 + iVar25" (binary_expression "(int)pQVar26 + pPVar7[3].offset * 8" (cast_expression "(int)pQVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "pPVar7[3].offset * 8" (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) * number_literal)) + identifier) ))))) ;) }))) (expression_statement "dVar39 = dVar39 * dVar1;" (assignment_expression "dVar39 = dVar39 * dVar1" identifier = (binary_expression "dVar39 * dVar1" identifier * identifier)) ;) (goto_statement "goto LAB_0013559e;" goto statement_identifier ;) })) (labeled_statement "LAB_0013490a:\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;" statement_identifier : (if_statement "if (PVar9 != UndefinedPixelTrait) goto LAB_00134916;" if (parenthesized_expression "(PVar9 != UndefinedPixelTrait)" ( (binary_expression "PVar9 != UndefinedPixelTrait" identifier != identifier) )) (goto_statement "goto LAB_00134916;" goto statement_identifier ;))) (labeled_statement "LAB_001355ad:\n          dVar39 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar39 = (double)DAT_002df8a8;" (assignment_expression "dVar39 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "local_64c._0_4_ = local_64c._0_4_ + 1;" (assignment_expression "local_64c._0_4_ = local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" identifier . field_identifier) = (binary_expression "local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "pPVar35->alpha = dVar39;" (assignment_expression "pPVar35->alpha = dVar39" (field_expression "pPVar35->alpha" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar35 = pPVar35 + 1;" (assignment_expression "pPVar35 = pPVar35 + 1" identifier = (binary_expression "pPVar35 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_64c._0_4_ != 4)" ( (binary_expression "local_64c._0_4_ != 4" (field_expression "local_64c._0_4_" identifier . field_identifier) != number_literal) )) ;) (expression_statement "dVar39 = y - (double)local_664._0_4_;" (assignment_expression "dVar39 = y - (double)local_664._0_4_" identifier = (binary_expression "y - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar1 = (double)DAT_003006a4;" (assignment_expression "dVar1 = (double)DAT_003006a4" identifier = (cast_expression "(double)DAT_003006a4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if (dVar1 <= dVar39) {\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }\n      else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }" if (parenthesized_expression "(dVar1 <= dVar39)" ( (binary_expression "dVar1 <= dVar39" identifier <= identifier) )) (compound_statement "{\n        pPVar35 = pixels + 2;\n        pPVar37 = pPVar32;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n        alpha[0] = alpha[2];\n        fVar14 = 1.0;\nLAB_00136096:\n        alpha[1] = alpha[3];\n        pPVar35 = pixels + 3;\n        pPVar37 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }\n      }" { (expression_statement "pPVar35 = pixels + 2;" (assignment_expression "pPVar35 = pixels + 2" identifier = (binary_expression "pixels + 2" identifier + number_literal)) ;) (expression_statement "pPVar37 = pPVar32;" (assignment_expression "pPVar37 = pPVar32" identifier = identifier) ;) (for_statement "for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }" for ( (assignment_expression "iVar28 = 0x14" identifier = number_literal) ; (binary_expression "iVar28 != 0" identifier != number_literal) ; (assignment_expression "iVar28 = iVar28 + -1" identifier = (binary_expression "iVar28 + -1" identifier + number_literal)) ) (compound_statement "{\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }" { (expression_statement "pPVar37->storage_class = pPVar35->storage_class;" (assignment_expression "pPVar37->storage_class = pPVar35->storage_class" (field_expression "pPVar37->storage_class" identifier -> field_identifier) = (field_expression "pPVar35->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar35 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar35 + (uint)bVar38 * -8" (cast_expression "(int)pPVar35" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar37 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar37 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar37 + (uint)bVar38 * -8" (cast_expression "(int)pPVar37" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) (expression_statement "alpha[0] = alpha[2];" (assignment_expression "alpha[0] = alpha[2]" (subscript_expression "alpha[0]" identifier [ number_literal ]) = (subscript_expression "alpha[2]" identifier [ number_literal ])) ;) (expression_statement "fVar14 = 1.0;" (assignment_expression "fVar14 = 1.0" identifier = number_literal) ;) (labeled_statement "LAB_00136096:\n        alpha[1] = alpha[3];" statement_identifier : (expression_statement "alpha[1] = alpha[3];" (assignment_expression "alpha[1] = alpha[3]" (subscript_expression "alpha[1]" identifier [ number_literal ]) = (subscript_expression "alpha[3]" identifier [ number_literal ])) ;)) (expression_statement "pPVar35 = pixels + 3;" (assignment_expression "pPVar35 = pixels + 3" identifier = (binary_expression "pixels + 3" identifier + number_literal)) ;) (expression_statement "pPVar37 = pixels + 1;" (assignment_expression "pPVar37 = pixels + 1" identifier = (binary_expression "pixels + 1" identifier + number_literal)) ;) (for_statement "for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }" for ( (assignment_expression "iVar28 = 0x14" identifier = number_literal) ; (binary_expression "iVar28 != 0" identifier != number_literal) ; (assignment_expression "iVar28 = iVar28 + -1" identifier = (binary_expression "iVar28 + -1" identifier + number_literal)) ) (compound_statement "{\n          pPVar37->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);\n        }" { (expression_statement "pPVar37->storage_class = pPVar35->storage_class;" (assignment_expression "pPVar37->storage_class = pPVar35->storage_class" (field_expression "pPVar37->storage_class" identifier -> field_identifier) = (field_expression "pPVar35->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar35 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar35 + (uint)bVar38 * -8" (cast_expression "(int)pPVar35" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar37 = (PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar37 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar37 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar37 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar37 + (uint)bVar38 * -8" (cast_expression "(int)pPVar37" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) }) (else_clause "else {\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }" else (compound_statement "{\n        fVar14 = DAT_002eb21c;\n        if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }\n      }" { (expression_statement "fVar14 = DAT_002eb21c;" (assignment_expression "fVar14 = DAT_002eb21c" identifier = identifier) ;) (if_statement "if (dVar39 <= (double)DAT_002eb220) {\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }\n        else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }" if (parenthesized_expression "(dVar39 <= (double)DAT_002eb220)" ( (binary_expression "dVar39 <= (double)DAT_002eb220" identifier <= (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n          if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }\n          if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;\n          fVar14 = 1.0;\n        }" { (if_statement "if (dVar1 <= dVar39) {\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }" if (parenthesized_expression "(dVar1 <= dVar39)" ( (binary_expression "dVar1 <= dVar39" identifier <= identifier) )) (compound_statement "{\n            fVar14 = 1.0;\n            goto LAB_00136096;\n          }" { (expression_statement "fVar14 = 1.0;" (assignment_expression "fVar14 = 1.0" identifier = number_literal) ;) (goto_statement "goto LAB_00136096;" goto statement_identifier ;) })) (if_statement "if ((double)DAT_002eb220 < dVar39) goto LAB_001349ea;" if (parenthesized_expression "((double)DAT_002eb220 < dVar39)" ( (binary_expression "(double)DAT_002eb220 < dVar39" (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier) < identifier) )) (goto_statement "goto LAB_001349ea;" goto statement_identifier ;)) (expression_statement "fVar14 = 1.0;" (assignment_expression "fVar14 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }" else (compound_statement "{\n          alpha[0] = alpha[0] + alpha[2];\n          pixels[0].red = pixels[0].red + pixels[2].red;\n          pixels[0].green = pixels[0].green + pixels[2].green;\n          pixels[0].blue = pixels[0].blue + pixels[2].blue;\n          pixels[0].black = pixels[0].black + pixels[2].black;\n          pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;\n          if (dVar1 <= dVar39) goto LAB_00136096;\nLAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];\n          pixels[1].red = pixels[1].red + pixels[3].red;\n          pixels[1].green = pixels[1].green + pixels[3].green;\n          pixels[1].blue = pixels[1].blue + pixels[3].blue;\n          pixels[1].black = pixels[1].black + pixels[3].black;\n          pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;\n        }" { (expression_statement "alpha[0] = alpha[0] + alpha[2];" (assignment_expression "alpha[0] = alpha[0] + alpha[2]" (subscript_expression "alpha[0]" identifier [ number_literal ]) = (binary_expression "alpha[0] + alpha[2]" (subscript_expression "alpha[0]" identifier [ number_literal ]) + (subscript_expression "alpha[2]" identifier [ number_literal ]))) ;) (expression_statement "pixels[0].red = pixels[0].red + pixels[2].red;" (assignment_expression "pixels[0].red = pixels[0].red + pixels[2].red" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[0].red + pixels[2].red" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[0].green = pixels[0].green + pixels[2].green;" (assignment_expression "pixels[0].green = pixels[0].green + pixels[2].green" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[0].green + pixels[2].green" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[0].blue = pixels[0].blue + pixels[2].blue;" (assignment_expression "pixels[0].blue = pixels[0].blue + pixels[2].blue" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[0].blue + pixels[2].blue" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[0].black = pixels[0].black + pixels[2].black;" (assignment_expression "pixels[0].black = pixels[0].black + pixels[2].black" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[0].black + pixels[2].black" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[0].alpha = pixels[0].alpha + pixels[2].alpha;" (assignment_expression "pixels[0].alpha = pixels[0].alpha + pixels[2].alpha" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[0].alpha + pixels[2].alpha" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (dVar1 <= dVar39) goto LAB_00136096;" if (parenthesized_expression "(dVar1 <= dVar39)" ( (binary_expression "dVar1 <= dVar39" identifier <= identifier) )) (goto_statement "goto LAB_00136096;" goto statement_identifier ;)) (labeled_statement "LAB_001349ea:\n          alpha[1] = alpha[1] + alpha[3];" statement_identifier : (expression_statement "alpha[1] = alpha[1] + alpha[3];" (assignment_expression "alpha[1] = alpha[1] + alpha[3]" (subscript_expression "alpha[1]" identifier [ number_literal ]) = (binary_expression "alpha[1] + alpha[3]" (subscript_expression "alpha[1]" identifier [ number_literal ]) + (subscript_expression "alpha[3]" identifier [ number_literal ]))) ;)) (expression_statement "pixels[1].red = pixels[1].red + pixels[3].red;" (assignment_expression "pixels[1].red = pixels[1].red + pixels[3].red" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[1].red + pixels[3].red" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[1].green = pixels[1].green + pixels[3].green;" (assignment_expression "pixels[1].green = pixels[1].green + pixels[3].green" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[1].green + pixels[3].green" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[1].blue = pixels[1].blue + pixels[3].blue;" (assignment_expression "pixels[1].blue = pixels[1].blue + pixels[3].blue" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[1].blue + pixels[3].blue" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[1].black = pixels[1].black + pixels[3].black;" (assignment_expression "pixels[1].black = pixels[1].black + pixels[3].black" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[1].black + pixels[3].black" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pixels[1].alpha = pixels[1].alpha + pixels[3].alpha;" (assignment_expression "pixels[1].alpha = pixels[1].alpha + pixels[3].alpha" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pixels[1].alpha + pixels[3].alpha" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[3].alpha" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier))) ;) }))) }))) (expression_statement "dVar39 = (double)local_66c._0_4_;" (assignment_expression "dVar39 = (double)local_66c._0_4_" identifier = (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier))) ;) (expression_statement "dVar1 = pixels[0].black;" (assignment_expression "dVar1 = pixels[0].black" identifier = (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "dVar12 = pixels[0].green;" (assignment_expression "dVar12 = pixels[0].green" identifier = (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "dVar2 = pixels[0].red;" (assignment_expression "dVar2 = pixels[0].red" identifier = (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (x - dVar39 < (double)DAT_003006a4) {\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }\n      else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }" if (parenthesized_expression "(x - dVar39 < (double)DAT_003006a4)" ( (binary_expression "x - dVar39 < (double)DAT_003006a4" (binary_expression "x - dVar39" identifier - identifier) < (cast_expression "(double)DAT_003006a4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[0];\n        if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }\n      }" { (expression_statement "local_66c = pixels[0].blue;" (assignment_expression "local_66c = pixels[0].blue" identifier = (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "local_664 = pixels[0].alpha;" (assignment_expression "local_664 = pixels[0].alpha" identifier = (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "dVar13 = alpha[0];" (assignment_expression "dVar13 = alpha[0]" identifier = (subscript_expression "alpha[0]" identifier [ number_literal ])) ;) (if_statement "if ((double)DAT_002eb220 < x - dVar39) {\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }" if (parenthesized_expression "((double)DAT_002eb220 < x - dVar39)" ( (binary_expression "(double)DAT_002eb220 < x - dVar39" (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier) < (binary_expression "x - dVar39" identifier - identifier)) )) (compound_statement "{\n          fVar14 = fVar14 + fVar14;\n          dVar13 = alpha[0] + alpha[1];\n          local_66c = pixels[0].blue + pixels[1].blue;\n          local_664 = pixels[1].alpha + pixels[0].alpha;\n          dVar1 = pixels[0].black + pixels[1].black;\n          dVar12 = pixels[0].green + pixels[1].green;\n          dVar2 = pixels[0].red + pixels[1].red;\n        }" { (expression_statement "fVar14 = fVar14 + fVar14;" (assignment_expression "fVar14 = fVar14 + fVar14" identifier = (binary_expression "fVar14 + fVar14" identifier + identifier)) ;) (expression_statement "dVar13 = alpha[0] + alpha[1];" (assignment_expression "dVar13 = alpha[0] + alpha[1]" identifier = (binary_expression "alpha[0] + alpha[1]" (subscript_expression "alpha[0]" identifier [ number_literal ]) + (subscript_expression "alpha[1]" identifier [ number_literal ]))) ;) (expression_statement "local_66c = pixels[0].blue + pixels[1].blue;" (assignment_expression "local_66c = pixels[0].blue + pixels[1].blue" identifier = (binary_expression "pixels[0].blue + pixels[1].blue" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "local_664 = pixels[1].alpha + pixels[0].alpha;" (assignment_expression "local_664 = pixels[1].alpha + pixels[0].alpha" identifier = (binary_expression "pixels[1].alpha + pixels[0].alpha" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "dVar1 = pixels[0].black + pixels[1].black;" (assignment_expression "dVar1 = pixels[0].black + pixels[1].black" identifier = (binary_expression "pixels[0].black + pixels[1].black" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "dVar12 = pixels[0].green + pixels[1].green;" (assignment_expression "dVar12 = pixels[0].green + pixels[1].green" identifier = (binary_expression "pixels[0].green + pixels[1].green" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "dVar2 = pixels[0].red + pixels[1].red;" (assignment_expression "dVar2 = pixels[0].red + pixels[1].red" identifier = (binary_expression "pixels[0].red + pixels[1].red" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) + (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier))) ;) })) }) (else_clause "else {\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }" else (compound_statement "{\n        pPVar35 = pixels + 1;\n        for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }\n        local_66c = pixels[0].blue;\n        local_664 = pixels[0].alpha;\n        dVar13 = alpha[1];\n      }" { (expression_statement "pPVar35 = pixels + 1;" (assignment_expression "pPVar35 = pixels + 1" identifier = (binary_expression "pixels + 1" identifier + number_literal)) ;) (for_statement "for (iVar28 = 0x14; iVar28 != 0; iVar28 = iVar28 + -1) {\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }" for ( (assignment_expression "iVar28 = 0x14" identifier = number_literal) ; (binary_expression "iVar28 != 0" identifier != number_literal) ; (assignment_expression "iVar28 = iVar28 + -1" identifier = (binary_expression "iVar28 + -1" identifier + number_literal)) ) (compound_statement "{\n          pPVar32->storage_class = pPVar35->storage_class;\n          pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);\n          pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);\n        }" { (expression_statement "pPVar32->storage_class = pPVar35->storage_class;" (assignment_expression "pPVar32->storage_class = pPVar35->storage_class" (field_expression "pPVar32->storage_class" identifier -> field_identifier) = (field_expression "pPVar35->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar35 = (PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar35 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar35 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar35 + (uint)bVar38 * -8" (cast_expression "(int)pPVar35" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4);" (assignment_expression "pPVar32 = (PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4)" identifier = (cast_expression "(PixelInfo *)((int)pPVar32 + (uint)bVar38 * -8 + 4)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar32 + (uint)bVar38 * -8 + 4)" ( (binary_expression "(int)pPVar32 + (uint)bVar38 * -8 + 4" (binary_expression "(int)pPVar32 + (uint)bVar38 * -8" (cast_expression "(int)pPVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -8" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) (expression_statement "local_66c = pixels[0].blue;" (assignment_expression "local_66c = pixels[0].blue" identifier = (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "local_664 = pixels[0].alpha;" (assignment_expression "local_664 = pixels[0].alpha" identifier = (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "dVar13 = alpha[1];" (assignment_expression "dVar13 = alpha[1]" identifier = (subscript_expression "alpha[1]" identifier [ number_literal ])) ;) }))) (expression_statement "fVar14 = DAT_002df8b4 / fVar14;" (assignment_expression "fVar14 = DAT_002df8b4 / fVar14" identifier = (binary_expression "DAT_002df8b4 / fVar14" identifier / identifier)) ;) (expression_statement "dVar39 = DAT_002df8d8;" (assignment_expression "dVar39 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar15 = dVar13;" (assignment_expression "dVar15 = dVar13" identifier = identifier) ;) (if_statement "if (dVar13 < 0.0) {\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }" if (parenthesized_expression "(dVar13 < 0.0)" ( (binary_expression "dVar13 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar39 = DAT_002df8e0;\n        dVar15 = -dVar13;\n      }" { (expression_statement "dVar39 = DAT_002df8e0;" (assignment_expression "dVar39 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar15 = -dVar13;" (assignment_expression "dVar15 = -dVar13" identifier = (unary_expression "-dVar13" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar15) {\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar15)" ( (binary_expression "DAT_002df2d0 <= dVar15" identifier <= identifier) )) (compound_statement "{\n        dVar39 = (double)DAT_002df8b4 / dVar13;\n      }" { (expression_statement "dVar39 = (double)DAT_002df8b4 / dVar13;" (assignment_expression "dVar39 = (double)DAT_002df8b4 / dVar13" identifier = (binary_expression "(double)DAT_002df8b4 / dVar13" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->red = dVar2 * dVar39;" (assignment_expression "pixel->red = dVar2 * dVar39" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "dVar2 * dVar39" identifier * identifier)) ;) (expression_statement "pixel->green = dVar12 * dVar39;" (assignment_expression "pixel->green = dVar12 * dVar39" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "dVar12 * dVar39" identifier * identifier)) ;) (expression_statement "pixel->blue = local_66c * dVar39;" (assignment_expression "pixel->blue = local_66c * dVar39" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "local_66c * dVar39" identifier * identifier)) ;) (expression_statement "pixel->black = dVar39 * dVar1;" (assignment_expression "pixel->black = dVar39 * dVar1" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "dVar39 * dVar1" identifier * identifier)) ;) (expression_statement "pixel->alpha = (double)(fVar14 * (float)local_664);" (assignment_expression "pixel->alpha = (double)(fVar14 * (float)local_664)" (field_expression "pixel->alpha" identifier -> field_identifier) = (cast_expression "(double)(fVar14 * (float)local_664)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(fVar14 * (float)local_664)" ( (binary_expression "fVar14 * (float)local_664" identifier * (cast_expression "(float)local_664" ( (type_descriptor "float" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case CatromInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }\n    break;" case identifier : (expression_statement "pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception)" identifier = (call_expression "GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception)" identifier (argument_list "(image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception)" ( identifier , (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal) , (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar39 = _DAT_002df2e0;" (assignment_expression "dVar39 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;\n      dVar4 = dVar1 * dVar12;\n      dVar12 = dVar12 * dVar39;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;\n      dVar15 = dVar13 * dVar1;\n      dVar13 = dVar13 * dVar2;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }" { (expression_statement "sVar17 = image->number_channels;" (assignment_expression "sVar17 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "PVar8 = image->alpha_trait;" (assignment_expression "PVar8 = image->alpha_trait" identifier = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "pPVar7 = image->channel_map;" (assignment_expression "pPVar7 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "CVar10 = image->colorspace;" (assignment_expression "CVar10 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "PVar9 = pPVar7[4].traits;" (assignment_expression "PVar9 = pPVar7[4].traits" identifier = (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar28 = pPVar7[2].offset;" (assignment_expression "iVar28 = pPVar7[2].offset" identifier = (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pMVar30 = &pixels[0].red;" (assignment_expression "pMVar30 = &pixels[0].red" identifier = (pointer_expression "&pixels[0].red" & (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iVar25 = pPVar7->offset;" (assignment_expression "iVar25 = pPVar7->offset" identifier = (field_expression "pPVar7->offset" identifier -> field_identifier)) ;) (expression_statement "iVar11 = pPVar7[1].offset;" (assignment_expression "iVar11 = pPVar7[1].offset" identifier = (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);" do (compound_statement "{\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      }" { (expression_statement "dVar1 = pQVar26[iVar25];" (assignment_expression "dVar1 = pQVar26[iVar25]" identifier = (subscript_expression "pQVar26[iVar25]" identifier [ identifier ])) ;) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;\nLAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }" { (expression_statement "alpha[iVar36] = 1.0;" (assignment_expression "alpha[iVar36] = 1.0" (subscript_expression "alpha[iVar36]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*pMVar30 = dVar1;" (assignment_expression "*pMVar30 = dVar1" (pointer_expression "*pMVar30" * identifier) = identifier) ;) (expression_statement "pMVar30[1] = pQVar26[iVar11];" (assignment_expression "pMVar30[1] = pQVar26[iVar11]" (subscript_expression "pMVar30[1]" identifier [ number_literal ]) = (subscript_expression "pQVar26[iVar11]" identifier [ identifier ])) ;) (expression_statement "pMVar30[2] = pQVar26[iVar28];" (assignment_expression "pMVar30[2] = pQVar26[iVar28]" (subscript_expression "pMVar30[2]" identifier [ number_literal ]) = (subscript_expression "pQVar26[iVar28]" identifier [ identifier ])) ;) (expression_statement "pMVar30[3] = 0.0;" (assignment_expression "pMVar30[3] = 0.0" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" else (compound_statement "{\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" { (expression_statement "dVar1 = pQVar26[pPVar7[3].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pMVar30[3] = dVar1;" (assignment_expression "pMVar30[3] = dVar1" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_0013466a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;" statement_identifier : (if_statement "if (PVar9 == UndefinedPixelTrait) goto LAB_00134700;" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (goto_statement "goto LAB_00134700;" goto statement_identifier ;))) (labeled_statement "LAB_00134672:\n          dVar1 = pQVar26[pPVar7[4].offset];" statement_identifier : (expression_statement "dVar1 = pQVar26[pPVar7[4].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;)) }) (else_clause "else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013466a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;\nLAB_00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" { (if_statement "if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            dVar12 = 1.0;\n          }" { (expression_statement "dVar12 = 1.0;" (assignment_expression "dVar12 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" else (compound_statement "{\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" { (expression_statement "dVar12 = pQVar26[pPVar7[4].offset] * dVar39;" (assignment_expression "dVar12 = pQVar26[pPVar7[4].offset] * dVar39" identifier = (binary_expression "pQVar26[pPVar7[4].offset] * dVar39" (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ]) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar12;" (assignment_expression "dVar1 = dVar1 * dVar12" identifier = (binary_expression "dVar1 * dVar12" identifier * identifier)) ;) }))) (expression_statement "alpha[iVar36] = dVar12;" (assignment_expression "alpha[iVar36] = dVar12" (subscript_expression "alpha[iVar36]" identifier [ identifier ]) = identifier) ;) (expression_statement "*pMVar30 = dVar1;" (assignment_expression "*pMVar30 = dVar1" (pointer_expression "*pMVar30" * identifier) = identifier) ;) (expression_statement "pMVar30[1] = dVar12 * pQVar26[iVar11];" (assignment_expression "pMVar30[1] = dVar12 * pQVar26[iVar11]" (subscript_expression "pMVar30[1]" identifier [ number_literal ]) = (binary_expression "dVar12 * pQVar26[iVar11]" identifier * (subscript_expression "pQVar26[iVar11]" identifier [ identifier ]))) ;) (expression_statement "pMVar30[2] = pQVar26[iVar28] * dVar12;" (assignment_expression "pMVar30[2] = pQVar26[iVar28] * dVar12" (subscript_expression "pMVar30[2]" identifier [ number_literal ]) = (binary_expression "pQVar26[iVar28] * dVar12" (subscript_expression "pQVar26[iVar28]" identifier [ identifier ]) * identifier)) ;) (expression_statement "pMVar30[3] = 0.0;" (assignment_expression "pMVar30[3] = 0.0" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (CVar10 != CMYKColorspace) goto LAB_0013466a;" if (parenthesized_expression "(CVar10 != CMYKColorspace)" ( (binary_expression "CVar10 != CMYKColorspace" identifier != identifier) )) (goto_statement "goto LAB_0013466a;" goto statement_identifier ;)) (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            dVar1 = 0.0;\n          }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }" else (compound_statement "{\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }" { (expression_statement "dVar1 = pQVar26[pPVar7[3].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pMVar30[3] = dVar1 * dVar12;" (assignment_expression "pMVar30[3] = dVar1 * dVar12" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar12" identifier * identifier)) ;) (if_statement "if (PVar9 != UndefinedPixelTrait) goto LAB_00134672;" if (parenthesized_expression "(PVar9 != UndefinedPixelTrait)" ( (binary_expression "PVar9 != UndefinedPixelTrait" identifier != identifier) )) (goto_statement "goto LAB_00134672;" goto statement_identifier ;)) (labeled_statement "LAB_00134700:\n          dVar1 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "pMVar30[4] = dVar1;" (assignment_expression "pMVar30[4] = dVar1" (subscript_expression "pMVar30[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pQVar26 = pQVar26 + sVar17;" (assignment_expression "pQVar26 = pQVar26 + sVar17" identifier = (binary_expression "pQVar26 + sVar17" identifier + identifier)) ;) (expression_statement "pMVar30 = pMVar30 + 10;" (assignment_expression "pMVar30 = pMVar30 + 10" identifier = (binary_expression "pMVar30 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar36 != 0x10)" ( (binary_expression "iVar36 != 0x10" identifier != number_literal) )) ;) (expression_statement "dVar39 = x - (double)local_66c._0_4_;" (assignment_expression "dVar39 = x - (double)local_66c._0_4_" identifier = (binary_expression "x - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar1 = 1.0 - dVar39;" (assignment_expression "dVar1 = 1.0 - dVar39" identifier = (binary_expression "1.0 - dVar39" number_literal - identifier)) ;) (expression_statement "dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1;" (assignment_expression "dVar12 = dVar39 * (double)DAT_002e9cb4 * dVar1" identifier = (binary_expression "dVar39 * (double)DAT_002e9cb4 * dVar1" (binary_expression "dVar39 * (double)DAT_002e9cb4" identifier * (cast_expression "(double)DAT_002e9cb4" ( (type_descriptor "double" primitive_type) ) identifier)) * identifier)) ;) (expression_statement "dVar4 = dVar1 * dVar12;" (assignment_expression "dVar4 = dVar1 * dVar12" identifier = (binary_expression "dVar1 * dVar12" identifier * identifier)) ;) (expression_statement "dVar12 = dVar12 * dVar39;" (assignment_expression "dVar12 = dVar12 * dVar39" identifier = (binary_expression "dVar12 * dVar39" identifier * identifier)) ;) (expression_statement "dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);" (assignment_expression "dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4)" identifier = (binary_expression "(dVar1 - dVar4) + (dVar12 - dVar4)" (parenthesized_expression "(dVar1 - dVar4)" ( (binary_expression "dVar1 - dVar4" identifier - identifier) )) + (parenthesized_expression "(dVar12 - dVar4)" ( (binary_expression "dVar12 - dVar4" identifier - identifier) )))) ;) (expression_statement "dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);" (assignment_expression "dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4)" identifier = (binary_expression "(dVar39 - dVar12) - (dVar12 - dVar4)" (parenthesized_expression "(dVar39 - dVar12)" ( (binary_expression "dVar39 - dVar12" identifier - identifier) )) - (parenthesized_expression "(dVar12 - dVar4)" ( (binary_expression "dVar12 - dVar4" identifier - identifier) )))) ;) (expression_statement "dVar2 = y - (double)local_664._0_4_;" (assignment_expression "dVar2 = y - (double)local_664._0_4_" identifier = (binary_expression "y - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar1 = 1.0 - dVar2;" (assignment_expression "dVar1 = 1.0 - dVar2" identifier = (binary_expression "1.0 - dVar2" number_literal - identifier)) ;) (expression_statement "dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1;" (assignment_expression "dVar13 = (double)DAT_002e9cb4 * dVar2 * dVar1" identifier = (binary_expression "(double)DAT_002e9cb4 * dVar2 * dVar1" (binary_expression "(double)DAT_002e9cb4 * dVar2" (cast_expression "(double)DAT_002e9cb4" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) * identifier)) ;) (expression_statement "dVar15 = dVar13 * dVar1;" (assignment_expression "dVar15 = dVar13 * dVar1" identifier = (binary_expression "dVar13 * dVar1" identifier * identifier)) ;) (expression_statement "dVar13 = dVar13 * dVar2;" (assignment_expression "dVar13 = dVar13 * dVar2" identifier = (binary_expression "dVar13 * dVar2" identifier * identifier)) ;) (expression_statement "dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);" (assignment_expression "dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15)" identifier = (binary_expression "(dVar1 - dVar15) + (dVar13 - dVar15)" (parenthesized_expression "(dVar1 - dVar15)" ( (binary_expression "dVar1 - dVar15" identifier - identifier) )) + (parenthesized_expression "(dVar13 - dVar15)" ( (binary_expression "dVar13 - dVar15" identifier - identifier) )))) ;) (expression_statement "dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);" (assignment_expression "dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15)" identifier = (binary_expression "(dVar2 - dVar13) - (dVar13 - dVar15)" (parenthesized_expression "(dVar2 - dVar13)" ( (binary_expression "dVar2 - dVar13" identifier - identifier) )) - (parenthesized_expression "(dVar13 - dVar15)" ( (binary_expression "dVar13 - dVar15" identifier - identifier) )))) ;) (expression_statement "pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;" (assignment_expression "pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15" (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1" (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2" (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13" (parenthesized_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4)" ( (binary_expression "pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4" (binary_expression "pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16" (binary_expression "pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39" (binary_expression "pixels[0xf].red * dVar12" (field_expression "pixels[0xf].red" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].red * dVar39" (field_expression "pixels[0xe].red" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].red * dVar16" (field_expression "pixels[0xd].red" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].red * dVar4" (field_expression "pixels[0xc].red" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2" (parenthesized_expression "(pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            )" ( (binary_expression "pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4" (binary_expression "pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16" (binary_expression "pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39" (binary_expression "pixels[0xb].red * dVar12" (field_expression "pixels[0xb].red" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].red * dVar39" (field_expression "pixels[10].red" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].red * dVar16" (field_expression "pixels[9].red" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].red * dVar4" (field_expression "pixels[8].red" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1" (parenthesized_expression "(pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)" ( (binary_expression "pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4" (binary_expression "pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16" (binary_expression "pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39" (binary_expression "pixels[7].red * dVar12" (field_expression "pixels[7].red" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].red * dVar39" (field_expression "pixels[6].red" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].red * dVar16" (field_expression "pixels[5].red" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].red * dVar4" (field_expression "pixels[4].red" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15" (parenthesized_expression "(pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4)" ( (binary_expression "pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4" (binary_expression "pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16" (binary_expression "pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39" (binary_expression "pixels[3].red * dVar12" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].red * dVar39" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].red * dVar16" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].red * dVar4" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (expression_statement "pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;" (assignment_expression "pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15" (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1" (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2" (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13" (parenthesized_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4)" ( (binary_expression "pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4" (binary_expression "pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16" (binary_expression "pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39" (binary_expression "pixels[0xf].green * dVar12" (field_expression "pixels[0xf].green" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].green * dVar39" (field_expression "pixels[0xe].green" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].green * dVar16" (field_expression "pixels[0xd].green" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].green * dVar4" (field_expression "pixels[0xc].green" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2" (parenthesized_expression "(pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)" ( (binary_expression "pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4" (binary_expression "pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16" (binary_expression "pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39" (binary_expression "pixels[0xb].green * dVar12" (field_expression "pixels[0xb].green" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].green * dVar39" (field_expression "pixels[10].green" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].green * dVar16" (field_expression "pixels[9].green" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].green * dVar4" (field_expression "pixels[8].green" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1" (parenthesized_expression "(pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4)" ( (binary_expression "pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4" (binary_expression "pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16" (binary_expression "pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39" (binary_expression "pixels[7].green * dVar12" (field_expression "pixels[7].green" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].green * dVar39" (field_expression "pixels[6].green" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].green * dVar16" (field_expression "pixels[5].green" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].green * dVar4" (field_expression "pixels[4].green" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15" (parenthesized_expression "(pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4)" ( (binary_expression "pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4" (binary_expression "pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16" (binary_expression "pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39" (binary_expression "pixels[3].green * dVar12" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].green * dVar39" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].green * dVar16" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].green * dVar4" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (expression_statement "pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;" (assignment_expression "pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15" (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1" (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2" (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13" (parenthesized_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    )" ( (binary_expression "pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4" (binary_expression "pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16" (binary_expression "pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39" (binary_expression "pixels[0xf].blue * dVar12" (field_expression "pixels[0xf].blue" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].blue * dVar39" (field_expression "pixels[0xe].blue" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].blue * dVar16" (field_expression "pixels[0xd].blue" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].blue * dVar4" (field_expression "pixels[0xc].blue" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2" (parenthesized_expression "(pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4)" ( (binary_expression "pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4" (binary_expression "pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16" (binary_expression "pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39" (binary_expression "pixels[0xb].blue * dVar12" (field_expression "pixels[0xb].blue" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].blue * dVar39" (field_expression "pixels[10].blue" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].blue * dVar16" (field_expression "pixels[9].blue" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].blue * dVar4" (field_expression "pixels[8].blue" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1" (parenthesized_expression "(pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4)" ( (binary_expression "pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4" (binary_expression "pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16" (binary_expression "pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39" (binary_expression "pixels[7].blue * dVar12" (field_expression "pixels[7].blue" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].blue * dVar39" (field_expression "pixels[6].blue" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].blue * dVar16" (field_expression "pixels[5].blue" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].blue * dVar4" (field_expression "pixels[4].blue" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15" (parenthesized_expression "(pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4)" ( (binary_expression "pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4" (binary_expression "pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16" (binary_expression "pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39" (binary_expression "pixels[3].blue * dVar12" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].blue * dVar39" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].blue * dVar16" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].blue * dVar4" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }" { (expression_statement "pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;" (assignment_expression "pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15" (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1" (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2" (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13" (parenthesized_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4)" ( (binary_expression "pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4" (binary_expression "pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16" (binary_expression "pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39" (binary_expression "pixels[0xf].black * dVar12" (field_expression "pixels[0xf].black" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].black * dVar39" (field_expression "pixels[0xe].black" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].black * dVar16" (field_expression "pixels[0xd].black" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].black * dVar4" (field_expression "pixels[0xc].black" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2" (parenthesized_expression "(pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4)" ( (binary_expression "pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4" (binary_expression "pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16" (binary_expression "pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39" (binary_expression "pixels[0xb].black * dVar12" (field_expression "pixels[0xb].black" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].black * dVar39" (field_expression "pixels[10].black" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].black * dVar16" (field_expression "pixels[9].black" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].black * dVar4" (field_expression "pixels[8].black" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1" (parenthesized_expression "(pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       )" ( (binary_expression "pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4" (binary_expression "pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16" (binary_expression "pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39" (binary_expression "pixels[7].black * dVar12" (field_expression "pixels[7].black" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].black * dVar39" (field_expression "pixels[6].black" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].black * dVar16" (field_expression "pixels[5].black" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].black * dVar4" (field_expression "pixels[4].black" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15" (parenthesized_expression "(pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       )" ( (binary_expression "pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4" (binary_expression "pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16" (binary_expression "pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39" (binary_expression "pixels[3].black * dVar12" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].black * dVar39" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].black * dVar16" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].black * dVar4" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;" (assignment_expression "pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15" (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1" (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2" (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13" (parenthesized_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha)" ( (binary_expression "dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha" (binary_expression "dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha" (binary_expression "dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha" (binary_expression "dVar12 * pixels[0xf].alpha" identifier * (field_expression "pixels[0xf].alpha" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier)) + (binary_expression "dVar39 * pixels[0xe].alpha" identifier * (field_expression "pixels[0xe].alpha" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "dVar16 * pixels[0xd].alpha" identifier * (field_expression "pixels[0xd].alpha" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "dVar4 * pixels[0xc].alpha" identifier * (field_expression "pixels[0xc].alpha" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier))) )) * identifier) + (binary_expression "(pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2" (parenthesized_expression "(pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)" ( (binary_expression "pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4" (binary_expression "pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16" (binary_expression "pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39" (binary_expression "pixels[0xb].alpha * dVar12" (field_expression "pixels[0xb].alpha" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].alpha * dVar39" (field_expression "pixels[10].alpha" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].alpha * dVar16" (field_expression "pixels[9].alpha" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].alpha * dVar4" (field_expression "pixels[8].alpha" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1" (parenthesized_expression "(pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4)" ( (binary_expression "pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4" (binary_expression "pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16" (binary_expression "pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39" (binary_expression "pixels[7].alpha * dVar12" (field_expression "pixels[7].alpha" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].alpha * dVar39" (field_expression "pixels[6].alpha" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].alpha * dVar16" (field_expression "pixels[5].alpha" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].alpha * dVar4" (field_expression "pixels[4].alpha" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15" (parenthesized_expression "(pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4)" ( (binary_expression "pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4" (binary_expression "pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16" (binary_expression "pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39" (binary_expression "pixels[3].alpha * dVar12" (field_expression "pixels[3].alpha" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].alpha * dVar39" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].alpha * dVar16" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].alpha * dVar4" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case IntegerInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }\n    break;" case identifier : (expression_statement "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception)" identifier = (call_expression "GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception)" identifier (argument_list "(image_view,local_66c._0_4_,local_664._0_4_,1,1,exception)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\nLAB_0013517c:\n      dVar39 = image->fuzz;\n      pixel->storage_class = image->storage_class;\n      CVar10 = image->colorspace;\n      pixel->fuzz = dVar39;\n      pixel->colorspace = CVar10;\n      pixel->depth = image->depth;\n      pixel->alpha_trait = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      PVar8 = pPVar7[3].traits;\n      iVar28 = pPVar7[1].offset;\n      pixel->red = pQVar26[pPVar7->offset];\n      iVar25 = pPVar7[2].offset;\n      pixel->green = pQVar26[iVar28];\n      pixel->blue = pQVar26[iVar25];\n      if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }\n      if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }\n      if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }\n      MVar27 = MagickTrue;\n      goto LAB_00134728;\n    }" { (expression_statement "ResetMagickMemory(pixel,0,0x50);" (call_expression "ResetMagickMemory(pixel,0,0x50)" identifier (argument_list "(pixel,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pixel->alpha = (double)DAT_002df8a8;" (assignment_expression "pixel->alpha = (double)DAT_002df8a8" (field_expression "pixel->alpha" identifier -> field_identifier) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (labeled_statement "LAB_0013517c:\n      dVar39 = image->fuzz;" statement_identifier : (expression_statement "dVar39 = image->fuzz;" (assignment_expression "dVar39 = image->fuzz" identifier = (field_expression "image->fuzz" identifier -> field_identifier)) ;)) (expression_statement "pixel->storage_class = image->storage_class;" (assignment_expression "pixel->storage_class = image->storage_class" (field_expression "pixel->storage_class" identifier -> field_identifier) = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (expression_statement "CVar10 = image->colorspace;" (assignment_expression "CVar10 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "pixel->fuzz = dVar39;" (assignment_expression "pixel->fuzz = dVar39" (field_expression "pixel->fuzz" identifier -> field_identifier) = identifier) ;) (expression_statement "pixel->colorspace = CVar10;" (assignment_expression "pixel->colorspace = CVar10" (field_expression "pixel->colorspace" identifier -> field_identifier) = identifier) ;) (expression_statement "pixel->depth = image->depth;" (assignment_expression "pixel->depth = image->depth" (field_expression "pixel->depth" identifier -> field_identifier) = (field_expression "image->depth" identifier -> field_identifier)) ;) (expression_statement "pixel->alpha_trait = image->alpha_trait;" (assignment_expression "pixel->alpha_trait = image->alpha_trait" (field_expression "pixel->alpha_trait" identifier -> field_identifier) = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "pPVar7 = image->channel_map;" (assignment_expression "pPVar7 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "PVar8 = pPVar7[3].traits;" (assignment_expression "PVar8 = pPVar7[3].traits" identifier = (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar28 = pPVar7[1].offset;" (assignment_expression "iVar28 = pPVar7[1].offset" identifier = (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pixel->red = pQVar26[pPVar7->offset];" (assignment_expression "pixel->red = pQVar26[pPVar7->offset]" (field_expression "pixel->red" identifier -> field_identifier) = (subscript_expression "pQVar26[pPVar7->offset]" identifier [ (field_expression "pPVar7->offset" identifier -> field_identifier) ])) ;) (expression_statement "iVar25 = pPVar7[2].offset;" (assignment_expression "iVar25 = pPVar7[2].offset" identifier = (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pixel->green = pQVar26[iVar28];" (assignment_expression "pixel->green = pQVar26[iVar28]" (field_expression "pixel->green" identifier -> field_identifier) = (subscript_expression "pQVar26[iVar28]" identifier [ identifier ])) ;) (expression_statement "pixel->blue = pQVar26[iVar25];" (assignment_expression "pixel->blue = pQVar26[iVar25]" (field_expression "pixel->blue" identifier -> field_identifier) = (subscript_expression "pQVar26[iVar25]" identifier [ identifier ])) ;) (if_statement "if (PVar8 != UndefinedPixelTrait) {\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }" if (parenthesized_expression "(PVar8 != UndefinedPixelTrait)" ( (binary_expression "PVar8 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n        pixel->black = pQVar26[pPVar7[3].offset];\n      }" { (expression_statement "pixel->black = pQVar26[pPVar7[3].offset];" (assignment_expression "pixel->black = pQVar26[pPVar7[3].offset]" (field_expression "pixel->black" identifier -> field_identifier) = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) })) (if_statement "if (pPVar7[4].traits != UndefinedPixelTrait) {\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }" if (parenthesized_expression "(pPVar7[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar7[4].traits != UndefinedPixelTrait" (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n        QVar3 = pQVar26[pPVar7[4].offset];\n        pixel->alpha_trait = BlendPixelTrait;\n        pixel->alpha = QVar3;\n      }" { (expression_statement "QVar3 = pQVar26[pPVar7[4].offset];" (assignment_expression "QVar3 = pQVar26[pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;) (expression_statement "pixel->alpha_trait = BlendPixelTrait;" (assignment_expression "pixel->alpha_trait = BlendPixelTrait" (field_expression "pixel->alpha_trait" identifier -> field_identifier) = identifier) ;) (expression_statement "pixel->alpha = QVar3;" (assignment_expression "pixel->alpha = QVar3" (field_expression "pixel->alpha" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (pPVar7[5].traits != UndefinedPixelTrait) {\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }" if (parenthesized_expression "(pPVar7[5].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar7[5].traits != UndefinedPixelTrait" (field_expression "pPVar7[5].traits" (subscript_expression "pPVar7[5]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n        pixel->index = pQVar26[pPVar7[5].offset];\n      }" { (expression_statement "pixel->index = pQVar26[pPVar7[5].offset];" (assignment_expression "pixel->index = pQVar26[pPVar7[5].offset]" (field_expression "pixel->index" identifier -> field_identifier) = (subscript_expression "pQVar26[pPVar7[5].offset]" identifier [ (field_expression "pPVar7[5].offset" (subscript_expression "pPVar7[5]" identifier [ number_literal ]) . field_identifier) ])) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case MeshInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }\n    break;" case identifier : (expression_statement "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" identifier = (call_expression "GetCacheViewVirtualPixels(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" identifier (argument_list "(image_view,local_66c._0_4_,local_664._0_4_,2,2,exception)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      dVar39 = x - (double)local_66c._0_4_;\n      pPVar7 = image->channel_map;\n      dVar1 = y - (double)local_664._0_4_;\n      iVar28 = pPVar7->offset;\n      local_5ec = pQVar26[iVar28];\n      iVar25 = pPVar7[1].offset;\n      dVar2 = (double)DAT_002f2b64;\n      iVar11 = pPVar7[2].offset;\n      pdVar33 = pQVar26 + iVar11;\n      sVar17 = image->number_channels;\n      pdVar34 = pQVar26 + sVar17 * 3 + iVar28;\n      pdVar18 = pQVar26 + sVar17 * 3 + iVar25;\n      pdVar19 = pQVar26 + sVar17 * 3 + iVar11;\n      dVar15 = (double)DAT_002f2b68;\n      dVar12 = local_5ec * dVar15;\n      dVar13 = (double)DAT_002f2b6c;\n      pdVar20 = pQVar26 + sVar17 + iVar28;\n      pdVar21 = pQVar26 + sVar17 + iVar25;\n      pdVar22 = pQVar26 + sVar17 + iVar11;\n      pdVar29 = pQVar26 + sVar17 * 2 + iVar25;\n      pdVar23 = pQVar26 + sVar17 * 2 + iVar28;\n      pdVar24 = pQVar26 + sVar17 * 2 + iVar11;\n      PVar8 = pPVar7[4].traits;\n      CVar10 = image->colorspace;\n      if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }\n      dVar4 = 1.0 - dVar39;\n      pixels[0].red = local_5ec;\n      pixels[3].alpha = local_66c;\n      if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }\n      goto LAB_00134728;\n    }" { (expression_statement "dVar39 = x - (double)local_66c._0_4_;" (assignment_expression "dVar39 = x - (double)local_66c._0_4_" identifier = (binary_expression "x - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "pPVar7 = image->channel_map;" (assignment_expression "pPVar7 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "dVar1 = y - (double)local_664._0_4_;" (assignment_expression "dVar1 = y - (double)local_664._0_4_" identifier = (binary_expression "y - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar28 = pPVar7->offset;" (assignment_expression "iVar28 = pPVar7->offset" identifier = (field_expression "pPVar7->offset" identifier -> field_identifier)) ;) (expression_statement "local_5ec = pQVar26[iVar28];" (assignment_expression "local_5ec = pQVar26[iVar28]" identifier = (subscript_expression "pQVar26[iVar28]" identifier [ identifier ])) ;) (expression_statement "iVar25 = pPVar7[1].offset;" (assignment_expression "iVar25 = pPVar7[1].offset" identifier = (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "dVar2 = (double)DAT_002f2b64;" (assignment_expression "dVar2 = (double)DAT_002f2b64" identifier = (cast_expression "(double)DAT_002f2b64" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar11 = pPVar7[2].offset;" (assignment_expression "iVar11 = pPVar7[2].offset" identifier = (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pdVar33 = pQVar26 + iVar11;" (assignment_expression "pdVar33 = pQVar26 + iVar11" identifier = (binary_expression "pQVar26 + iVar11" identifier + identifier)) ;) (expression_statement "sVar17 = image->number_channels;" (assignment_expression "sVar17 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "pdVar34 = pQVar26 + sVar17 * 3 + iVar28;" (assignment_expression "pdVar34 = pQVar26 + sVar17 * 3 + iVar28" identifier = (binary_expression "pQVar26 + sVar17 * 3 + iVar28" (binary_expression "pQVar26 + sVar17 * 3" identifier + (binary_expression "sVar17 * 3" identifier * number_literal)) + identifier)) ;) (expression_statement "pdVar18 = pQVar26 + sVar17 * 3 + iVar25;" (assignment_expression "pdVar18 = pQVar26 + sVar17 * 3 + iVar25" identifier = (binary_expression "pQVar26 + sVar17 * 3 + iVar25" (binary_expression "pQVar26 + sVar17 * 3" identifier + (binary_expression "sVar17 * 3" identifier * number_literal)) + identifier)) ;) (expression_statement "pdVar19 = pQVar26 + sVar17 * 3 + iVar11;" (assignment_expression "pdVar19 = pQVar26 + sVar17 * 3 + iVar11" identifier = (binary_expression "pQVar26 + sVar17 * 3 + iVar11" (binary_expression "pQVar26 + sVar17 * 3" identifier + (binary_expression "sVar17 * 3" identifier * number_literal)) + identifier)) ;) (expression_statement "dVar15 = (double)DAT_002f2b68;" (assignment_expression "dVar15 = (double)DAT_002f2b68" identifier = (cast_expression "(double)DAT_002f2b68" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar12 = local_5ec * dVar15;" (assignment_expression "dVar12 = local_5ec * dVar15" identifier = (binary_expression "local_5ec * dVar15" identifier * identifier)) ;) (expression_statement "dVar13 = (double)DAT_002f2b6c;" (assignment_expression "dVar13 = (double)DAT_002f2b6c" identifier = (cast_expression "(double)DAT_002f2b6c" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar20 = pQVar26 + sVar17 + iVar28;" (assignment_expression "pdVar20 = pQVar26 + sVar17 + iVar28" identifier = (binary_expression "pQVar26 + sVar17 + iVar28" (binary_expression "pQVar26 + sVar17" identifier + identifier) + identifier)) ;) (expression_statement "pdVar21 = pQVar26 + sVar17 + iVar25;" (assignment_expression "pdVar21 = pQVar26 + sVar17 + iVar25" identifier = (binary_expression "pQVar26 + sVar17 + iVar25" (binary_expression "pQVar26 + sVar17" identifier + identifier) + identifier)) ;) (expression_statement "pdVar22 = pQVar26 + sVar17 + iVar11;" (assignment_expression "pdVar22 = pQVar26 + sVar17 + iVar11" identifier = (binary_expression "pQVar26 + sVar17 + iVar11" (binary_expression "pQVar26 + sVar17" identifier + identifier) + identifier)) ;) (expression_statement "pdVar29 = pQVar26 + sVar17 * 2 + iVar25;" (assignment_expression "pdVar29 = pQVar26 + sVar17 * 2 + iVar25" identifier = (binary_expression "pQVar26 + sVar17 * 2 + iVar25" (binary_expression "pQVar26 + sVar17 * 2" identifier + (binary_expression "sVar17 * 2" identifier * number_literal)) + identifier)) ;) (expression_statement "pdVar23 = pQVar26 + sVar17 * 2 + iVar28;" (assignment_expression "pdVar23 = pQVar26 + sVar17 * 2 + iVar28" identifier = (binary_expression "pQVar26 + sVar17 * 2 + iVar28" (binary_expression "pQVar26 + sVar17 * 2" identifier + (binary_expression "sVar17 * 2" identifier * number_literal)) + identifier)) ;) (expression_statement "pdVar24 = pQVar26 + sVar17 * 2 + iVar11;" (assignment_expression "pdVar24 = pQVar26 + sVar17 * 2 + iVar11" identifier = (binary_expression "pQVar26 + sVar17 * 2 + iVar11" (binary_expression "pQVar26 + sVar17 * 2" identifier + (binary_expression "sVar17 * 2" identifier * number_literal)) + identifier)) ;) (expression_statement "PVar8 = pPVar7[4].traits;" (assignment_expression "PVar8 = pPVar7[4].traits" identifier = (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "CVar10 = image->colorspace;" (assignment_expression "CVar10 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (if_statement "if (image->alpha_trait == UndefinedPixelTrait) {\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }\n      else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }" if (parenthesized_expression "(image->alpha_trait == UndefinedPixelTrait)" ( (binary_expression "image->alpha_trait == UndefinedPixelTrait" (field_expression "image->alpha_trait" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        alpha[0] = 1.0;\n        pixels[0].green = pQVar26[iVar25];\n        pixels[0].blue = *pdVar33;\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        alpha[3] = 1.0;\n        alpha[2] = 1.0;\n        alpha[1] = 1.0;\n      }" { (expression_statement "alpha[0] = 1.0;" (assignment_expression "alpha[0] = 1.0" (subscript_expression "alpha[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pixels[0].green = pQVar26[iVar25];" (assignment_expression "pixels[0].green = pQVar26[iVar25]" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[iVar25]" identifier [ identifier ])) ;) (expression_statement "pixels[0].blue = *pdVar33;" (assignment_expression "pixels[0].blue = *pdVar33" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar33" * identifier)) ;) (expression_statement "pixels[0].black = 0.0;" (assignment_expression "pixels[0].black = 0.0" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }\n          if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\nLAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) goto LAB_0013626b;\nLAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[0].black = 0.0;\n          }\n          else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            pixels[0].black = 0.0;\n          }" { (expression_statement "pixels[0].black = 0.0;" (assignment_expression "pixels[0].black = 0.0" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) }) (else_clause "else {\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }" else (compound_statement "{\n            pixels[0].black = pQVar26[pPVar7[3].offset];\n          }" { (expression_statement "pixels[0].black = pQVar26[pPVar7[3].offset];" (assignment_expression "pixels[0].black = pQVar26[pPVar7[3].offset]" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (if_statement "if (PVar8 != UndefinedPixelTrait) goto LAB_0013613f;" if (parenthesized_expression "(PVar8 != UndefinedPixelTrait)" ( (binary_expression "PVar8 != UndefinedPixelTrait" identifier != identifier) )) (goto_statement "goto LAB_0013613f;" goto statement_identifier ;)) (expression_statement "pixels[0].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[0].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "pixels[1].red = *pdVar20;" (assignment_expression "pixels[1].red = *pdVar20" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar20" * identifier)) ;) (expression_statement "pixels[1].green = *pdVar21;" (assignment_expression "pixels[1].green = *pdVar21" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "pixels[1].blue = *pdVar22;" (assignment_expression "pixels[1].blue = *pdVar22" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar22" * identifier)) ;) (labeled_statement "LAB_00136ae2:\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }" statement_identifier : (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            pixels[1].black = 0.0;\n          }\n          else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            pixels[1].black = 0.0;\n          }" { (expression_statement "pixels[1].black = 0.0;" (assignment_expression "pixels[1].black = 0.0" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) }) (else_clause "else {\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }" else (compound_statement "{\n            pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];\n          }" { (expression_statement "pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset];" (assignment_expression "pixels[1].black = pQVar26[sVar17 + pPVar7[3].offset]" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[sVar17 + pPVar7[3].offset]" identifier [ (binary_expression "sVar17 + pPVar7[3].offset" identifier + (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ])) ;) })))) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }\n          else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\nLAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }\n            if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;\n          }" { (expression_statement "pixels[1].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[1].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "pixels[2].red = *pdVar23;" (assignment_expression "pixels[2].red = *pdVar23" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar23" * identifier)) ;) (expression_statement "pixels[2].green = *pdVar29;" (assignment_expression "pixels[2].green = *pdVar29" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar29" * identifier)) ;) (expression_statement "pixels[2].blue = *pdVar24;" (assignment_expression "pixels[2].blue = *pdVar24" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar24" * identifier)) ;) (labeled_statement "LAB_00136b5f:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }" statement_identifier : (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[2].black = 0.0;\n            }\n            else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              pixels[2].black = 0.0;\n            }" { (expression_statement "pixels[2].black = 0.0;" (assignment_expression "pixels[2].black = 0.0" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) }) (else_clause "else {\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }" else (compound_statement "{\n              pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n            }" { (expression_statement "pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset];" (assignment_expression "pixels[2].black = pQVar26[sVar17 * 2 + pPVar7[3].offset]" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[sVar17 * 2 + pPVar7[3].offset]" identifier [ (binary_expression "sVar17 * 2 + pPVar7[3].offset" (binary_expression "sVar17 * 2" identifier * number_literal) + (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ])) ;) })))) (if_statement "if (PVar8 == UndefinedPixelTrait) goto LAB_00136b86;" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (goto_statement "goto LAB_00136b86;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }" else (compound_statement "{\nLAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n            pixels[2].red = *pdVar23;\n            pixels[2].green = *pdVar29;\n            pixels[2].blue = *pdVar24;\n            pixels[2].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136b5f;\n          }" { (labeled_statement "LAB_001361a4:\n            pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];" statement_identifier : (expression_statement "pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];" (assignment_expression "pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset]" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[sVar17 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 + pPVar7[4].offset" identifier + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ])) ;)) (expression_statement "pixels[2].red = *pdVar23;" (assignment_expression "pixels[2].red = *pdVar23" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar23" * identifier)) ;) (expression_statement "pixels[2].green = *pdVar29;" (assignment_expression "pixels[2].green = *pdVar29" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar29" * identifier)) ;) (expression_statement "pixels[2].blue = *pdVar24;" (assignment_expression "pixels[2].blue = *pdVar24" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar24" * identifier)) ;) (expression_statement "pixels[2].black = 0.0;" (assignment_expression "pixels[2].black = 0.0" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) goto LAB_00136b5f;" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (goto_statement "goto LAB_00136b5f;" goto statement_identifier ;)) }))) (expression_statement "pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];" (assignment_expression "pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset]" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[sVar17 * 2 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 * 2 + pPVar7[4].offset" (binary_expression "sVar17 * 2" identifier * number_literal) + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ])) ;) (expression_statement "pixels[3].red = *pdVar34;" (assignment_expression "pixels[3].red = *pdVar34" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar34" * identifier)) ;) (expression_statement "pixels[3].green = *pdVar18;" (assignment_expression "pixels[3].green = *pdVar18" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "pixels[3].blue = *pdVar19;" (assignment_expression "pixels[3].blue = *pdVar19" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "pixels[3].black = 0.0;" (assignment_expression "pixels[3].black = 0.0" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) goto LAB_0013626b;" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (goto_statement "goto LAB_0013626b;" goto statement_identifier ;)) (labeled_statement "LAB_00136296:\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];" statement_identifier : (expression_statement "local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];" (assignment_expression "local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[sVar17 * 3 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 * 3 + pPVar7[4].offset" (binary_expression "sVar17 * 3" identifier * number_literal) + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ])) ;)) }) (else_clause "else {\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" else (compound_statement "{\n          if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[1].red = *pdVar20;\n          pixels[1].green = *pdVar21;\n          pixels[1].blue = *pdVar22;\n          pixels[1].black = 0.0;\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[2].red = *pdVar23;\n          pixels[2].green = *pdVar29;\n          pixels[2].blue = *pdVar24;\n          pixels[2].black = 0.0;\nLAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          pixels[3].red = *pdVar34;\n          pixels[3].green = *pdVar18;\n          pixels[3].blue = *pdVar19;\n          pixels[3].black = 0.0;\n          if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" { (if_statement "if (PVar8 != UndefinedPixelTrait) {\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }" if (parenthesized_expression "(PVar8 != UndefinedPixelTrait)" ( (binary_expression "PVar8 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\nLAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];\n            pixels[1].red = *pdVar20;\n            pixels[1].green = *pdVar21;\n            pixels[1].blue = *pdVar22;\n            pixels[1].black = 0.0;\n            if (CVar10 == CMYKColorspace) goto LAB_00136ae2;\n            goto LAB_001361a4;\n          }" { (labeled_statement "LAB_0013613f:\n            pixels[0].alpha = pQVar26[pPVar7[4].offset];" statement_identifier : (expression_statement "pixels[0].alpha = pQVar26[pPVar7[4].offset];" (assignment_expression "pixels[0].alpha = pQVar26[pPVar7[4].offset]" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;)) (expression_statement "pixels[1].red = *pdVar20;" (assignment_expression "pixels[1].red = *pdVar20" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar20" * identifier)) ;) (expression_statement "pixels[1].green = *pdVar21;" (assignment_expression "pixels[1].green = *pdVar21" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "pixels[1].blue = *pdVar22;" (assignment_expression "pixels[1].blue = *pdVar22" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar22" * identifier)) ;) (expression_statement "pixels[1].black = 0.0;" (assignment_expression "pixels[1].black = 0.0" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) goto LAB_00136ae2;" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (goto_statement "goto LAB_00136ae2;" goto statement_identifier ;)) (goto_statement "goto LAB_001361a4;" goto statement_identifier ;) })) (expression_statement "pixels[0].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[0].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "pixels[1].red = *pdVar20;" (assignment_expression "pixels[1].red = *pdVar20" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar20" * identifier)) ;) (expression_statement "pixels[1].green = *pdVar21;" (assignment_expression "pixels[1].green = *pdVar21" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "pixels[1].blue = *pdVar22;" (assignment_expression "pixels[1].blue = *pdVar22" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar22" * identifier)) ;) (expression_statement "pixels[1].black = 0.0;" (assignment_expression "pixels[1].black = 0.0" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "pixels[1].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[1].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "pixels[2].red = *pdVar23;" (assignment_expression "pixels[2].red = *pdVar23" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar23" * identifier)) ;) (expression_statement "pixels[2].green = *pdVar29;" (assignment_expression "pixels[2].green = *pdVar29" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar29" * identifier)) ;) (expression_statement "pixels[2].blue = *pdVar24;" (assignment_expression "pixels[2].blue = *pdVar24" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar24" * identifier)) ;) (expression_statement "pixels[2].black = 0.0;" (assignment_expression "pixels[2].black = 0.0" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (labeled_statement "LAB_00136b86:\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;" statement_identifier : (expression_statement "pixels[2].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[2].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;)) (expression_statement "pixels[3].red = *pdVar34;" (assignment_expression "pixels[3].red = *pdVar34" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar34" * identifier)) ;) (expression_statement "pixels[3].green = *pdVar18;" (assignment_expression "pixels[3].green = *pdVar18" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "pixels[3].blue = *pdVar19;" (assignment_expression "pixels[3].blue = *pdVar19" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "pixels[3].black = 0.0;" (assignment_expression "pixels[3].black = 0.0" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\nLAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }\n            if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;\n            local_66c = (double)DAT_002df8a8;\n          }" { (labeled_statement "LAB_0013626b:\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }" statement_identifier : (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              pixels[3].black = 0.0;\n            }\n            else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              pixels[3].black = 0.0;\n            }" { (expression_statement "pixels[3].black = 0.0;" (assignment_expression "pixels[3].black = 0.0" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) }) (else_clause "else {\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }" else (compound_statement "{\n              pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n            }" { (expression_statement "pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset];" (assignment_expression "pixels[3].black = pQVar26[sVar17 * 3 + pPVar7[3].offset]" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[sVar17 * 3 + pPVar7[3].offset]" identifier [ (binary_expression "sVar17 * 3 + pPVar7[3].offset" (binary_expression "sVar17 * 3" identifier * number_literal) + (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ])) ;) })))) (if_statement "if (PVar8 != UndefinedPixelTrait) goto LAB_00136296;" if (parenthesized_expression "(PVar8 != UndefinedPixelTrait)" ( (binary_expression "PVar8 != UndefinedPixelTrait" identifier != identifier) )) (goto_statement "goto LAB_00136296;" goto statement_identifier ;)) (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = (double)DAT_002df8a8;\n          }" else (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) }))) (expression_statement "alpha[3] = 1.0;" (assignment_expression "alpha[3] = 1.0" (subscript_expression "alpha[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "alpha[2] = 1.0;" (assignment_expression "alpha[2] = 1.0" (subscript_expression "alpha[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "alpha[1] = 1.0;" (assignment_expression "alpha[1] = 1.0" (subscript_expression "alpha[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }" else (compound_statement "{\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }\n        pixels[0].green = pQVar26[iVar25] * alpha[0];\n        pixels[0].blue = *pdVar33 * alpha[0];\n        pixels[0].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }\n        pixels[1].red = *pdVar20 * alpha[1];\n        pixels[1].green = *pdVar21 * alpha[1];\n        pixels[1].blue = *pdVar22 * alpha[1];\n        pixels[1].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }\n        pixels[2].red = *pdVar23 * alpha[2];\n        pixels[2].green = *pdVar29 * alpha[2];\n        pixels[2].blue = *pdVar24 * alpha[2];\n        pixels[2].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n        pixels[3].red = *pdVar34 * alpha[3];\n        pixels[3].green = *pdVar18 * alpha[3];\n        pixels[3].blue = *pdVar19 * alpha[3];\n        pixels[3].black = 0.0;\n        if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }\n        if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }\n      }" { (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          alpha[0] = 1.0;\n        }\n        else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          alpha[0] = 1.0;\n        }" { (expression_statement "alpha[0] = 1.0;" (assignment_expression "alpha[0] = 1.0" (subscript_expression "alpha[0]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }" else (compound_statement "{\n          alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];\n          local_5ec = local_5ec * alpha[0];\n        }" { (expression_statement "alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset];" (assignment_expression "alpha[0] = _DAT_002df2e0 * pQVar26[pPVar7[4].offset]" (subscript_expression "alpha[0]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * pQVar26[pPVar7[4].offset]" identifier * (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ]))) ;) (expression_statement "local_5ec = local_5ec * alpha[0];" (assignment_expression "local_5ec = local_5ec * alpha[0]" identifier = (binary_expression "local_5ec * alpha[0]" identifier * (subscript_expression "alpha[0]" identifier [ number_literal ]))) ;) }))) (expression_statement "pixels[0].green = pQVar26[iVar25] * alpha[0];" (assignment_expression "pixels[0].green = pQVar26[iVar25] * alpha[0]" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "pQVar26[iVar25] * alpha[0]" (subscript_expression "pQVar26[iVar25]" identifier [ identifier ]) * (subscript_expression "alpha[0]" identifier [ number_literal ]))) ;) (expression_statement "pixels[0].blue = *pdVar33 * alpha[0];" (assignment_expression "pixels[0].blue = *pdVar33 * alpha[0]" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar33 * alpha[0]" (pointer_expression "*pdVar33" * identifier) * (subscript_expression "alpha[0]" identifier [ number_literal ]))) ;) (expression_statement "pixels[0].black = 0.0;" (assignment_expression "pixels[0].black = 0.0" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }\n          pixels[0].black = dVar4 * alpha[0];\n        }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            dVar4 = 0.0;\n          }" { (expression_statement "dVar4 = 0.0;" (assignment_expression "dVar4 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }" else (compound_statement "{\n            dVar4 = pQVar26[pPVar7[3].offset];\n          }" { (expression_statement "dVar4 = pQVar26[pPVar7[3].offset];" (assignment_expression "dVar4 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pixels[0].black = dVar4 * alpha[0];" (assignment_expression "pixels[0].black = dVar4 * alpha[0]" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (binary_expression "dVar4 * alpha[0]" identifier * (subscript_expression "alpha[0]" identifier [ number_literal ]))) ;) })) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }\n        else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          pixels[0].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[1] = 1.0;\n        }" { (expression_statement "pixels[0].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[0].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "alpha[1] = 1.0;" (assignment_expression "alpha[1] = 1.0" (subscript_expression "alpha[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }" else (compound_statement "{\n          pixels[0].alpha = pQVar26[pPVar7[4].offset];\n          alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];\n        }" { (expression_statement "pixels[0].alpha = pQVar26[pPVar7[4].offset];" (assignment_expression "pixels[0].alpha = pQVar26[pPVar7[4].offset]" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;) (expression_statement "alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset];" (assignment_expression "alpha[1] = _DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset]" (subscript_expression "alpha[1]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * pQVar26[sVar17 + pPVar7[4].offset]" identifier * (subscript_expression "pQVar26[sVar17 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 + pPVar7[4].offset" identifier + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ]))) ;) }))) (expression_statement "pixels[1].red = *pdVar20 * alpha[1];" (assignment_expression "pixels[1].red = *pdVar20 * alpha[1]" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar20 * alpha[1]" (pointer_expression "*pdVar20" * identifier) * (subscript_expression "alpha[1]" identifier [ number_literal ]))) ;) (expression_statement "pixels[1].green = *pdVar21 * alpha[1];" (assignment_expression "pixels[1].green = *pdVar21 * alpha[1]" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar21 * alpha[1]" (pointer_expression "*pdVar21" * identifier) * (subscript_expression "alpha[1]" identifier [ number_literal ]))) ;) (expression_statement "pixels[1].blue = *pdVar22 * alpha[1];" (assignment_expression "pixels[1].blue = *pdVar22 * alpha[1]" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar22 * alpha[1]" (pointer_expression "*pdVar22" * identifier) * (subscript_expression "alpha[1]" identifier [ number_literal ]))) ;) (expression_statement "pixels[1].black = 0.0;" (assignment_expression "pixels[1].black = 0.0" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }\n          pixels[1].black = dVar4 * alpha[1];\n        }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            dVar4 = 0.0;\n          }" { (expression_statement "dVar4 = 0.0;" (assignment_expression "dVar4 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }" else (compound_statement "{\n            dVar4 = pQVar26[sVar17 + pPVar7[3].offset];\n          }" { (expression_statement "dVar4 = pQVar26[sVar17 + pPVar7[3].offset];" (assignment_expression "dVar4 = pQVar26[sVar17 + pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[sVar17 + pPVar7[3].offset]" identifier [ (binary_expression "sVar17 + pPVar7[3].offset" identifier + (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ])) ;) }))) (expression_statement "pixels[1].black = dVar4 * alpha[1];" (assignment_expression "pixels[1].black = dVar4 * alpha[1]" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "dVar4 * alpha[1]" identifier * (subscript_expression "alpha[1]" identifier [ number_literal ]))) ;) })) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }\n        else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          pixels[1].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[2] = 1.0;\n        }" { (expression_statement "pixels[1].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[1].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "alpha[2] = 1.0;" (assignment_expression "alpha[2] = 1.0" (subscript_expression "alpha[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }" else (compound_statement "{\n          pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];\n          alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];\n        }" { (expression_statement "pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset];" (assignment_expression "pixels[1].alpha = pQVar26[sVar17 + pPVar7[4].offset]" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[sVar17 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 + pPVar7[4].offset" identifier + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ])) ;) (expression_statement "alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset];" (assignment_expression "alpha[2] = _DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset]" (subscript_expression "alpha[2]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * pQVar26[sVar17 * 2 + pPVar7[4].offset]" identifier * (subscript_expression "pQVar26[sVar17 * 2 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 * 2 + pPVar7[4].offset" (binary_expression "sVar17 * 2" identifier * number_literal) + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ]))) ;) }))) (expression_statement "pixels[2].red = *pdVar23 * alpha[2];" (assignment_expression "pixels[2].red = *pdVar23 * alpha[2]" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar23 * alpha[2]" (pointer_expression "*pdVar23" * identifier) * (subscript_expression "alpha[2]" identifier [ number_literal ]))) ;) (expression_statement "pixels[2].green = *pdVar29 * alpha[2];" (assignment_expression "pixels[2].green = *pdVar29 * alpha[2]" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar29 * alpha[2]" (pointer_expression "*pdVar29" * identifier) * (subscript_expression "alpha[2]" identifier [ number_literal ]))) ;) (expression_statement "pixels[2].blue = *pdVar24 * alpha[2];" (assignment_expression "pixels[2].blue = *pdVar24 * alpha[2]" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar24 * alpha[2]" (pointer_expression "*pdVar24" * identifier) * (subscript_expression "alpha[2]" identifier [ number_literal ]))) ;) (expression_statement "pixels[2].black = 0.0;" (assignment_expression "pixels[2].black = 0.0" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }\n          pixels[2].black = dVar4 * alpha[2];\n        }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            dVar4 = 0.0;\n          }" { (expression_statement "dVar4 = 0.0;" (assignment_expression "dVar4 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }" else (compound_statement "{\n            dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];\n          }" { (expression_statement "dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset];" (assignment_expression "dVar4 = pQVar26[sVar17 * 2 + pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[sVar17 * 2 + pPVar7[3].offset]" identifier [ (binary_expression "sVar17 * 2 + pPVar7[3].offset" (binary_expression "sVar17 * 2" identifier * number_literal) + (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ])) ;) }))) (expression_statement "pixels[2].black = dVar4 * alpha[2];" (assignment_expression "pixels[2].black = dVar4 * alpha[2]" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (binary_expression "dVar4 * alpha[2]" identifier * (subscript_expression "alpha[2]" identifier [ number_literal ]))) ;) })) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }\n        else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          pixels[2].alpha = (MagickRealType)DAT_002df8a8;\n          alpha[3] = 1.0;\n        }" { (expression_statement "pixels[2].alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixels[2].alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "alpha[3] = 1.0;" (assignment_expression "alpha[3] = 1.0" (subscript_expression "alpha[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }" else (compound_statement "{\n          pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];\n          alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }" { (expression_statement "pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset];" (assignment_expression "pixels[2].alpha = pQVar26[sVar17 * 2 + pPVar7[4].offset]" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) = (subscript_expression "pQVar26[sVar17 * 2 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 * 2 + pPVar7[4].offset" (binary_expression "sVar17 * 2" identifier * number_literal) + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ])) ;) (expression_statement "alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset];" (assignment_expression "alpha[3] = _DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset]" (subscript_expression "alpha[3]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * pQVar26[sVar17 * 3 + pPVar7[4].offset]" identifier * (subscript_expression "pQVar26[sVar17 * 3 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 * 3 + pPVar7[4].offset" (binary_expression "sVar17 * 3" identifier * number_literal) + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ]))) ;) }))) (expression_statement "pixels[3].red = *pdVar34 * alpha[3];" (assignment_expression "pixels[3].red = *pdVar34 * alpha[3]" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar34 * alpha[3]" (pointer_expression "*pdVar34" * identifier) * (subscript_expression "alpha[3]" identifier [ number_literal ]))) ;) (expression_statement "pixels[3].green = *pdVar18 * alpha[3];" (assignment_expression "pixels[3].green = *pdVar18 * alpha[3]" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar18 * alpha[3]" (pointer_expression "*pdVar18" * identifier) * (subscript_expression "alpha[3]" identifier [ number_literal ]))) ;) (expression_statement "pixels[3].blue = *pdVar19 * alpha[3];" (assignment_expression "pixels[3].blue = *pdVar19 * alpha[3]" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (binary_expression "*pdVar19 * alpha[3]" (pointer_expression "*pdVar19" * identifier) * (subscript_expression "alpha[3]" identifier [ number_literal ]))) ;) (expression_statement "pixels[3].black = 0.0;" (assignment_expression "pixels[3].black = 0.0" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }\n          pixels[3].black = dVar4 * alpha[3];\n        }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar4 = 0.0;\n          }\n          else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            dVar4 = 0.0;\n          }" { (expression_statement "dVar4 = 0.0;" (assignment_expression "dVar4 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }" else (compound_statement "{\n            dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];\n          }" { (expression_statement "dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset];" (assignment_expression "dVar4 = pQVar26[sVar17 * 3 + pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[sVar17 * 3 + pPVar7[3].offset]" identifier [ (binary_expression "sVar17 * 3 + pPVar7[3].offset" (binary_expression "sVar17 * 3" identifier * number_literal) + (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier)) ])) ;) }))) (expression_statement "pixels[3].black = dVar4 * alpha[3];" (assignment_expression "pixels[3].black = dVar4 * alpha[3]" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = (binary_expression "dVar4 * alpha[3]" identifier * (subscript_expression "alpha[3]" identifier [ number_literal ]))) ;) })) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          local_66c = (double)DAT_002df8a8;\n        }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }" else (compound_statement "{\n          local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];\n        }" { (expression_statement "local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset];" (assignment_expression "local_66c = pQVar26[sVar17 * 3 + pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[sVar17 * 3 + pPVar7[4].offset]" identifier [ (binary_expression "sVar17 * 3 + pPVar7[4].offset" (binary_expression "sVar17 * 3" identifier * number_literal) + (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ])) ;) }))) }))) (expression_statement "dVar4 = 1.0 - dVar39;" (assignment_expression "dVar4 = 1.0 - dVar39" identifier = (binary_expression "1.0 - dVar39" number_literal - identifier)) ;) (expression_statement "pixels[0].red = local_5ec;" (assignment_expression "pixels[0].red = local_5ec" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pixels[3].alpha = local_66c;" (assignment_expression "pixels[3].alpha = local_66c" (field_expression "pixels[3].alpha" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (if_statement "if (ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))) {\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }\n      else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }" if (parenthesized_expression "(ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15)))" ( (binary_expression "ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)) <=\n          ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))" (call_expression "ABS((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23))" identifier (argument_list "((*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23))" ( (binary_expression "(*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15) -\n              (dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)" (parenthesized_expression "(*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15)" ( (binary_expression "*pdVar22 * dVar13 + *pdVar21 * dVar2 + *pdVar20 * dVar15" (binary_expression "*pdVar22 * dVar13 + *pdVar21 * dVar2" (binary_expression "*pdVar22 * dVar13" (pointer_expression "*pdVar22" * identifier) * identifier) + (binary_expression "*pdVar21 * dVar2" (pointer_expression "*pdVar21" * identifier) * identifier)) + (binary_expression "*pdVar20 * dVar15" (pointer_expression "*pdVar20" * identifier) * identifier)) )) - (parenthesized_expression "(dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23)" ( (binary_expression "dVar13 * *pdVar24 + dVar2 * *pdVar29 + dVar15 * *pdVar23" (binary_expression "dVar13 * *pdVar24 + dVar2 * *pdVar29" (binary_expression "dVar13 * *pdVar24" identifier * (pointer_expression "*pdVar24" * identifier)) + (binary_expression "dVar2 * *pdVar29" identifier * (pointer_expression "*pdVar29" * identifier))) + (binary_expression "dVar15 * *pdVar23" identifier * (pointer_expression "*pdVar23" * identifier))) ))) ))) <= (call_expression "ABS((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))" identifier (argument_list "((*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15))" ( (binary_expression "(*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2) -\n              (*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15)" (parenthesized_expression "(*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2)" ( (binary_expression "*pdVar33 * dVar13 + dVar12 + pQVar26[iVar25] * dVar2" (binary_expression "*pdVar33 * dVar13 + dVar12" (binary_expression "*pdVar33 * dVar13" (pointer_expression "*pdVar33" * identifier) * identifier) + identifier) + (binary_expression "pQVar26[iVar25] * dVar2" (subscript_expression "pQVar26[iVar25]" identifier [ identifier ]) * identifier)) )) - (parenthesized_expression "(*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15)" ( (binary_expression "*pdVar19 * dVar13 + *pdVar18 * dVar2 + *pdVar34 * dVar15" (binary_expression "*pdVar19 * dVar13 + *pdVar18 * dVar2" (binary_expression "*pdVar19 * dVar13" (pointer_expression "*pdVar19" * identifier) * identifier) + (binary_expression "*pdVar18 * dVar2" (pointer_expression "*pdVar18" * identifier) * identifier)) + (binary_expression "*pdVar34 * dVar15" (pointer_expression "*pdVar34" * identifier) * identifier)) ))) )))) )) (compound_statement "{\n        dVar12 = 1.0 - dVar1;\n        if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }\n      }" { (expression_statement "dVar12 = 1.0 - dVar1;" (assignment_expression "dVar12 = 1.0 - dVar1" identifier = (binary_expression "1.0 - dVar1" number_literal - identifier)) ;) (if_statement "if (dVar12 < dVar39) {\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }\n        else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }" if (parenthesized_expression "(dVar12 < dVar39)" ( (binary_expression "dVar12 < dVar39" identifier < identifier) )) (compound_statement "{\n          dVar2 = (1.0 - dVar4) - dVar12;\n          dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;\n          dVar1 = DAT_002df8d8;\n          dVar13 = dVar39;\n          if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }\n          pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;\n          pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;\n          pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);\n        }" { (expression_statement "dVar2 = (1.0 - dVar4) - dVar12;" (assignment_expression "dVar2 = (1.0 - dVar4) - dVar12" identifier = (binary_expression "(1.0 - dVar4) - dVar12" (parenthesized_expression "(1.0 - dVar4)" ( (binary_expression "1.0 - dVar4" number_literal - identifier) )) - identifier)) ;) (expression_statement "dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4;" (assignment_expression "dVar39 = alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4" identifier = (binary_expression "alpha[3] * dVar2 + alpha[1] * dVar12 + alpha[2] * dVar4" (binary_expression "alpha[3] * dVar2 + alpha[1] * dVar12" (binary_expression "alpha[3] * dVar2" (subscript_expression "alpha[3]" identifier [ number_literal ]) * identifier) + (binary_expression "alpha[1] * dVar12" (subscript_expression "alpha[1]" identifier [ number_literal ]) * identifier)) + (binary_expression "alpha[2] * dVar4" (subscript_expression "alpha[2]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar13 = dVar39;" (assignment_expression "dVar13 = dVar39" identifier = identifier) ;) (if_statement "if (dVar39 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }" if (parenthesized_expression "(dVar39 < 0.0)" ( (binary_expression "dVar39 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar1 = DAT_002df8e0;\n            dVar13 = -dVar39;\n          }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar13 = -dVar39;" (assignment_expression "dVar13 = -dVar39" identifier = (unary_expression "-dVar39" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar13) {\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }" if (parenthesized_expression "(DAT_002df2d0 <= dVar13)" ( (binary_expression "DAT_002df2d0 <= dVar13" identifier <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_002df8b4 / dVar39;\n          }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar39;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar39" identifier = (binary_expression "(double)DAT_002df8b4 / dVar39" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1;" (assignment_expression "pixel->red = (pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "(pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4) *\n                       dVar1" (parenthesized_expression "(pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4)" ( (binary_expression "pixels[3].red * dVar2 + pixels[1].red * dVar12 + pixels[2].red * dVar4" (binary_expression "pixels[3].red * dVar2 + pixels[1].red * dVar12" (binary_expression "pixels[3].red * dVar2" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[1].red * dVar12" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[2].red * dVar4" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (expression_statement "pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1;" (assignment_expression "pixel->green = (pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "(pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4) * dVar1" (parenthesized_expression "(pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4)" ( (binary_expression "pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12 + pixels[2].green * dVar4" (binary_expression "pixels[3].green * dVar2 +\n                         pixels[1].green * dVar12" (binary_expression "pixels[3].green * dVar2" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[1].green * dVar12" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[2].green * dVar4" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (expression_statement "pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1;" (assignment_expression "pixel->blue = (pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "(pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)\n                        * dVar1" (parenthesized_expression "(pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4)" ( (binary_expression "pixels[3].blue * dVar2 + pixels[1].blue * dVar12 + pixels[2].blue * dVar4" (binary_expression "pixels[3].blue * dVar2 + pixels[1].blue * dVar12" (binary_expression "pixels[3].blue * dVar2" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[1].blue * dVar12" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[2].blue * dVar4" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;\n          }" { (expression_statement "pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1;" (assignment_expression "pixel->black = (pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "(pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4) * dVar1" (parenthesized_expression "(pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4)" ( (binary_expression "pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12 + pixels[2].black * dVar4" (binary_expression "pixels[3].black * dVar2 +\n                           pixels[1].black * dVar12" (binary_expression "pixels[3].black * dVar2" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[1].black * dVar12" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[2].black * dVar4" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4);" (assignment_expression "pixel->alpha = (dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4)" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "(dVar4 + dVar12 + dVar2) *\n                         (local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4)" (parenthesized_expression "(dVar4 + dVar12 + dVar2)" ( (binary_expression "dVar4 + dVar12 + dVar2" (binary_expression "dVar4 + dVar12" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4)" ( (binary_expression "local_66c * dVar2 + pixels[1].alpha * dVar12 + pixels[2].alpha * dVar4" (binary_expression "local_66c * dVar2 + pixels[1].alpha * dVar12" (binary_expression "local_66c * dVar2" identifier * identifier) + (binary_expression "pixels[1].alpha * dVar12" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[2].alpha * dVar4" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )))) ;) }) (else_clause "else {\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }" else (compound_statement "{\n          dVar4 = dVar4 - dVar1;\n          dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;\n          dVar2 = DAT_002df8d8;\n          dVar13 = dVar12;\n          if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }\n          if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }\n          pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;\n          pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;\n          pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;\n          if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }\n          MVar27 = MagickTrue;\n          pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);\n        }" { (expression_statement "dVar4 = dVar4 - dVar1;" (assignment_expression "dVar4 = dVar4 - dVar1" identifier = (binary_expression "dVar4 - dVar1" identifier - identifier)) ;) (expression_statement "dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39;" (assignment_expression "dVar12 = alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39" identifier = (binary_expression "alpha[0] * dVar4 + dVar1 * alpha[2] + alpha[1] * dVar39" (binary_expression "alpha[0] * dVar4 + dVar1 * alpha[2]" (binary_expression "alpha[0] * dVar4" (subscript_expression "alpha[0]" identifier [ number_literal ]) * identifier) + (binary_expression "dVar1 * alpha[2]" identifier * (subscript_expression "alpha[2]" identifier [ number_literal ]))) + (binary_expression "alpha[1] * dVar39" (subscript_expression "alpha[1]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar2 = DAT_002df8d8;" (assignment_expression "dVar2 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar13 = dVar12;" (assignment_expression "dVar13 = dVar12" identifier = identifier) ;) (if_statement "if (dVar12 < 0.0) {\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }" if (parenthesized_expression "(dVar12 < 0.0)" ( (binary_expression "dVar12 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar2 = DAT_002df8e0;\n            dVar13 = -dVar12;\n          }" { (expression_statement "dVar2 = DAT_002df8e0;" (assignment_expression "dVar2 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar13 = -dVar12;" (assignment_expression "dVar13 = -dVar12" identifier = (unary_expression "-dVar12" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar13) {\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }" if (parenthesized_expression "(DAT_002df2d0 <= dVar13)" ( (binary_expression "DAT_002df2d0 <= dVar13" identifier <= identifier) )) (compound_statement "{\n            dVar2 = (double)DAT_002df8b4 / dVar12;\n          }" { (expression_statement "dVar2 = (double)DAT_002df8b4 / dVar12;" (assignment_expression "dVar2 = (double)DAT_002df8b4 / dVar12" identifier = (binary_expression "(double)DAT_002df8b4 / dVar12" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2;" (assignment_expression "pixel->red = (local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "(local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39) * dVar2" (parenthesized_expression "(local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39)" ( (binary_expression "local_5ec * dVar4 + pixels[2].red * dVar1 + pixels[1].red * dVar39" (binary_expression "local_5ec * dVar4 + pixels[2].red * dVar1" (binary_expression "local_5ec * dVar4" identifier * identifier) + (binary_expression "pixels[2].red * dVar1" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].red * dVar39" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (expression_statement "pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2;" (assignment_expression "pixel->green = (pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "(pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39) * dVar2" (parenthesized_expression "(pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39)" ( (binary_expression "pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1 + pixels[1].green * dVar39" (binary_expression "pixels[0].green * dVar4 +\n                         pixels[2].green * dVar1" (binary_expression "pixels[0].green * dVar4" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].green * dVar1" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].green * dVar39" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (expression_statement "pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2;" (assignment_expression "pixel->blue = (pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "(pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)\n                        * dVar2" (parenthesized_expression "(pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39)" ( (binary_expression "pixels[0].blue * dVar4 + pixels[2].blue * dVar1 + pixels[1].blue * dVar39" (binary_expression "pixels[0].blue * dVar4 + pixels[2].blue * dVar1" (binary_expression "pixels[0].blue * dVar4" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].blue * dVar1" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].blue * dVar39" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;\n          }" { (expression_statement "pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2;" (assignment_expression "pixel->black = (pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "(pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1) * dVar2" (parenthesized_expression "(pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1)" ( (binary_expression "pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black + pixels[2].black * dVar1" (binary_expression "pixels[0].black * dVar4 +\n                           dVar39 * pixels[1].black" (binary_expression "pixels[0].black * dVar4" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "dVar39 * pixels[1].black" identifier * (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "pixels[2].black * dVar1" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1);" (assignment_expression "pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1)" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "(dVar4 + dVar39 + dVar1) *\n                         (pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1)" (parenthesized_expression "(dVar4 + dVar39 + dVar1)" ( (binary_expression "dVar4 + dVar39 + dVar1" (binary_expression "dVar4 + dVar39" identifier + identifier) + identifier) )) * (parenthesized_expression "(pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1)" ( (binary_expression "pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39 + pixels[2].alpha * dVar1" (binary_expression "pixels[0].alpha * dVar4 +\n                         pixels[1].alpha * dVar39" (binary_expression "pixels[0].alpha * dVar4" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[1].alpha * dVar39" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[2].alpha * dVar1" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) )))) ;) }))) }) (else_clause "else if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }" else (if_statement "if (dVar1 < dVar39) {\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }\n      else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }" if (parenthesized_expression "(dVar1 < dVar39)" ( (binary_expression "dVar1 < dVar39" identifier < identifier) )) (compound_statement "{\n        dVar2 = (1.0 - dVar4) - dVar1;\n        dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;\n        dVar12 = DAT_002df8d8;\n        dVar13 = dVar39;\n        if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }\n        pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;\n        pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;\n        pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);\n      }" { (expression_statement "dVar2 = (1.0 - dVar4) - dVar1;" (assignment_expression "dVar2 = (1.0 - dVar4) - dVar1" identifier = (binary_expression "(1.0 - dVar4) - dVar1" (parenthesized_expression "(1.0 - dVar4)" ( (binary_expression "1.0 - dVar4" number_literal - identifier) )) - identifier)) ;) (expression_statement "dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1;" (assignment_expression "dVar39 = alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1" identifier = (binary_expression "alpha[1] * dVar2 + alpha[0] * dVar4 + alpha[3] * dVar1" (binary_expression "alpha[1] * dVar2 + alpha[0] * dVar4" (binary_expression "alpha[1] * dVar2" (subscript_expression "alpha[1]" identifier [ number_literal ]) * identifier) + (binary_expression "alpha[0] * dVar4" (subscript_expression "alpha[0]" identifier [ number_literal ]) * identifier)) + (binary_expression "alpha[3] * dVar1" (subscript_expression "alpha[3]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar12 = DAT_002df8d8;" (assignment_expression "dVar12 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar13 = dVar39;" (assignment_expression "dVar13 = dVar39" identifier = identifier) ;) (if_statement "if (dVar39 < 0.0) {\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }" if (parenthesized_expression "(dVar39 < 0.0)" ( (binary_expression "dVar39 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar12 = DAT_002df8e0;\n          dVar13 = -dVar39;\n        }" { (expression_statement "dVar12 = DAT_002df8e0;" (assignment_expression "dVar12 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar13 = -dVar39;" (assignment_expression "dVar13 = -dVar39" identifier = (unary_expression "-dVar39" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar13) {\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }" if (parenthesized_expression "(DAT_002df2d0 <= dVar13)" ( (binary_expression "DAT_002df2d0 <= dVar13" identifier <= identifier) )) (compound_statement "{\n          dVar12 = (double)DAT_002df8b4 / dVar39;\n        }" { (expression_statement "dVar12 = (double)DAT_002df8b4 / dVar39;" (assignment_expression "dVar12 = (double)DAT_002df8b4 / dVar39" identifier = (binary_expression "(double)DAT_002df8b4 / dVar39" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12;" (assignment_expression "pixel->red = (pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "(pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4) * dVar12" (parenthesized_expression "(pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4)" ( (binary_expression "pixels[1].red * dVar2 + pixels[3].red * dVar1 + local_5ec * dVar4" (binary_expression "pixels[1].red * dVar2 + pixels[3].red * dVar1" (binary_expression "pixels[1].red * dVar2" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[3].red * dVar1" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "local_5ec * dVar4" identifier * identifier)) )) * identifier)) ;) (expression_statement "pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12;" (assignment_expression "pixel->green = (pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "(pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)\n                       * dVar12" (parenthesized_expression "(pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4)" ( (binary_expression "pixels[1].green * dVar2 + pixels[3].green * dVar1 + pixels[0].green * dVar4" (binary_expression "pixels[1].green * dVar2 + pixels[3].green * dVar1" (binary_expression "pixels[1].green * dVar2" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[3].green * dVar1" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].green * dVar4" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (expression_statement "pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12;" (assignment_expression "pixel->blue = (pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "(pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4) *\n                      dVar12" (parenthesized_expression "(pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4)" ( (binary_expression "pixels[1].blue * dVar2 + pixels[3].blue * dVar1 + pixels[0].blue * dVar4" (binary_expression "pixels[1].blue * dVar2 + pixels[3].blue * dVar1" (binary_expression "pixels[1].blue * dVar2" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[3].blue * dVar1" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].blue * dVar4" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n          pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;\n        }" { (expression_statement "pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12;" (assignment_expression "pixel->black = (pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "(pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1) * dVar12" (parenthesized_expression "(pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1)" ( (binary_expression "pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4 + pixels[3].black * dVar1" (binary_expression "pixels[1].black * dVar2 +\n                         pixels[0].black * dVar4" (binary_expression "pixels[1].black * dVar2" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].black * dVar4" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[3].black * dVar1" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1);" (assignment_expression "pixel->alpha = (dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1)" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "(dVar4 + dVar1 + dVar2) *\n                       (pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1)" (parenthesized_expression "(dVar4 + dVar1 + dVar2)" ( (binary_expression "dVar4 + dVar1 + dVar2" (binary_expression "dVar4 + dVar1" identifier + identifier) + identifier) )) * (parenthesized_expression "(pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1)" ( (binary_expression "pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4 + local_66c * dVar1" (binary_expression "pixels[1].alpha * dVar2 + pixels[0].alpha * dVar4" (binary_expression "pixels[1].alpha * dVar2" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].alpha * dVar4" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "local_66c * dVar1" identifier * identifier)) )))) ;) }) (else_clause "else {\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }" else (compound_statement "{\n        dVar1 = 1.0 - dVar1;\n        dVar4 = dVar4 - dVar1;\n        dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;\n        dVar2 = DAT_002df8d8;\n        dVar13 = dVar12;\n        if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }\n        if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }\n        pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;\n        pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;\n        pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;\n        if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }\n        MVar27 = MagickTrue;\n        pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);\n      }" { (expression_statement "dVar1 = 1.0 - dVar1;" (assignment_expression "dVar1 = 1.0 - dVar1" identifier = (binary_expression "1.0 - dVar1" number_literal - identifier)) ;) (expression_statement "dVar4 = dVar4 - dVar1;" (assignment_expression "dVar4 = dVar4 - dVar1" identifier = (binary_expression "dVar4 - dVar1" identifier - identifier)) ;) (expression_statement "dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39;" (assignment_expression "dVar12 = alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39" identifier = (binary_expression "alpha[2] * dVar4 + alpha[0] * dVar1 + alpha[3] * dVar39" (binary_expression "alpha[2] * dVar4 + alpha[0] * dVar1" (binary_expression "alpha[2] * dVar4" (subscript_expression "alpha[2]" identifier [ number_literal ]) * identifier) + (binary_expression "alpha[0] * dVar1" (subscript_expression "alpha[0]" identifier [ number_literal ]) * identifier)) + (binary_expression "alpha[3] * dVar39" (subscript_expression "alpha[3]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar2 = DAT_002df8d8;" (assignment_expression "dVar2 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar13 = dVar12;" (assignment_expression "dVar13 = dVar12" identifier = identifier) ;) (if_statement "if (dVar12 < 0.0) {\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }" if (parenthesized_expression "(dVar12 < 0.0)" ( (binary_expression "dVar12 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar2 = DAT_002df8e0;\n          dVar13 = -dVar12;\n        }" { (expression_statement "dVar2 = DAT_002df8e0;" (assignment_expression "dVar2 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar13 = -dVar12;" (assignment_expression "dVar13 = -dVar12" identifier = (unary_expression "-dVar12" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar13) {\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }" if (parenthesized_expression "(DAT_002df2d0 <= dVar13)" ( (binary_expression "DAT_002df2d0 <= dVar13" identifier <= identifier) )) (compound_statement "{\n          dVar2 = (double)DAT_002df8b4 / dVar12;\n        }" { (expression_statement "dVar2 = (double)DAT_002df8b4 / dVar12;" (assignment_expression "dVar2 = (double)DAT_002df8b4 / dVar12" identifier = (binary_expression "(double)DAT_002df8b4 / dVar12" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2;" (assignment_expression "pixel->red = (pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "(pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39) * dVar2" (parenthesized_expression "(pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39)" ( (binary_expression "pixels[2].red * dVar4 + local_5ec * dVar1 + pixels[3].red * dVar39" (binary_expression "pixels[2].red * dVar4 + local_5ec * dVar1" (binary_expression "pixels[2].red * dVar4" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "local_5ec * dVar1" identifier * identifier)) + (binary_expression "pixels[3].red * dVar39" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (expression_statement "pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2;" (assignment_expression "pixel->green = (pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "(pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       ) * dVar2" (parenthesized_expression "(pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39\n                       )" ( (binary_expression "pixels[2].green * dVar4 + pixels[0].green * dVar1 + pixels[3].green * dVar39" (binary_expression "pixels[2].green * dVar4 + pixels[0].green * dVar1" (binary_expression "pixels[2].green * dVar4" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].green * dVar1" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[3].green * dVar39" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (expression_statement "pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2;" (assignment_expression "pixel->blue = (pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "(pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39) *\n                      dVar2" (parenthesized_expression "(pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39)" ( (binary_expression "pixels[2].blue * dVar4 + pixels[0].blue * dVar1 + pixels[3].blue * dVar39" (binary_expression "pixels[2].blue * dVar4 + pixels[0].blue * dVar1" (binary_expression "pixels[2].blue * dVar4" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].blue * dVar1" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[3].blue * dVar39" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n          pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;\n        }" { (expression_statement "pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2;" (assignment_expression "pixel->black = (pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "(pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39) * dVar2" (parenthesized_expression "(pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39)" ( (binary_expression "pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1 + pixels[3].black * dVar39" (binary_expression "pixels[2].black * dVar4 +\n                         pixels[0].black * dVar1" (binary_expression "pixels[2].black * dVar4" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].black * dVar1" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[3].black * dVar39" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39);" (assignment_expression "pixel->alpha = (dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39)" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "(dVar4 + dVar39 + dVar1) *\n                       (pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39)" (parenthesized_expression "(dVar4 + dVar39 + dVar1)" ( (binary_expression "dVar4 + dVar39 + dVar1" (binary_expression "dVar4 + dVar39" identifier + identifier) + identifier) )) * (parenthesized_expression "(pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39)" ( (binary_expression "pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1 + local_66c * dVar39" (binary_expression "pixels[2].alpha * dVar4 + pixels[0].alpha * dVar1" (binary_expression "pixels[2].alpha * dVar4" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0].alpha * dVar1" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "local_66c * dVar39" identifier * identifier)) )))) ;) }))))) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case NearestInterpolatePixel:\n    iVar28 = -0x7ffffdff;\n    if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }\n    pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);\n    if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }\n    break;" case identifier : (expression_statement "iVar28 = -0x7ffffdff;" (assignment_expression "iVar28 = -0x7ffffdff" identifier = number_literal) ;) (if_statement "if ((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)) {\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }" if (parenthesized_expression "((DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= x) && (iVar28 = 0x7ffffdff, x <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= x)" ( (binary_expression "DAT_002f2490 <= x" identifier <= identifier) )) && (parenthesized_expression "(iVar28 = 0x7ffffdff, x <= DAT_002f2498)" ( (comma_expression "iVar28 = 0x7ffffdff, x <= DAT_002f2498" (assignment_expression "iVar28 = 0x7ffffdff" identifier = number_literal) , (binary_expression "x <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n      dVar39 = floor(x + (double)DAT_002df2b8);\n      iVar28 = (int)ROUND(dVar39);\n    }" { (expression_statement "dVar39 = floor(x + (double)DAT_002df2b8);" (assignment_expression "dVar39 = floor(x + (double)DAT_002df2b8)" identifier = (call_expression "floor(x + (double)DAT_002df2b8)" identifier (argument_list "(x + (double)DAT_002df2b8)" ( (binary_expression "x + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar28 = (int)ROUND(dVar39);" (assignment_expression "iVar28 = (int)ROUND(dVar39)" identifier = (cast_expression "(int)ROUND(dVar39)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar39)" identifier (argument_list "(dVar39)" ( identifier ))))) ;) })) (expression_statement "iVar25 = -0x7ffffdff;" (assignment_expression "iVar25 = -0x7ffffdff" identifier = number_literal) ;) (if_statement "if ((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)) {\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }" if (parenthesized_expression "((DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= y) && (iVar25 = 0x7ffffdff, y <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= y)" ( (binary_expression "DAT_002f2490 <= y" identifier <= identifier) )) && (parenthesized_expression "(iVar25 = 0x7ffffdff, y <= DAT_002f2498)" ( (comma_expression "iVar25 = 0x7ffffdff, y <= DAT_002f2498" (assignment_expression "iVar25 = 0x7ffffdff" identifier = number_literal) , (binary_expression "y <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n      dVar39 = floor(y + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar39);\n    }" { (expression_statement "dVar39 = floor(y + (double)DAT_002df2b8);" (assignment_expression "dVar39 = floor(y + (double)DAT_002df2b8)" identifier = (call_expression "floor(y + (double)DAT_002df2b8)" identifier (argument_list "(y + (double)DAT_002df2b8)" ( (binary_expression "y + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar25 = (int)ROUND(dVar39);" (assignment_expression "iVar25 = (int)ROUND(dVar39)" identifier = (cast_expression "(int)ROUND(dVar39)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar39)" identifier (argument_list "(dVar39)" ( identifier ))))) ;) })) (expression_statement "pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception)" identifier = (call_expression "GetCacheViewVirtualPixels(image_view,iVar28,iVar25,1,1,exception)" identifier (argument_list "(image_view,iVar28,iVar25,1,1,exception)" ( identifier , identifier , identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ResetMagickMemory(pixel,0,0x50);\n      pixel->alpha = (double)DAT_002df8a8;\n      goto LAB_0013517c;\n    }" { (expression_statement "ResetMagickMemory(pixel,0,0x50);" (call_expression "ResetMagickMemory(pixel,0,0x50)" identifier (argument_list "(pixel,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pixel->alpha = (double)DAT_002df8a8;" (assignment_expression "pixel->alpha = (double)DAT_002df8a8" (field_expression "pixel->alpha" identifier -> field_identifier) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0013517c;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case SplineInterpolatePixel:\n    pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);\n    dVar39 = _DAT_002df2e0;\n    if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }" case identifier : (expression_statement "pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception);" (assignment_expression "pQVar26 = GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception)" identifier = (call_expression "GetCacheViewVirtualPixels\n                        (image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception)" identifier (argument_list "(image_view,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,exception)" ( identifier , (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal) , (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar39 = _DAT_002df2e0;" (assignment_expression "dVar39 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (pQVar26 != (Quantum *)0x0) {\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(pQVar26 != (Quantum *)0x0)" ( (binary_expression "pQVar26 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar17 = image->number_channels;\n      PVar8 = image->alpha_trait;\n      pPVar7 = image->channel_map;\n      CVar10 = image->colorspace;\n      PVar9 = pPVar7[4].traits;\n      iVar28 = pPVar7[2].offset;\n      pMVar30 = &pixels[0].red;\n      iVar25 = pPVar7->offset;\n      iVar11 = pPVar7[1].offset;\n      iVar36 = 0;\n      do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);\n      dVar39 = x - (double)local_66c._0_4_;\n      dVar1 = 1.0 - dVar39;\n      dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;\n      dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;\n      dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);\n      dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);\n      dVar2 = y - (double)local_664._0_4_;\n      dVar1 = 1.0 - dVar2;\n      dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;\n      dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;\n      dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);\n      dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);\n      pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;\n      pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;\n      pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;\n      if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }\n      MVar27 = MagickTrue;\n      pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;\n      goto LAB_00134728;\n    }" { (expression_statement "sVar17 = image->number_channels;" (assignment_expression "sVar17 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "PVar8 = image->alpha_trait;" (assignment_expression "PVar8 = image->alpha_trait" identifier = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "pPVar7 = image->channel_map;" (assignment_expression "pPVar7 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "CVar10 = image->colorspace;" (assignment_expression "CVar10 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "PVar9 = pPVar7[4].traits;" (assignment_expression "PVar9 = pPVar7[4].traits" identifier = (field_expression "pPVar7[4].traits" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar28 = pPVar7[2].offset;" (assignment_expression "iVar28 = pPVar7[2].offset" identifier = (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pMVar30 = &pixels[0].red;" (assignment_expression "pMVar30 = &pixels[0].red" identifier = (pointer_expression "&pixels[0].red" & (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iVar25 = pPVar7->offset;" (assignment_expression "iVar25 = pPVar7->offset" identifier = (field_expression "pPVar7->offset" identifier -> field_identifier)) ;) (expression_statement "iVar11 = pPVar7[1].offset;" (assignment_expression "iVar11 = pPVar7[1].offset" identifier = (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      } while (iVar36 != 0x10);" do (compound_statement "{\n        dVar1 = pQVar26[iVar25];\n        if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar36 = iVar36 + 1;\n        pMVar30[4] = dVar1;\n        pQVar26 = pQVar26 + sVar17;\n        pMVar30 = pMVar30 + 10;\n      }" { (expression_statement "dVar1 = pQVar26[iVar25];" (assignment_expression "dVar1 = pQVar26[iVar25]" identifier = (subscript_expression "pQVar26[iVar25]" identifier [ identifier ])) ;) (if_statement "if (PVar8 == UndefinedPixelTrait) {\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }\n        else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(PVar8 == UndefinedPixelTrait)" ( (binary_expression "PVar8 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n          alpha[iVar36] = 1.0;\n          *pMVar30 = dVar1;\n          pMVar30[1] = pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28];\n          pMVar30[3] = 0.0;\n          if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }\nLAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;\nLAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];\n        }" { (expression_statement "alpha[iVar36] = 1.0;" (assignment_expression "alpha[iVar36] = 1.0" (subscript_expression "alpha[iVar36]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*pMVar30 = dVar1;" (assignment_expression "*pMVar30 = dVar1" (pointer_expression "*pMVar30" * identifier) = identifier) ;) (expression_statement "pMVar30[1] = pQVar26[iVar11];" (assignment_expression "pMVar30[1] = pQVar26[iVar11]" (subscript_expression "pMVar30[1]" identifier [ number_literal ]) = (subscript_expression "pQVar26[iVar11]" identifier [ identifier ])) ;) (expression_statement "pMVar30[2] = pQVar26[iVar28];" (assignment_expression "pMVar30[2] = pQVar26[iVar28]" (subscript_expression "pMVar30[2]" identifier [ number_literal ]) = (subscript_expression "pQVar26[iVar28]" identifier [ identifier ])) ;) (expression_statement "pMVar30[3] = 0.0;" (assignment_expression "pMVar30[3] = 0.0" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }\n            pMVar30[3] = dVar1;\n          }" { (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" else (compound_statement "{\n              dVar1 = pQVar26[pPVar7[3].offset];\n            }" { (expression_statement "dVar1 = pQVar26[pPVar7[3].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pMVar30[3] = dVar1;" (assignment_expression "pMVar30[3] = dVar1" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_0013429a:\n          if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;" statement_identifier : (if_statement "if (PVar9 == UndefinedPixelTrait) goto LAB_00134330;" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (goto_statement "goto LAB_00134330;" goto statement_identifier ;))) (labeled_statement "LAB_001342a2:\n          dVar1 = pQVar26[pPVar7[4].offset];" statement_identifier : (expression_statement "dVar1 = pQVar26[pPVar7[4].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[4].offset]" identifier = (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ])) ;)) }) (else_clause "else {\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }\n          alpha[iVar36] = dVar12;\n          *pMVar30 = dVar1;\n          pMVar30[1] = dVar12 * pQVar26[iVar11];\n          pMVar30[2] = pQVar26[iVar28] * dVar12;\n          pMVar30[3] = 0.0;\n          if (CVar10 != CMYKColorspace) goto LAB_0013429a;\n          if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }\n          pMVar30[3] = dVar1 * dVar12;\n          if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;\nLAB_00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" { (if_statement "if (PVar9 == UndefinedPixelTrait) {\n            dVar12 = 1.0;\n          }\n          else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" if (parenthesized_expression "(PVar9 == UndefinedPixelTrait)" ( (binary_expression "PVar9 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n            dVar12 = 1.0;\n          }" { (expression_statement "dVar12 = 1.0;" (assignment_expression "dVar12 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" else (compound_statement "{\n            dVar12 = pQVar26[pPVar7[4].offset] * dVar39;\n            dVar1 = dVar1 * dVar12;\n          }" { (expression_statement "dVar12 = pQVar26[pPVar7[4].offset] * dVar39;" (assignment_expression "dVar12 = pQVar26[pPVar7[4].offset] * dVar39" identifier = (binary_expression "pQVar26[pPVar7[4].offset] * dVar39" (subscript_expression "pQVar26[pPVar7[4].offset]" identifier [ (field_expression "pPVar7[4].offset" (subscript_expression "pPVar7[4]" identifier [ number_literal ]) . field_identifier) ]) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar12;" (assignment_expression "dVar1 = dVar1 * dVar12" identifier = (binary_expression "dVar1 * dVar12" identifier * identifier)) ;) }))) (expression_statement "alpha[iVar36] = dVar12;" (assignment_expression "alpha[iVar36] = dVar12" (subscript_expression "alpha[iVar36]" identifier [ identifier ]) = identifier) ;) (expression_statement "*pMVar30 = dVar1;" (assignment_expression "*pMVar30 = dVar1" (pointer_expression "*pMVar30" * identifier) = identifier) ;) (expression_statement "pMVar30[1] = dVar12 * pQVar26[iVar11];" (assignment_expression "pMVar30[1] = dVar12 * pQVar26[iVar11]" (subscript_expression "pMVar30[1]" identifier [ number_literal ]) = (binary_expression "dVar12 * pQVar26[iVar11]" identifier * (subscript_expression "pQVar26[iVar11]" identifier [ identifier ]))) ;) (expression_statement "pMVar30[2] = pQVar26[iVar28] * dVar12;" (assignment_expression "pMVar30[2] = pQVar26[iVar28] * dVar12" (subscript_expression "pMVar30[2]" identifier [ number_literal ]) = (binary_expression "pQVar26[iVar28] * dVar12" (subscript_expression "pQVar26[iVar28]" identifier [ identifier ]) * identifier)) ;) (expression_statement "pMVar30[3] = 0.0;" (assignment_expression "pMVar30[3] = 0.0" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (CVar10 != CMYKColorspace) goto LAB_0013429a;" if (parenthesized_expression "(CVar10 != CMYKColorspace)" ( (binary_expression "CVar10 != CMYKColorspace" identifier != identifier) )) (goto_statement "goto LAB_0013429a;" goto statement_identifier ;)) (if_statement "if (pPVar7[3].traits == UndefinedPixelTrait) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }" if (parenthesized_expression "(pPVar7[3].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar7[3].traits == UndefinedPixelTrait" (field_expression "pPVar7[3].traits" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\n            dVar1 = 0.0;\n          }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }" else (compound_statement "{\n            dVar1 = pQVar26[pPVar7[3].offset];\n          }" { (expression_statement "dVar1 = pQVar26[pPVar7[3].offset];" (assignment_expression "dVar1 = pQVar26[pPVar7[3].offset]" identifier = (subscript_expression "pQVar26[pPVar7[3].offset]" identifier [ (field_expression "pPVar7[3].offset" (subscript_expression "pPVar7[3]" identifier [ number_literal ]) . field_identifier) ])) ;) }))) (expression_statement "pMVar30[3] = dVar1 * dVar12;" (assignment_expression "pMVar30[3] = dVar1 * dVar12" (subscript_expression "pMVar30[3]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar12" identifier * identifier)) ;) (if_statement "if (PVar9 != UndefinedPixelTrait) goto LAB_001342a2;" if (parenthesized_expression "(PVar9 != UndefinedPixelTrait)" ( (binary_expression "PVar9 != UndefinedPixelTrait" identifier != identifier) )) (goto_statement "goto LAB_001342a2;" goto statement_identifier ;)) (labeled_statement "LAB_00134330:\n          dVar1 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "pMVar30[4] = dVar1;" (assignment_expression "pMVar30[4] = dVar1" (subscript_expression "pMVar30[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pQVar26 = pQVar26 + sVar17;" (assignment_expression "pQVar26 = pQVar26 + sVar17" identifier = (binary_expression "pQVar26 + sVar17" identifier + identifier)) ;) (expression_statement "pMVar30 = pMVar30 + 10;" (assignment_expression "pMVar30 = pMVar30 + 10" identifier = (binary_expression "pMVar30 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar36 != 0x10)" ( (binary_expression "iVar36 != 0x10" identifier != number_literal) )) ;) (expression_statement "dVar39 = x - (double)local_66c._0_4_;" (assignment_expression "dVar39 = x - (double)local_66c._0_4_" identifier = (binary_expression "x - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar1 = 1.0 - dVar39;" (assignment_expression "dVar1 = 1.0 - dVar39" identifier = (binary_expression "1.0 - dVar39" number_literal - identifier)) ;) (expression_statement "dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39;" (assignment_expression "dVar12 = dVar39 * DAT_002f5568 * dVar39 * dVar39" identifier = (binary_expression "dVar39 * DAT_002f5568 * dVar39 * dVar39" (binary_expression "dVar39 * DAT_002f5568 * dVar39" (binary_expression "dVar39 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1;" (assignment_expression "dVar4 = dVar1 * DAT_002f5568 * dVar1 * dVar1" identifier = (binary_expression "dVar1 * DAT_002f5568 * dVar1 * dVar1" (binary_expression "dVar1 * DAT_002f5568 * dVar1" (binary_expression "dVar1 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4);" (assignment_expression "dVar16 = (dVar1 - dVar4) + (dVar12 - dVar4)" identifier = (binary_expression "(dVar1 - dVar4) + (dVar12 - dVar4)" (parenthesized_expression "(dVar1 - dVar4)" ( (binary_expression "dVar1 - dVar4" identifier - identifier) )) + (parenthesized_expression "(dVar12 - dVar4)" ( (binary_expression "dVar12 - dVar4" identifier - identifier) )))) ;) (expression_statement "dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4);" (assignment_expression "dVar39 = (dVar39 - dVar12) - (dVar12 - dVar4)" identifier = (binary_expression "(dVar39 - dVar12) - (dVar12 - dVar4)" (parenthesized_expression "(dVar39 - dVar12)" ( (binary_expression "dVar39 - dVar12" identifier - identifier) )) - (parenthesized_expression "(dVar12 - dVar4)" ( (binary_expression "dVar12 - dVar4" identifier - identifier) )))) ;) (expression_statement "dVar2 = y - (double)local_664._0_4_;" (assignment_expression "dVar2 = y - (double)local_664._0_4_" identifier = (binary_expression "y - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar1 = 1.0 - dVar2;" (assignment_expression "dVar1 = 1.0 - dVar2" identifier = (binary_expression "1.0 - dVar2" number_literal - identifier)) ;) (expression_statement "dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2;" (assignment_expression "dVar13 = dVar2 * DAT_002f5568 * dVar2 * dVar2" identifier = (binary_expression "dVar2 * DAT_002f5568 * dVar2 * dVar2" (binary_expression "dVar2 * DAT_002f5568 * dVar2" (binary_expression "dVar2 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1;" (assignment_expression "dVar15 = DAT_002f5568 * dVar1 * dVar1 * dVar1" identifier = (binary_expression "DAT_002f5568 * dVar1 * dVar1 * dVar1" (binary_expression "DAT_002f5568 * dVar1 * dVar1" (binary_expression "DAT_002f5568 * dVar1" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15);" (assignment_expression "dVar1 = (dVar1 - dVar15) + (dVar13 - dVar15)" identifier = (binary_expression "(dVar1 - dVar15) + (dVar13 - dVar15)" (parenthesized_expression "(dVar1 - dVar15)" ( (binary_expression "dVar1 - dVar15" identifier - identifier) )) + (parenthesized_expression "(dVar13 - dVar15)" ( (binary_expression "dVar13 - dVar15" identifier - identifier) )))) ;) (expression_statement "dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15);" (assignment_expression "dVar2 = (dVar2 - dVar13) - (dVar13 - dVar15)" identifier = (binary_expression "(dVar2 - dVar13) - (dVar13 - dVar15)" (parenthesized_expression "(dVar2 - dVar13)" ( (binary_expression "dVar2 - dVar13" identifier - identifier) )) - (parenthesized_expression "(dVar13 - dVar15)" ( (binary_expression "dVar13 - dVar15" identifier - identifier) )))) ;) (expression_statement "pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15;" (assignment_expression "pixel->red = (pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15" (field_expression "pixel->red" identifier -> field_identifier) = (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1 + (pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15" (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2 +\n                            (pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1" (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13 + (pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2" (binary_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4) *\n                   dVar13" (parenthesized_expression "(pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4)" ( (binary_expression "pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16 + pixels[0xc].red * dVar4" (binary_expression "pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39 + pixels[0xd].red * dVar16" (binary_expression "pixels[0xf].red * dVar12 +\n                   pixels[0xe].red * dVar39" (binary_expression "pixels[0xf].red * dVar12" (field_expression "pixels[0xf].red" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].red * dVar39" (field_expression "pixels[0xe].red" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].red * dVar16" (field_expression "pixels[0xd].red" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].red * dVar4" (field_expression "pixels[0xc].red" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            ) * dVar2" (parenthesized_expression "(pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4\n                            )" ( (binary_expression "pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16 + pixels[8].red * dVar4" (binary_expression "pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39 + pixels[9].red * dVar16" (binary_expression "pixels[0xb].red * dVar12 +\n                            pixels[10].red * dVar39" (binary_expression "pixels[0xb].red * dVar12" (field_expression "pixels[0xb].red" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].red * dVar39" (field_expression "pixels[10].red" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].red * dVar16" (field_expression "pixels[9].red" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].red * dVar4" (field_expression "pixels[8].red" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)\n                            * dVar1" (parenthesized_expression "(pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4)" ( (binary_expression "pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16 + pixels[4].red * dVar4" (binary_expression "pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39 + pixels[5].red * dVar16" (binary_expression "pixels[7].red * dVar12 +\n                            pixels[6].red * dVar39" (binary_expression "pixels[7].red * dVar12" (field_expression "pixels[7].red" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].red * dVar39" (field_expression "pixels[6].red" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].red * dVar16" (field_expression "pixels[5].red" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].red * dVar4" (field_expression "pixels[4].red" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4) * dVar15" (parenthesized_expression "(pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4)" ( (binary_expression "pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16 + pixels[0].red * dVar4" (binary_expression "pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39 +\n                                      pixels[1].red * dVar16" (binary_expression "pixels[3].red * dVar12 +\n                                      pixels[2].red * dVar39" (binary_expression "pixels[3].red * dVar12" (field_expression "pixels[3].red" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].red * dVar39" (field_expression "pixels[2].red" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].red * dVar16" (field_expression "pixels[1].red" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].red * dVar4" (field_expression "pixels[0].red" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (expression_statement "pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15;" (assignment_expression "pixel->green = (pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15" (field_expression "pixel->green" identifier -> field_identifier) = (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1 +\n                               (pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15" (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2 + (pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1" (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13 +\n                     (pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2" (binary_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4) * dVar13" (parenthesized_expression "(pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4)" ( (binary_expression "pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16 + pixels[0xc].green * dVar4" (binary_expression "pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39 +\n                     pixels[0xd].green * dVar16" (binary_expression "pixels[0xf].green * dVar12 +\n                     pixels[0xe].green * dVar39" (binary_expression "pixels[0xf].green * dVar12" (field_expression "pixels[0xf].green" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].green * dVar39" (field_expression "pixels[0xe].green" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].green * dVar16" (field_expression "pixels[0xd].green" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].green * dVar4" (field_expression "pixels[0xc].green" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)\n                     * dVar2" (parenthesized_expression "(pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4)" ( (binary_expression "pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16 + pixels[8].green * dVar4" (binary_expression "pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39 + pixels[9].green * dVar16" (binary_expression "pixels[0xb].green * dVar12 +\n                     pixels[10].green * dVar39" (binary_expression "pixels[0xb].green * dVar12" (field_expression "pixels[0xb].green" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].green * dVar39" (field_expression "pixels[10].green" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].green * dVar16" (field_expression "pixels[9].green" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].green * dVar4" (field_expression "pixels[8].green" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4) * dVar1" (parenthesized_expression "(pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4)" ( (binary_expression "pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16 + pixels[4].green * dVar4" (binary_expression "pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39 +\n                               pixels[5].green * dVar16" (binary_expression "pixels[7].green * dVar12 +\n                               pixels[6].green * dVar39" (binary_expression "pixels[7].green * dVar12" (field_expression "pixels[7].green" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].green * dVar39" (field_expression "pixels[6].green" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].green * dVar16" (field_expression "pixels[5].green" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].green * dVar4" (field_expression "pixels[4].green" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4) * dVar15" (parenthesized_expression "(pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4)" ( (binary_expression "pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16 + pixels[0].green * dVar4" (binary_expression "pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39 +\n                               pixels[1].green * dVar16" (binary_expression "pixels[3].green * dVar12 +\n                               pixels[2].green * dVar39" (binary_expression "pixels[3].green * dVar12" (field_expression "pixels[3].green" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].green * dVar39" (field_expression "pixels[2].green" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].green * dVar16" (field_expression "pixels[1].green" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].green * dVar4" (field_expression "pixels[0].green" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (expression_statement "pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15;" (assignment_expression "pixel->blue = (pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15" (field_expression "pixel->blue" identifier -> field_identifier) = (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1 +\n                            (pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15" (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2 + (pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1" (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13 +\n                    (pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2" (binary_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    ) * dVar13" (parenthesized_expression "(pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4\n                    )" ( (binary_expression "pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16 + pixels[0xc].blue * dVar4" (binary_expression "pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39 + pixels[0xd].blue * dVar16" (binary_expression "pixels[0xf].blue * dVar12 +\n                    pixels[0xe].blue * dVar39" (binary_expression "pixels[0xf].blue * dVar12" (field_expression "pixels[0xf].blue" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].blue * dVar39" (field_expression "pixels[0xe].blue" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].blue * dVar16" (field_expression "pixels[0xd].blue" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].blue * dVar4" (field_expression "pixels[0xc].blue" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4) *\n                    dVar2" (parenthesized_expression "(pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4)" ( (binary_expression "pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16 + pixels[8].blue * dVar4" (binary_expression "pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39 + pixels[9].blue * dVar16" (binary_expression "pixels[0xb].blue * dVar12 +\n                    pixels[10].blue * dVar39" (binary_expression "pixels[0xb].blue * dVar12" (field_expression "pixels[0xb].blue" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].blue * dVar39" (field_expression "pixels[10].blue" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].blue * dVar16" (field_expression "pixels[9].blue" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].blue * dVar4" (field_expression "pixels[8].blue" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4) * dVar1" (parenthesized_expression "(pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4)" ( (binary_expression "pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16 + pixels[4].blue * dVar4" (binary_expression "pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39 +\n                            pixels[5].blue * dVar16" (binary_expression "pixels[7].blue * dVar12 +\n                            pixels[6].blue * dVar39" (binary_expression "pixels[7].blue * dVar12" (field_expression "pixels[7].blue" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].blue * dVar39" (field_expression "pixels[6].blue" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].blue * dVar16" (field_expression "pixels[5].blue" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].blue * dVar4" (field_expression "pixels[4].blue" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4) * dVar15" (parenthesized_expression "(pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4)" ( (binary_expression "pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16 + pixels[0].blue * dVar4" (binary_expression "pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39 +\n                            pixels[1].blue * dVar16" (binary_expression "pixels[3].blue * dVar12 +\n                            pixels[2].blue * dVar39" (binary_expression "pixels[3].blue * dVar12" (field_expression "pixels[3].blue" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].blue * dVar39" (field_expression "pixels[2].blue" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].blue * dVar16" (field_expression "pixels[1].blue" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].blue * dVar4" (field_expression "pixels[0].blue" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (if_statement "if (CVar10 == CMYKColorspace) {\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }" if (parenthesized_expression "(CVar10 == CMYKColorspace)" ( (binary_expression "CVar10 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n        pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;\n      }" { (expression_statement "pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15;" (assignment_expression "pixel->black = (pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15" (field_expression "pixel->black" identifier -> field_identifier) = (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1 +\n                       (pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15" (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2 +\n                       (pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1" (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13 +\n                       (pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2" (binary_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4) * dVar13" (parenthesized_expression "(pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4)" ( (binary_expression "pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16 + pixels[0xc].black * dVar4" (binary_expression "pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39 +\n                       pixels[0xd].black * dVar16" (binary_expression "pixels[0xf].black * dVar12 +\n                       pixels[0xe].black * dVar39" (binary_expression "pixels[0xf].black * dVar12" (field_expression "pixels[0xf].black" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[0xe].black * dVar39" (field_expression "pixels[0xe].black" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xd].black * dVar16" (field_expression "pixels[0xd].black" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0xc].black * dVar4" (field_expression "pixels[0xc].black" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier) + (binary_expression "(pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4) * dVar2" (parenthesized_expression "(pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4)" ( (binary_expression "pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16 + pixels[8].black * dVar4" (binary_expression "pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39 +\n                       pixels[9].black * dVar16" (binary_expression "pixels[0xb].black * dVar12 +\n                       pixels[10].black * dVar39" (binary_expression "pixels[0xb].black * dVar12" (field_expression "pixels[0xb].black" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].black * dVar39" (field_expression "pixels[10].black" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].black * dVar16" (field_expression "pixels[9].black" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].black * dVar4" (field_expression "pixels[8].black" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       ) * dVar1" (parenthesized_expression "(pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4\n                       )" ( (binary_expression "pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16 + pixels[4].black * dVar4" (binary_expression "pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39 + pixels[5].black * dVar16" (binary_expression "pixels[7].black * dVar12 +\n                       pixels[6].black * dVar39" (binary_expression "pixels[7].black * dVar12" (field_expression "pixels[7].black" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].black * dVar39" (field_expression "pixels[6].black" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].black * dVar16" (field_expression "pixels[5].black" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].black * dVar4" (field_expression "pixels[4].black" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       ) * dVar15" (parenthesized_expression "(pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4\n                       )" ( (binary_expression "pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16 + pixels[0].black * dVar4" (binary_expression "pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39 + pixels[1].black * dVar16" (binary_expression "pixels[3].black * dVar12 +\n                       pixels[2].black * dVar39" (binary_expression "pixels[3].black * dVar12" (field_expression "pixels[3].black" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].black * dVar39" (field_expression "pixels[2].black" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].black * dVar16" (field_expression "pixels[1].black" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].black * dVar4" (field_expression "pixels[0].black" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) })) (expression_statement "MVar27 = MagickTrue;" (assignment_expression "MVar27 = MagickTrue" identifier = identifier) ;) (expression_statement "pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15;" (assignment_expression "pixel->alpha = (dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15" (field_expression "pixel->alpha" identifier -> field_identifier) = (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1 +\n                               (pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15" (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2 + (pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1" (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13 +\n                     (pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2" (binary_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha) * dVar13" (parenthesized_expression "(dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha)" ( (binary_expression "dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha + dVar4 * pixels[0xc].alpha" (binary_expression "dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha +\n                     dVar16 * pixels[0xd].alpha" (binary_expression "dVar12 * pixels[0xf].alpha +\n                     dVar39 * pixels[0xe].alpha" (binary_expression "dVar12 * pixels[0xf].alpha" identifier * (field_expression "pixels[0xf].alpha" (subscript_expression "pixels[0xf]" identifier [ number_literal ]) . field_identifier)) + (binary_expression "dVar39 * pixels[0xe].alpha" identifier * (field_expression "pixels[0xe].alpha" (subscript_expression "pixels[0xe]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "dVar16 * pixels[0xd].alpha" identifier * (field_expression "pixels[0xd].alpha" (subscript_expression "pixels[0xd]" identifier [ number_literal ]) . field_identifier))) + (binary_expression "dVar4 * pixels[0xc].alpha" identifier * (field_expression "pixels[0xc].alpha" (subscript_expression "pixels[0xc]" identifier [ number_literal ]) . field_identifier))) )) * identifier) + (binary_expression "(pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)\n                     * dVar2" (parenthesized_expression "(pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4)" ( (binary_expression "pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16 + pixels[8].alpha * dVar4" (binary_expression "pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39 + pixels[9].alpha * dVar16" (binary_expression "pixels[0xb].alpha * dVar12 +\n                     pixels[10].alpha * dVar39" (binary_expression "pixels[0xb].alpha * dVar12" (field_expression "pixels[0xb].alpha" (subscript_expression "pixels[0xb]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[10].alpha * dVar39" (field_expression "pixels[10].alpha" (subscript_expression "pixels[10]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[9].alpha * dVar16" (field_expression "pixels[9].alpha" (subscript_expression "pixels[9]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[8].alpha * dVar4" (field_expression "pixels[8].alpha" (subscript_expression "pixels[8]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4) * dVar1" (parenthesized_expression "(pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4)" ( (binary_expression "pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16 + pixels[4].alpha * dVar4" (binary_expression "pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39 +\n                               pixels[5].alpha * dVar16" (binary_expression "pixels[7].alpha * dVar12 +\n                               pixels[6].alpha * dVar39" (binary_expression "pixels[7].alpha * dVar12" (field_expression "pixels[7].alpha" (subscript_expression "pixels[7]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[6].alpha * dVar39" (field_expression "pixels[6].alpha" (subscript_expression "pixels[6]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[5].alpha * dVar16" (field_expression "pixels[5].alpha" (subscript_expression "pixels[5]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[4].alpha * dVar4" (field_expression "pixels[4].alpha" (subscript_expression "pixels[4]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier)) + (binary_expression "(pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4) * dVar15" (parenthesized_expression "(pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4)" ( (binary_expression "pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16 + pixels[0].alpha * dVar4" (binary_expression "pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39 +\n                               pixels[1].alpha * dVar16" (binary_expression "pixels[3].alpha * dVar12 +\n                               pixels[2].alpha * dVar39" (binary_expression "pixels[3].alpha * dVar12" (field_expression "pixels[3].alpha" (subscript_expression "pixels[3]" identifier [ number_literal ]) . field_identifier) * identifier) + (binary_expression "pixels[2].alpha * dVar39" (field_expression "pixels[2].alpha" (subscript_expression "pixels[2]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[1].alpha * dVar16" (field_expression "pixels[1].alpha" (subscript_expression "pixels[1]" identifier [ number_literal ]) . field_identifier) * identifier)) + (binary_expression "pixels[0].alpha * dVar4" (field_expression "pixels[0].alpha" (subscript_expression "pixels[0]" identifier [ number_literal ]) . field_identifier) * identifier)) )) * identifier))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) }))) })) (expression_statement "MVar27 = MagickFalse;" (assignment_expression "MVar27 = MagickFalse" identifier = identifier) ;) (labeled_statement "LAB_00134728:\n  if (iVar5 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar27;\n  }" statement_identifier : (if_statement "if (iVar5 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar27;\n  }" if (parenthesized_expression "(iVar5 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar5 == *(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    return MVar27;\n  }" { (return_statement "return MVar27;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined4\nInterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)\n\n{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_002decd0();\n}\n\n" (function_definition "undefined4\nInterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)\n\n{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_002decd0();\n}" type_identifier (function_declarator "InterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "double param_4" primitive_type identifier) , (parameter_declaration "double param_5" primitive_type identifier) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_002decd0();\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "double dVar7;" primitive_type identifier ;) (declaration "double dVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "float fVar10;" primitive_type identifier ;) (declaration "double dVar11;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar13;" primitive_type identifier ;) (declaration "double *pdVar14;" primitive_type (pointer_declarator "*pdVar14" * identifier) ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (declaration "double *pdVar16;" primitive_type (pointer_declarator "*pdVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "double *pdVar18;" primitive_type (pointer_declarator "*pdVar18" * identifier) ;) (declaration "double *pdVar19;" primitive_type (pointer_declarator "*pdVar19" * identifier) ;) (declaration "double *pdVar20;" primitive_type (pointer_declarator "*pdVar20" * identifier) ;) (declaration "double *pdVar21;" primitive_type (pointer_declarator "*pdVar21" * identifier) ;) (declaration "double *pdVar22;" primitive_type (pointer_declarator "*pdVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "double *pdVar26;" primitive_type (pointer_declarator "*pdVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "double *pdVar28;" primitive_type (pointer_declarator "*pdVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined4 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "undefined4 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "double dVar35;" primitive_type identifier ;) (declaration "double local_66c;" primitive_type identifier ;) (declaration "double local_664;" primitive_type identifier ;) (declaration "double local_65c;" primitive_type identifier ;) (declaration "double local_654;" primitive_type identifier ;) (declaration "double local_64c;" primitive_type identifier ;) (declaration "double local_644;" primitive_type identifier ;) (declaration "int local_63c;" primitive_type identifier ;) (declaration "int local_614;" primitive_type identifier ;) (declaration "int iStack_60c;" primitive_type identifier ;) (declaration "double dStack_5ec;" primitive_type identifier ;) (declaration "double local_5a4 [16];" primitive_type (array_declarator "local_5a4 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_520 [8];" type_identifier (array_declarator "local_520 [8]" identifier [ number_literal ]) ;) (declaration "double local_500;" primitive_type identifier ;) (declaration "double local_4f8;" primitive_type identifier ;) (declaration "double local_4f0;" primitive_type identifier ;) (declaration "double local_4e8;" primitive_type identifier ;) (declaration "double local_4e0;" primitive_type identifier ;) (declaration "undefined4 auStack_4d0 [8];" type_identifier (array_declarator "auStack_4d0 [8]" identifier [ number_literal ]) ;) (declaration "double local_4b0;" primitive_type identifier ;) (declaration "double local_4a8;" primitive_type identifier ;) (declaration "double local_4a0;" primitive_type identifier ;) (declaration "double local_498;" primitive_type identifier ;) (declaration "double local_490;" primitive_type identifier ;) (declaration "undefined4 auStack_480 [8];" type_identifier (array_declarator "auStack_480 [8]" identifier [ number_literal ]) ;) (declaration "double local_460;" primitive_type identifier ;) (declaration "double local_458;" primitive_type identifier ;) (declaration "double local_450;" primitive_type identifier ;) (declaration "double local_448;" primitive_type identifier ;) (declaration "double local_440;" primitive_type identifier ;) (declaration "undefined4 auStack_430 [8];" type_identifier (array_declarator "auStack_430 [8]" identifier [ number_literal ]) ;) (declaration "double local_410;" primitive_type identifier ;) (declaration "double local_408;" primitive_type identifier ;) (declaration "double local_400;" primitive_type identifier ;) (declaration "double local_3f8;" primitive_type identifier ;) (declaration "double local_3f0;" primitive_type identifier ;) (declaration "double dStack_3c0;" primitive_type identifier ;) (declaration "double dStack_3b8;" primitive_type identifier ;) (declaration "double dStack_3b0;" primitive_type identifier ;) (declaration "double dStack_3a8;" primitive_type identifier ;) (declaration "double dStack_3a0;" primitive_type identifier ;) (declaration "double dStack_370;" primitive_type identifier ;) (declaration "double dStack_368;" primitive_type identifier ;) (declaration "double dStack_360;" primitive_type identifier ;) (declaration "double dStack_358;" primitive_type identifier ;) (declaration "double dStack_350;" primitive_type identifier ;) (declaration "double dStack_320;" primitive_type identifier ;) (declaration "double dStack_318;" primitive_type identifier ;) (declaration "double dStack_310;" primitive_type identifier ;) (declaration "double dStack_308;" primitive_type identifier ;) (declaration "double dStack_300;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "double dStack_2c8;" primitive_type identifier ;) (declaration "double dStack_2c0;" primitive_type identifier ;) (declaration "double dStack_2b8;" primitive_type identifier ;) (declaration "double dStack_2b0;" primitive_type identifier ;) (declaration "double dStack_280;" primitive_type identifier ;) (declaration "double dStack_278;" primitive_type identifier ;) (declaration "double dStack_270;" primitive_type identifier ;) (declaration "double dStack_268;" primitive_type identifier ;) (declaration "double dStack_260;" primitive_type identifier ;) (declaration "double dStack_230;" primitive_type identifier ;) (declaration "double dStack_228;" primitive_type identifier ;) (declaration "double dStack_220;" primitive_type identifier ;) (declaration "double dStack_218;" primitive_type identifier ;) (declaration "double dStack_210;" primitive_type identifier ;) (declaration "double dStack_1e0;" primitive_type identifier ;) (declaration "double dStack_1d8;" primitive_type identifier ;) (declaration "double dStack_1d0;" primitive_type identifier ;) (declaration "double dStack_1c8;" primitive_type identifier ;) (declaration "double dStack_1c0;" primitive_type identifier ;) (declaration "double dStack_190;" primitive_type identifier ;) (declaration "double dStack_188;" primitive_type identifier ;) (declaration "double dStack_180;" primitive_type identifier ;) (declaration "double dStack_178;" primitive_type identifier ;) (declaration "double dStack_170;" primitive_type identifier ;) (declaration "double dStack_140;" primitive_type identifier ;) (declaration "double dStack_138;" primitive_type identifier ;) (declaration "double dStack_130;" primitive_type identifier ;) (declaration "double dStack_128;" primitive_type identifier ;) (declaration "double dStack_120;" primitive_type identifier ;) (declaration "double dStack_f0;" primitive_type identifier ;) (declaration "double dStack_e8;" primitive_type identifier ;) (declaration "double dStack_e0;" primitive_type identifier ;) (declaration "double dStack_d8;" primitive_type identifier ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "double dStack_a0;" primitive_type identifier ;) (declaration "double dStack_98;" primitive_type identifier ;) (declaration "double dStack_90;" primitive_type identifier ;) (declaration "double dStack_88;" primitive_type identifier ;) (declaration "double dStack_80;" primitive_type identifier ;) (declaration "double dStack_50;" primitive_type identifier ;) (declaration "double dStack_48;" primitive_type identifier ;) (declaration "double dStack_40;" primitive_type identifier ;) (declaration "double dStack_38;" primitive_type identifier ;) (declaration "double dStack_30;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x133fb9;" (assignment_expression "uStack_14 = 0x133fb9" identifier = number_literal) ;) (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) ))))) ;) (if_statement "if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" if (parenthesized_expression "(param_1 == (undefined4 *)0x0)" ( (binary_expression "param_1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" { (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" identifier (argument_list "("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" if (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" ( (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" { (expression_statement "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" identifier (argument_list "("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" ( (string_literal ""image_view != (CacheView *) NULL"" " string_content ") , (string_literal ""MagickCore/pixel.c"" " string_content ") , number_literal , (string_literal ""InterpolatePixelInfo"" " string_content ") ))) ;) })) (expression_statement "local_66c._0_4_ = -0x7ffffdff;" (assignment_expression "local_66c._0_4_ = -0x7ffffdff" (field_expression "local_66c._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }" if (parenthesized_expression "((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" ( (binary_expression "DAT_002f2490 <= param_4" identifier <= identifier) )) && (parenthesized_expression "(local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)" ( (comma_expression "local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498" (assignment_expression "local_66c._0_4_ = 0x7ffffdff" (field_expression "local_66c._0_4_" identifier . field_identifier) = number_literal) , (binary_expression "param_4 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }" { (expression_statement "dVar35 = floor(param_4);" (assignment_expression "dVar35 = floor(param_4)" identifier = (call_expression "floor(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "local_66c._0_4_ = (int)ROUND(dVar35);" (assignment_expression "local_66c._0_4_ = (int)ROUND(dVar35)" (field_expression "local_66c._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (expression_statement "local_664._0_4_ = -0x7ffffdff;" (assignment_expression "local_664._0_4_ = -0x7ffffdff" (field_expression "local_664._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }" if (parenthesized_expression "((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" ( (binary_expression "DAT_002f2490 <= param_5" identifier <= identifier) )) && (parenthesized_expression "(local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)" ( (comma_expression "local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498" (assignment_expression "local_664._0_4_ = 0x7ffffdff" (field_expression "local_664._0_4_" identifier . field_identifier) = number_literal) , (binary_expression "param_5 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }" { (expression_statement "dVar35 = floor(param_5);" (assignment_expression "dVar35 = floor(param_5)" identifier = (call_expression "floor(param_5)" identifier (argument_list "(param_5)" ( identifier )))) ;) (expression_statement "local_664._0_4_ = (int)ROUND(dVar35);" (assignment_expression "local_664._0_4_ = (int)ROUND(dVar35)" (field_expression "local_664._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (if_statement "if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    param_3 = param_1[0x98];\n  }" { (expression_statement "param_3 = param_1[0x98];" (assignment_expression "param_3 = param_1[0x98]" identifier = (subscript_expression "param_1[0x98]" identifier [ number_literal ])) ;) })) (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" identifier (argument_list "(param_6,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "puVar30 = local_520;" (assignment_expression "puVar30 = local_520" identifier = identifier) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "*(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88)" (pointer_expression "*(undefined8 *)(param_6 + 3)" * (cast_expression "(undefined8 *)(param_6 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 3)" ( (binary_expression "param_6 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "*param_6 = uVar24;" (assignment_expression "*param_6 = uVar24" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "param_6[1] = param_1[1];" (assignment_expression "param_6[1] = param_1[1]" (subscript_expression "param_6[1]" identifier [ number_literal ]) = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "param_6[5] = param_1[8];" (assignment_expression "param_6[5] = param_1[8]" (subscript_expression "param_6[5]" identifier [ number_literal ]) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "param_6[2] = param_1[0xa5];" (assignment_expression "param_6[2] = param_1[0xa5]" (subscript_expression "param_6[2]" identifier [ number_literal ]) = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "puVar31 = puVar30;" (assignment_expression "puVar31 = puVar30" identifier = identifier) ;) (for_statement "for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }" for ( (assignment_expression "iVar25 = 0x140" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }" { (expression_statement "*puVar31 = 0;" (assignment_expression "*puVar31 = 0" (pointer_expression "*puVar31" * identifier) = number_literal) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (switch_statement "switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }" switch (parenthesized_expression "(param_3)" ( identifier )) (compound_statement "{\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }" { (case_statement "default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;" default : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xaa];" (assignment_expression "iVar3 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xa5];" (assignment_expression "iVar4 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = *(int *)(iVar3 + 0x20);" (assignment_expression "iVar27 = *(int *)(iVar3 + 0x20)" identifier = (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(iVar3 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar3 + 0x34)" identifier = (pointer_expression "*(int *)(iVar3 + 0x34)" * (cast_expression "(int *)(iVar3 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = param_1[1];" (assignment_expression "iVar5 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = *(int *)(iVar3 + 8);" (assignment_expression "iVar17 = *(int *)(iVar3 + 8)" identifier = (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar3 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x14)" identifier = (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);" do (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      }" { (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" * (cast_expression "(double *)(iVar25 + iVar17 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar17 * 8)" ( (binary_expression "iVar25 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }" { (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*(double *)(puVar30 + 8) = dVar1;" (assignment_expression "*(double *)(puVar30 + 8) = dVar1" (pointer_expression "*(double *)(puVar30 + 8)" * (cast_expression "(double *)(puVar30 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 8)" ( (binary_expression "puVar30 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);" (assignment_expression "*(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8)" (pointer_expression "*(undefined8 *)(puVar30 + 10)" * (cast_expression "(undefined8 *)(puVar30 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 10)" ( (binary_expression "puVar30 + 10" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar6 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar6 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "*(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(puVar30 + 0xc)" * (cast_expression "(undefined8 *)(puVar30 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xc)" ( (binary_expression "puVar30 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar27 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar27 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27 * 8)" ( (binary_expression "iVar25 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) ))))) ;) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" * (cast_expression "(undefined8 *)(puVar30 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }" { (if_statement "if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              uVar2 = 0;\n            }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" else (compound_statement "{\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" { (expression_statement "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" identifier = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x2c) * 8" (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = uVar2;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = uVar2" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" * (cast_expression "(undefined8 *)(puVar30 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" else (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" { (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" { (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35" identifier = (binary_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x38) * 8" (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) * number_literal)) )))) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" identifier = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = identifier) ;) (expression_statement "*(double *)(puVar30 + 8) = dVar1;" (assignment_expression "*(double *)(puVar30 + 8) = dVar1" (pointer_expression "*(double *)(puVar30 + 8)" * (cast_expression "(double *)(puVar30 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 8)" ( (binary_expression "puVar30 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;" (assignment_expression "*(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(puVar30 + 10)" * (cast_expression "(double *)(puVar30 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 10)" ( (binary_expression "puVar30 + 10" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "*(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;" (assignment_expression "*(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7" (pointer_expression "*(double *)(puVar30 + 0xc)" * (cast_expression "(double *)(puVar30 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xc)" ( (binary_expression "puVar30 + 0xc" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar25 + iVar27 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar27 * 8)" * (cast_expression "(double *)(iVar25 + iVar27 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27 * 8)" ( (binary_expression "iVar25 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" * (cast_expression "(undefined8 *)(puVar30 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }" { (if_statement "if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x2c) * 8" (pointer_expression "*(int *)(iVar3 + 0x2c)" * (cast_expression "(int *)(iVar3 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "*(double *)(puVar30 + 0xe) = dVar1 * dVar7;" (assignment_expression "*(double *)(puVar30 + 0xe) = dVar1 * dVar7" (pointer_expression "*(double *)(puVar30 + 0xe)" * (cast_expression "(double *)(puVar30 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xe)" ( (binary_expression "puVar30 + 0xe" identifier + number_literal) )))) = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) })) }))) (if_statement "if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n          dVar1 = (double)DAT_002df8a8;\n        }" { (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" else (compound_statement "{\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar3 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar3 + 0x38) * 8" (pointer_expression "*(int *)(iVar3 + 0x38)" * (cast_expression "(int *)(iVar3 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "*(double *)(puVar30 + 0x10) = dVar1;" (assignment_expression "*(double *)(puVar30 + 0x10) = dVar1" (pointer_expression "*(double *)(puVar30 + 0x10)" * (cast_expression "(double *)(puVar30 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x10)" ( (binary_expression "puVar30 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" identifier = (binary_expression "iVar25 + iVar23 * 8" identifier + (binary_expression "iVar23 * 8" identifier * number_literal))) ;) (expression_statement "puVar30 = puVar30 + 0x14;" (assignment_expression "puVar30 = puVar30 + 0x14" identifier = (binary_expression "puVar30 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 != 4)" ( (binary_expression "iVar32 != 4" identifier != number_literal) )) ;) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "dVar9 = 1.0 - param_5;" (assignment_expression "dVar9 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;" (assignment_expression "dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" identifier = (binary_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" (binary_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5" (parenthesized_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35)" ( (binary_expression "local_5a4[3] * param_4 + local_5a4[2] * dVar35" (binary_expression "local_5a4[3] * param_4" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[2] * dVar35" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) * identifier)) )) * identifier) + (binary_expression "(local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" (parenthesized_expression "(local_5a4[1] * param_4 + local_5a4[0] * dVar35)" ( (binary_expression "local_5a4[1] * param_4 + local_5a4[0] * dVar35" (binary_expression "local_5a4[1] * param_4" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[0] * dVar35" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier)) )) * identifier))) ;) (expression_statement "dVar7 = DAT_002df8d8;" (assignment_expression "dVar7 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar8 = dVar1;" (assignment_expression "dVar8 = dVar1" identifier = identifier) ;) (if_statement "if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }" { (expression_statement "dVar7 = DAT_002df8e0;" (assignment_expression "dVar7 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar8 = -dVar1;" (assignment_expression "dVar8 = -dVar1" identifier = (unary_expression "-dVar1" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar8)" ( (binary_expression "DAT_002df2d0 <= dVar8" identifier <= identifier) )) (compound_statement "{\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }" { (expression_statement "dVar7 = (double)DAT_002df8b4 / dVar1;" (assignment_expression "dVar7 = (double)DAT_002df8b4 / dVar1" identifier = (binary_expression "(double)DAT_002df8b4 / dVar1" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9)" ( (binary_expression "(local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9" (binary_expression "(local_410 * param_4 + local_460 * dVar35) * param_5" (parenthesized_expression "(local_410 * param_4 + local_460 * dVar35)" ( (binary_expression "local_410 * param_4 + local_460 * dVar35" (binary_expression "local_410 * param_4" identifier * identifier) + (binary_expression "local_460 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_4b0 * param_4 + local_500 * dVar35) * dVar9" (parenthesized_expression "(local_4b0 * param_4 + local_500 * dVar35)" ( (binary_expression "local_4b0 * param_4 + local_500 * dVar35" (binary_expression "local_4b0 * param_4" identifier * identifier) + (binary_expression "local_500 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9)" ( (binary_expression "(local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9" (binary_expression "(local_408 * param_4 + local_458 * dVar35) * param_5" (parenthesized_expression "(local_408 * param_4 + local_458 * dVar35)" ( (binary_expression "local_408 * param_4 + local_458 * dVar35" (binary_expression "local_408 * param_4" identifier * identifier) + (binary_expression "local_458 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_4a8 * param_4 + local_4f8 * dVar35) * dVar9" (parenthesized_expression "(local_4a8 * param_4 + local_4f8 * dVar35)" ( (binary_expression "local_4a8 * param_4 + local_4f8 * dVar35" (binary_expression "local_4a8 * param_4" identifier * identifier) + (binary_expression "local_4f8 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9)" ( (binary_expression "(local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9" (binary_expression "(local_400 * param_4 + local_450 * dVar35) * param_5" (parenthesized_expression "(local_400 * param_4 + local_450 * dVar35)" ( (binary_expression "local_400 * param_4 + local_450 * dVar35" (binary_expression "local_400 * param_4" identifier * identifier) + (binary_expression "local_450 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_4a0 * param_4 + local_4f0 * dVar35) * dVar9" (parenthesized_expression "(local_4a0 * param_4 + local_4f0 * dVar35)" ( (binary_expression "local_4a0 * param_4 + local_4f0 * dVar35" (binary_expression "local_4a0 * param_4" identifier * identifier) + (binary_expression "local_4f0 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) (if_statement "if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }" if (parenthesized_expression "(iVar5 == 2)" ( (binary_expression "iVar5 == 2" identifier == number_literal) )) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }" { (expression_statement "*(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9)" ( (binary_expression "(local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9" (binary_expression "(local_3f8 * param_4 + local_448 * dVar35) * param_5" (parenthesized_expression "(local_3f8 * param_4 + local_448 * dVar35)" ( (binary_expression "local_3f8 * param_4 + local_448 * dVar35" (binary_expression "local_3f8 * param_4" identifier * identifier) + (binary_expression "local_448 * dVar35" identifier * identifier)) )) * identifier) + (binary_expression "(local_498 * param_4 + local_4e8 * dVar35) * dVar9" (parenthesized_expression "(local_498 * param_4 + local_4e8 * dVar35)" ( (binary_expression "local_498 * param_4 + local_4e8 * dVar35" (binary_expression "local_498 * param_4" identifier * identifier) + (binary_expression "local_4e8 * dVar35" identifier * identifier)) )) * identifier)) )) * identifier)) ;) })) (expression_statement "dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);" (assignment_expression "dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35)" identifier = (binary_expression "(param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35)" (binary_expression "(param_4 + dVar35) * param_5" (parenthesized_expression "(param_4 + dVar35)" ( (binary_expression "param_4 + dVar35" identifier + identifier) )) * identifier) + (binary_expression "dVar9 * (param_4 + dVar35)" identifier * (parenthesized_expression "(param_4 + dVar35)" ( (binary_expression "param_4 + dVar35" identifier + identifier) ))))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar7 = dVar8;" (assignment_expression "dVar7 = dVar8" identifier = identifier) ;) (if_statement "if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }" if (parenthesized_expression "(dVar8 < 0.0)" ( (binary_expression "dVar8 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar7 = -dVar8;" (assignment_expression "dVar7 = -dVar8" identifier = (unary_expression "-dVar8" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar7)" ( (binary_expression "DAT_002df2d0 <= dVar7" identifier <= identifier) )) (compound_statement "{\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar8;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar8" identifier = (binary_expression "(double)DAT_002df8b4 / dVar8" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);" (assignment_expression "*(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" identifier * (parenthesized_expression "((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" ( (binary_expression "(param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9" (binary_expression "(param_4 * local_3f0 + dVar35 * local_440) * param_5" (parenthesized_expression "(param_4 * local_3f0 + dVar35 * local_440)" ( (binary_expression "param_4 * local_3f0 + dVar35 * local_440" (binary_expression "param_4 * local_3f0" identifier * identifier) + (binary_expression "dVar35 * local_440" identifier * identifier)) )) * identifier) + (binary_expression "(local_490 * param_4 + local_4e0 * dVar35) * dVar9" (parenthesized_expression "(local_490 * param_4 + local_4e0 * dVar35)" ( (binary_expression "local_490 * param_4 + local_4e0 * dVar35" (binary_expression "local_490 * param_4" identifier * identifier) + (binary_expression "local_4e0 * dVar35" identifier * identifier)) )) * identifier)) )))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (if_statement "if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }" { (expression_statement "dVar35 = _UNK_00300760;" (assignment_expression "dVar35 = _UNK_00300760" identifier = identifier) ;) (if_statement "if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }" if (parenthesized_expression "((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" ( (binary_expression "DAT_002f2490 <= param_4" identifier <= identifier) )) && (parenthesized_expression "(dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)" ( (comma_expression "dVar35 = _UNK_00300768, param_4 <= DAT_002f2498" (assignment_expression "dVar35 = _UNK_00300768" identifier = identifier) , (binary_expression "param_4 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }" { (expression_statement "dVar35 = param_4 + (double)DAT_002df2b8;" (assignment_expression "dVar35 = param_4 + (double)DAT_002df2b8" identifier = (binary_expression "param_4 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);" (assignment_expression "local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (field_expression "local_66c._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" identifier (argument_list "(ROUND(dVar35) - (double)DAT_002df8b4)" ( (binary_expression "ROUND(dVar35) - (double)DAT_002df8b4" (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))) - (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier)) ))))) ;) (expression_statement "dVar35 = _UNK_00300760;" (assignment_expression "dVar35 = _UNK_00300760" identifier = identifier) ;) (if_statement "if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }" if (parenthesized_expression "((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" ( (binary_expression "DAT_002f2490 <= param_5" identifier <= identifier) )) && (parenthesized_expression "(dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)" ( (comma_expression "dVar35 = _UNK_00300768, param_5 <= DAT_002f2498" (assignment_expression "dVar35 = _UNK_00300768" identifier = identifier) , (binary_expression "param_5 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }" { (expression_statement "dVar35 = param_5 + (double)DAT_002df2b8;" (assignment_expression "dVar35 = param_5 + (double)DAT_002df2b8" identifier = (binary_expression "param_5 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier))) ;) })) (expression_statement "local_63c = 9;" (assignment_expression "local_63c = 9" identifier = number_literal) ;) (expression_statement "uVar24 = 3;" (assignment_expression "uVar24 = 3" identifier = number_literal) ;) (expression_statement "local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);" (assignment_expression "local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (field_expression "local_664._0_4_" identifier . field_identifier) = (cast_expression "(int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" identifier (argument_list "(ROUND(dVar35) - (double)DAT_002df8b4)" ( (binary_expression "ROUND(dVar35) - (double)DAT_002df8b4" (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))) - (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier)) ))))) ;) }) (else_clause "else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" else (compound_statement "{\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" { (expression_statement "local_63c = 4;" (assignment_expression "local_63c = 4" identifier = number_literal) ;) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (if_statement "if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" if (parenthesized_expression "(param_3 == 3)" ( (binary_expression "param_3 == 3" identifier == number_literal) )) (compound_statement "{\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" { (expression_statement "local_66c._0_4_ = local_66c._0_4_ + -1;" (assignment_expression "local_66c._0_4_ = local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) = (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "local_63c = 0x10;" (assignment_expression "local_63c = 0x10" identifier = number_literal) ;) (expression_statement "uVar24 = 4;" (assignment_expression "uVar24 = 4" identifier = number_literal) ;) (expression_statement "local_664._0_4_ = local_664._0_4_ + -1;" (assignment_expression "local_664._0_4_ = local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) = (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal)) ;) })) }))) (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , identifier , identifier , identifier )))) ;) (expression_statement "dVar35 = DAT_002df2d0;" (assignment_expression "dVar35 = DAT_002df2d0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xaa];" (assignment_expression "iVar23 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xa6];" (assignment_expression "iVar4 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_65c = *(double *)(param_6 + 0x10);" (assignment_expression "local_65c = *(double *)(param_6 + 0x10)" identifier = (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_64c = *(double *)(param_6 + 0xe);" (assignment_expression "local_64c = *(double *)(param_6 + 0xe)" identifier = (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "dVar1 = *(double *)(param_6 + 0xc);" (assignment_expression "dVar1 = *(double *)(param_6 + 0xc)" identifier = (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(iVar23 + 8);" (assignment_expression "iVar29 = *(int *)(iVar23 + 8)" identifier = (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_654 = *(double *)(param_6 + 10);" (assignment_expression "local_654 = *(double *)(param_6 + 10)" identifier = (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_664 = *(double *)(param_6 + 8);" (assignment_expression "local_664 = *(double *)(param_6 + 8)" identifier = (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar23 + 0x14);" (assignment_expression "iVar5 = *(int *)(iVar23 + 0x14)" identifier = (pointer_expression "*(int *)(iVar23 + 0x14)" * (cast_expression "(int *)(iVar23 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar23 + 0x34);" (assignment_expression "iVar17 = *(int *)(iVar23 + 0x34)" identifier = (pointer_expression "*(int *)(iVar23 + 0x34)" * (cast_expression "(int *)(iVar23 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x34)" ( (binary_expression "iVar23 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar23 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar23 + 0x20)" identifier = (pointer_expression "*(int *)(iVar23 + 0x20)" * (cast_expression "(int *)(iVar23 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x20)" ( (binary_expression "iVar23 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);" do (compound_statement "{\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      }" { (expression_statement "local_500 = *(double *)(iVar25 + iVar29 * 8);" (assignment_expression "local_500 = *(double *)(iVar25 + iVar29 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar29 * 8)" * (cast_expression "(double *)(iVar25 + iVar29 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar29 * 8)" ( (binary_expression "iVar25 + iVar29 * 8" identifier + (binary_expression "iVar29 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }" { (expression_statement "local_4f8 = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar5 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "local_4f0 = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "local_4f0 = *(double *)(iVar25 + iVar6 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }" { (if_statement "if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar23 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar23 + 0x28) == 0" (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_644 = 0.0;\n            }" { (expression_statement "local_644 = 0.0;" (assignment_expression "local_644 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" { (expression_statement "local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e8 = local_644;" (assignment_expression "local_4e8 = local_644" identifier = identifier) ;) })) (if_statement "if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" else (compound_statement "{\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" { (expression_statement "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) (labeled_statement "code_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;" statement_identifier : (expression_statement "dVar8 = (double)DAT_002df8b4 / dVar7;" (assignment_expression "dVar8 = (double)DAT_002df8b4 / dVar7" identifier = (binary_expression "(double)DAT_002df8b4 / dVar7" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;)) (expression_statement "local_4e0 = local_66c;" (assignment_expression "local_4e0 = local_66c" identifier = identifier) ;) }) (else_clause "else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" else (compound_statement "{\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" { (if_statement "if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" { (expression_statement "dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (binary_expression "_DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_500 = local_500 * dVar7;" (assignment_expression "local_500 = local_500 * dVar7" identifier = (binary_expression "local_500 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7" identifier = (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;" (assignment_expression "local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7" identifier = (binary_expression "*(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }" { (if_statement "if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar23 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar23 + 0x28) == 0" (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_4e8 = 0.0;\n            }" { (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" { (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e8 = local_4e8 * dVar7;" (assignment_expression "local_4e8 = local_4e8 * dVar7" identifier = (binary_expression "local_4e8 * dVar7" identifier * identifier)) ;) })) (if_statement "if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" else (compound_statement "{\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" { (expression_statement "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e0 = local_66c;" (assignment_expression "local_4e0 = local_66c" identifier = identifier) ;) (expression_statement "dVar8 = DAT_002df8d8;" (assignment_expression "dVar8 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar9 = dVar7;" (assignment_expression "dVar9 = dVar7" identifier = identifier) ;) (if_statement "if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }" if (parenthesized_expression "(dVar7 < 0.0)" ( (binary_expression "dVar7 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }" { (expression_statement "dVar8 = DAT_002df8e0;" (assignment_expression "dVar8 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar9 = -dVar7;" (assignment_expression "dVar9 = -dVar7" identifier = (unary_expression "-dVar7" - identifier)) ;) })) (if_statement "if (dVar35 <= dVar9) goto code_r0x00134460;" if (parenthesized_expression "(dVar35 <= dVar9)" ( (binary_expression "dVar35 <= dVar9" identifier <= identifier) )) (goto_statement "goto code_r0x00134460;" goto statement_identifier ;)) }))) (expression_statement "iVar25 = iVar25 + iVar4 * 8;" (assignment_expression "iVar25 = iVar25 + iVar4 * 8" identifier = (binary_expression "iVar25 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal))) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "local_664 = local_500 * dVar8 + local_664;" (assignment_expression "local_664 = local_500 * dVar8 + local_664" identifier = (binary_expression "local_500 * dVar8 + local_664" (binary_expression "local_500 * dVar8" identifier * identifier) + identifier)) ;) (expression_statement "*(double *)(param_6 + 8) = local_664;" (assignment_expression "*(double *)(param_6 + 8) = local_664" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_654 = local_654 + local_4f8 * dVar8;" (assignment_expression "local_654 = local_654 + local_4f8 * dVar8" identifier = (binary_expression "local_654 + local_4f8 * dVar8" identifier + (binary_expression "local_4f8 * dVar8" identifier * identifier))) ;) (expression_statement "*(double *)(param_6 + 10) = local_654;" (assignment_expression "*(double *)(param_6 + 10) = local_654" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = identifier) ;) (expression_statement "dVar1 = local_4f0 * dVar8 + dVar1;" (assignment_expression "dVar1 = local_4f0 * dVar8 + dVar1" identifier = (binary_expression "local_4f0 * dVar8 + dVar1" (binary_expression "local_4f0 * dVar8" identifier * identifier) + identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) = dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) = dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_64c = dVar8 * local_4e8 + local_64c;" (assignment_expression "local_64c = dVar8 * local_4e8 + local_64c" identifier = (binary_expression "dVar8 * local_4e8 + local_64c" (binary_expression "dVar8 * local_4e8" identifier * identifier) + identifier)) ;) (expression_statement "*(double *)(param_6 + 0xe) = local_64c;" (assignment_expression "*(double *)(param_6 + 0xe) = local_64c" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_65c = local_65c + local_4e0;" (assignment_expression "local_65c = local_65c + local_4e0" identifier = (binary_expression "local_65c + local_4e0" identifier + identifier)) ;) (expression_statement "*(double *)(param_6 + 0x10) = local_65c;" (assignment_expression "*(double *)(param_6 + 0x10) = local_65c" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar32 < local_63c)" ( (binary_expression "iVar32 < local_63c" identifier < identifier) )) ;) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "dVar35 = (double)DAT_002df8b4 / (double)local_63c;" (assignment_expression "dVar35 = (double)DAT_002df8b4 / (double)local_63c" identifier = (binary_expression "(double)DAT_002df8b4 / (double)local_63c" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / (cast_expression "(double)local_63c" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "*(double *)(param_6 + 8) = local_664 * dVar35;" (assignment_expression "*(double *)(param_6 + 8) = local_664 * dVar35" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "local_664 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) = local_654 * dVar35;" (assignment_expression "*(double *)(param_6 + 10) = local_654 * dVar35" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "local_654 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) = dVar1 * dVar35;" (assignment_expression "*(double *)(param_6 + 0xc) = dVar1 * dVar35" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "dVar1 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xe) = local_64c * dVar35;" (assignment_expression "*(double *)(param_6 + 0xe) = local_64c * dVar35" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "local_64c * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0x10) = local_65c * dVar35;" (assignment_expression "*(double *)(param_6 + 0x10) = local_65c * dVar35" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "local_65c * dVar35" identifier * identifier)) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;" case number_literal : (expression_statement "puVar30 = param_1 + 0x1f;" (assignment_expression "puVar30 = param_1 + 0x1f" identifier = (binary_expression "param_1 + 0x1f" identifier + number_literal)) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }" { (expression_statement "*param_6 = *puVar30;" (assignment_expression "*param_6 = *puVar30" (pointer_expression "*param_6" * identifier) = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "param_6 = param_6 + (uint)bVar34 * -2 + 1;" (assignment_expression "param_6 = param_6 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "param_6 + (uint)bVar34 * -2 + 1" (binary_expression "param_6 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;)) (case_statement "case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }" { (expression_statement "local_64c._0_4_ = 0;" (assignment_expression "local_64c._0_4_ = 0" (field_expression "local_64c._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_644._0_4_ = param_1[0xa6];" (assignment_expression "local_644._0_4_ = param_1[0xa6]" (field_expression "local_644._0_4_" identifier . field_identifier) = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "puVar31 = puVar30;" (assignment_expression "puVar31 = puVar30" identifier = identifier) ;) (do_statement "do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);" do (compound_statement "{\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      }" { (expression_statement "iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;" (assignment_expression "iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25" identifier = (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_ + iVar25" (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_" (binary_expression "local_64c._0_4_ * 8" (field_expression "local_64c._0_4_" identifier . field_identifier) * number_literal) * (field_expression "local_644._0_4_" identifier . field_identifier)) + identifier)) ;) (expression_statement "ResetMagickMemory(puVar31,0,0x50);" (call_expression "ResetMagickMemory(puVar31,0,0x50)" identifier (argument_list "(puVar31,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(puVar31 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(puVar31 + 0x10)" * (cast_expression "(double *)(puVar31 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x10)" ( (binary_expression "puVar31 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "*(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88)" (pointer_expression "*(undefined8 *)(puVar31 + 3)" * (cast_expression "(undefined8 *)(puVar31 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 3)" ( (binary_expression "puVar31 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "*puVar31 = uVar24;" (assignment_expression "*puVar31 = uVar24" (pointer_expression "*puVar31" * identifier) = identifier) ;) (expression_statement "iVar23 = param_1[1];" (assignment_expression "iVar23 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar31[1] = iVar23;" (assignment_expression "puVar31[1] = iVar23" (subscript_expression "puVar31[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar31[5] = param_1[8];" (assignment_expression "puVar31[5] = param_1[8]" (subscript_expression "puVar31[5]" identifier [ number_literal ]) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "puVar31[2] = iVar3;" (assignment_expression "puVar31[2] = iVar3" (subscript_expression "puVar31[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = *(int *)(iVar4 + 8);" (assignment_expression "iVar27 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }" { (expression_statement "local_614 = iVar27 << 3;" (assignment_expression "local_614 = iVar27 << 3" identifier = (binary_expression "iVar27 << 3" identifier << number_literal)) ;) (expression_statement "iStack_60c = *(int *)(iVar4 + 0x14) << 3;" (assignment_expression "iStack_60c = *(int *)(iVar4 + 0x14) << 3" identifier = (binary_expression "*(int *)(iVar4 + 0x14) << 3" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) << number_literal)) ;) (expression_statement "iVar27 = *(int *)(iVar4 + 0x20) << 3;" (assignment_expression "iVar27 = *(int *)(iVar4 + 0x20) << 3" identifier = (binary_expression "*(int *)(iVar4 + 0x20) << 3" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) << number_literal)) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" else (compound_statement "{\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" { (expression_statement "local_614 = iVar27 * 8;" (assignment_expression "local_614 = iVar27 * 8" identifier = (binary_expression "iVar27 * 8" identifier * number_literal)) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 8)" * (cast_expression "(undefined8 *)(puVar31 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 8)" ( (binary_expression "puVar31 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + iVar27 * 8)" * (cast_expression "(undefined8 *)(iVar29 + iVar27 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar27 * 8)" ( (binary_expression "iVar29 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iStack_60c = iVar5 * 8;" (assignment_expression "iStack_60c = iVar5 * 8" identifier = (binary_expression "iVar5 * 8" identifier * number_literal)) ;) (expression_statement "iVar17 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar17 = *(int *)(iVar4 + 0x20)" identifier = (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 10)" * (cast_expression "(undefined8 *)(puVar31 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 10)" ( (binary_expression "puVar31 + 10" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + iVar5 * 8)" * (cast_expression "(undefined8 *)(iVar29 + iVar5 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar5 * 8)" ( (binary_expression "iVar29 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iVar27 = iVar17 * 8;" (assignment_expression "iVar27 = iVar17 * 8" identifier = (binary_expression "iVar17 * 8" identifier * number_literal)) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x28);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x28)" identifier = (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0xc)" * (cast_expression "(undefined8 *)(puVar31 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xc)" ( (binary_expression "puVar31 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + iVar17 * 8)" * (cast_expression "(undefined8 *)(iVar29 + iVar17 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar17 * 8)" ( (binary_expression "iVar29 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "*(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" * (cast_expression "(undefined8 *)(puVar31 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (expression_statement "iVar5 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }" { (expression_statement "uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "puVar31[2] = 4;" (assignment_expression "puVar31[2] = 4" (subscript_expression "puVar31[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar31 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(puVar31 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(puVar31 + 0x10)" * (cast_expression "(undefined8 *)(puVar31 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x10)" ( (binary_expression "puVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }" { (expression_statement "*(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0x12)" * (cast_expression "(undefined8 *)(puVar31 + 0x12)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x12)" ( (binary_expression "puVar31 + 0x12" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" * (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x44) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 8" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) ))))) ;) })) }))) (expression_statement "local_644._0_4_ = param_1[0xa6];" (assignment_expression "local_644._0_4_ = param_1[0xa6]" (field_expression "local_644._0_4_" identifier . field_identifier) = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;" (assignment_expression "iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25" identifier = (binary_expression "local_644._0_4_ * 8 * local_64c._0_4_ + iVar25" (binary_expression "local_644._0_4_ * 8 * local_64c._0_4_" (binary_expression "local_644._0_4_ * 8" (field_expression "local_644._0_4_" identifier . field_identifier) * number_literal) * (field_expression "local_64c._0_4_" identifier . field_identifier)) + identifier)) ;) (expression_statement "dVar35 = *(double *)(iVar29 + local_614);" (assignment_expression "dVar35 = *(double *)(iVar29 + local_614)" identifier = (pointer_expression "*(double *)(iVar29 + local_614)" * (cast_expression "(double *)(iVar29 + local_614)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + local_614)" ( (binary_expression "iVar29 + local_614" identifier + identifier) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }" { (expression_statement "local_5a4[local_64c._0_4_] = 1.0;" (assignment_expression "local_5a4[local_64c._0_4_] = 1.0" (subscript_expression "local_5a4[local_64c._0_4_]" identifier [ (field_expression "local_64c._0_4_" identifier . field_identifier) ]) = number_literal) ;) (expression_statement "*(double *)(puVar31 + 8) = dVar35;" (assignment_expression "*(double *)(puVar31 + 8) = dVar35" (pointer_expression "*(double *)(puVar31 + 8)" * (cast_expression "(double *)(puVar31 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 8)" ( (binary_expression "puVar31 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);" (assignment_expression "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29)" (pointer_expression "*(double *)(puVar31 + 10)" * (cast_expression "(double *)(puVar31 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 10)" ( (binary_expression "puVar31 + 10" identifier + number_literal) )))) = (pointer_expression "*(double *)(iStack_60c + iVar29)" * (cast_expression "(double *)(iStack_60c + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_60c + iVar29)" ( (binary_expression "iStack_60c + iVar29" identifier + identifier) ))))) ;) (expression_statement "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);" (assignment_expression "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29)" (pointer_expression "*(double *)(puVar31 + 0xc)" * (cast_expression "(double *)(puVar31 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xc)" ( (binary_expression "puVar31 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(double *)(iVar27 + iVar29)" * (cast_expression "(double *)(iVar27 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar29)" ( (binary_expression "iVar27 + iVar29" identifier + identifier) ))))) ;) (expression_statement "*(undefined8 *)(puVar31 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" * (cast_expression "(undefined8 *)(puVar31 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar23 != 2) goto code_r0x0013490a;" if (parenthesized_expression "(iVar23 != 2)" ( (binary_expression "iVar23 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0013490a;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            dVar35 = 0.0;\n          }" { (expression_statement "dVar35 = 0.0;" (assignment_expression "dVar35 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" else (compound_statement "{\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (labeled_statement "code_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;" statement_identifier : (expression_statement "*(double *)(puVar31 + 0xe) = dVar35;" (assignment_expression "*(double *)(puVar31 + 0xe) = dVar35" (pointer_expression "*(double *)(puVar31 + 0xe)" * (cast_expression "(double *)(puVar31 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = identifier) ;)) (if_statement "if (iVar5 == 0) goto code_r0x001355ad;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x001355ad;" goto statement_identifier ;)) (labeled_statement "code_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" statement_identifier : (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" { (if_statement "if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar1 = 1.0;\n          }" { (expression_statement "dVar1 = 1.0;" (assignment_expression "dVar1 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" else (compound_statement "{\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" { (expression_statement "dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier = (binary_expression "_DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dVar35 = dVar35 * dVar1;" (assignment_expression "dVar35 = dVar35 * dVar1" identifier = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) }))) (expression_statement "local_5a4[local_64c._0_4_] = dVar1;" (assignment_expression "local_5a4[local_64c._0_4_] = dVar1" (subscript_expression "local_5a4[local_64c._0_4_]" identifier [ (field_expression "local_64c._0_4_" identifier . field_identifier) ]) = identifier) ;) (expression_statement "*(double *)(puVar31 + 8) = dVar35;" (assignment_expression "*(double *)(puVar31 + 8) = dVar35" (pointer_expression "*(double *)(puVar31 + 8)" * (cast_expression "(double *)(puVar31 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 8)" ( (binary_expression "puVar31 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;" (assignment_expression "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1" (pointer_expression "*(double *)(puVar31 + 10)" * (cast_expression "(double *)(puVar31 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 10)" ( (binary_expression "puVar31 + 10" identifier + number_literal) )))) = (binary_expression "*(double *)(iStack_60c + iVar29) * dVar1" (pointer_expression "*(double *)(iStack_60c + iVar29)" * (cast_expression "(double *)(iStack_60c + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_60c + iVar29)" ( (binary_expression "iStack_60c + iVar29" identifier + identifier) )))) * identifier)) ;) (expression_statement "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;" (assignment_expression "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1" (pointer_expression "*(double *)(puVar31 + 0xc)" * (cast_expression "(double *)(puVar31 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xc)" ( (binary_expression "puVar31 + 0xc" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar27 + iVar29) * dVar1" (pointer_expression "*(double *)(iVar27 + iVar29)" * (cast_expression "(double *)(iVar27 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar29)" ( (binary_expression "iVar27 + iVar29" identifier + identifier) )))) * identifier)) ;) (expression_statement "*(undefined8 *)(puVar31 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" * (cast_expression "(undefined8 *)(puVar31 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0xe)" ( (binary_expression "puVar31 + 0xe" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }" if (parenthesized_expression "(iVar23 == 2)" ( (binary_expression "iVar23 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }" { (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar35 = 0.0;\n            }" { (expression_statement "dVar35 = 0.0;" (assignment_expression "dVar35 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" { (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "dVar35 = dVar35 * dVar1;" (assignment_expression "dVar35 = dVar35 * dVar1" identifier = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) (goto_statement "goto code_r0x0013559e;" goto statement_identifier ;) })) (labeled_statement "code_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;" statement_identifier : (if_statement "if (iVar5 != 0) goto code_r0x00134916;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00134916;" goto statement_identifier ;))) (labeled_statement "code_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar35 = (double)DAT_002df8a8;" (assignment_expression "dVar35 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "local_64c._0_4_ = local_64c._0_4_ + 1;" (assignment_expression "local_64c._0_4_ = local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" identifier . field_identifier) = (binary_expression "local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" identifier . field_identifier) + number_literal)) ;) (expression_statement "*(double *)(puVar31 + 0x10) = dVar35;" (assignment_expression "*(double *)(puVar31 + 0x10) = dVar35" (pointer_expression "*(double *)(puVar31 + 0x10)" * (cast_expression "(double *)(puVar31 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x10)" ( (binary_expression "puVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar31 = puVar31 + 0x14;" (assignment_expression "puVar31 = puVar31 + 0x14" identifier = (binary_expression "puVar31 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_64c._0_4_ != 4)" ( (binary_expression "local_64c._0_4_ != 4" (field_expression "local_64c._0_4_" identifier . field_identifier) != number_literal) )) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = (double)DAT_003006a4;" (assignment_expression "dVar35 = (double)DAT_003006a4" identifier = (cast_expression "(double)DAT_003006a4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (if_statement "if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" if (parenthesized_expression "(dVar35 <= param_5)" ( (binary_expression "dVar35 <= param_5" identifier <= identifier) )) (compound_statement "{\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }" { (expression_statement "puVar31 = auStack_480;" (assignment_expression "puVar31 = auStack_480" identifier = identifier) ;) (expression_statement "puVar33 = puVar30;" (assignment_expression "puVar33 = puVar30" identifier = identifier) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" { (expression_statement "*puVar33 = *puVar31;" (assignment_expression "*puVar33 = *puVar31" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_5a4[0] = local_5a4[2];" (assignment_expression "local_5a4[0] = local_5a4[2]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = (subscript_expression "local_5a4[2]" identifier [ number_literal ])) ;) (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" identifier = number_literal) ;) (labeled_statement "code_r0x00136096:\n        local_5a4[1] = local_5a4[3];" statement_identifier : (expression_statement "local_5a4[1] = local_5a4[3];" (assignment_expression "local_5a4[1] = local_5a4[3]" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = (subscript_expression "local_5a4[3]" identifier [ number_literal ])) ;)) (expression_statement "puVar31 = auStack_430;" (assignment_expression "puVar31 = auStack_430" identifier = identifier) ;) (expression_statement "puVar33 = auStack_4d0;" (assignment_expression "puVar33 = auStack_4d0" identifier = identifier) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" { (expression_statement "*puVar33 = *puVar31;" (assignment_expression "*puVar33 = *puVar31" (pointer_expression "*puVar33" * identifier) = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }) (else_clause "else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" else (compound_statement "{\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" { (expression_statement "fVar10 = DAT_002eb21c;" (assignment_expression "fVar10 = DAT_002eb21c" identifier = identifier) ;) (if_statement "if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" if (parenthesized_expression "(param_5 <= (double)DAT_002eb220)" ( (binary_expression "param_5 <= (double)DAT_002eb220" identifier <= (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }" { (if_statement "if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }" if (parenthesized_expression "(dVar35 <= param_5)" ( (binary_expression "dVar35 <= param_5" identifier <= identifier) )) (compound_statement "{\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }" { (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" identifier = number_literal) ;) (goto_statement "goto code_r0x00136096;" goto statement_identifier ;) })) (if_statement "if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;" if (parenthesized_expression "((double)DAT_002eb220 < param_5)" ( (binary_expression "(double)DAT_002eb220 < param_5" (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier) < identifier) )) (goto_statement "goto code_r0x001349ea;" goto statement_identifier ;)) (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" else (compound_statement "{\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" { (expression_statement "local_5a4[0] = local_5a4[0] + local_5a4[2];" (assignment_expression "local_5a4[0] = local_5a4[0] + local_5a4[2]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = (binary_expression "local_5a4[0] + local_5a4[2]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) + (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_500 = local_500 + local_460;" (assignment_expression "local_500 = local_500 + local_460" identifier = (binary_expression "local_500 + local_460" identifier + identifier)) ;) (expression_statement "local_4f8 = local_4f8 + local_458;" (assignment_expression "local_4f8 = local_4f8 + local_458" identifier = (binary_expression "local_4f8 + local_458" identifier + identifier)) ;) (expression_statement "local_4f0 = local_4f0 + local_450;" (assignment_expression "local_4f0 = local_4f0 + local_450" identifier = (binary_expression "local_4f0 + local_450" identifier + identifier)) ;) (expression_statement "local_4e8 = local_4e8 + local_448;" (assignment_expression "local_4e8 = local_4e8 + local_448" identifier = (binary_expression "local_4e8 + local_448" identifier + identifier)) ;) (expression_statement "local_4e0 = local_4e0 + local_440;" (assignment_expression "local_4e0 = local_4e0 + local_440" identifier = (binary_expression "local_4e0 + local_440" identifier + identifier)) ;) (if_statement "if (dVar35 <= param_5) goto code_r0x00136096;" if (parenthesized_expression "(dVar35 <= param_5)" ( (binary_expression "dVar35 <= param_5" identifier <= identifier) )) (goto_statement "goto code_r0x00136096;" goto statement_identifier ;)) (labeled_statement "code_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];" statement_identifier : (expression_statement "local_5a4[1] = local_5a4[1] + local_5a4[3];" (assignment_expression "local_5a4[1] = local_5a4[1] + local_5a4[3]" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = (binary_expression "local_5a4[1] + local_5a4[3]" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) + (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;)) (expression_statement "local_4b0 = local_4b0 + local_410;" (assignment_expression "local_4b0 = local_4b0 + local_410" identifier = (binary_expression "local_4b0 + local_410" identifier + identifier)) ;) (expression_statement "local_4a8 = local_4a8 + local_408;" (assignment_expression "local_4a8 = local_4a8 + local_408" identifier = (binary_expression "local_4a8 + local_408" identifier + identifier)) ;) (expression_statement "local_4a0 = local_4a0 + local_400;" (assignment_expression "local_4a0 = local_4a0 + local_400" identifier = (binary_expression "local_4a0 + local_400" identifier + identifier)) ;) (expression_statement "local_498 = local_498 + local_3f8;" (assignment_expression "local_498 = local_498 + local_3f8" identifier = (binary_expression "local_498 + local_3f8" identifier + identifier)) ;) (expression_statement "local_490 = local_490 + local_3f0;" (assignment_expression "local_490 = local_490 + local_3f0" identifier = (binary_expression "local_490 + local_3f0" identifier + identifier)) ;) }))) }))) (expression_statement "dVar35 = (double)local_66c._0_4_;" (assignment_expression "dVar35 = (double)local_66c._0_4_" identifier = (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier))) ;) (expression_statement "dVar1 = local_4e8;" (assignment_expression "dVar1 = local_4e8" identifier = identifier) ;) (expression_statement "dVar7 = local_4f8;" (assignment_expression "dVar7 = local_4f8" identifier = identifier) ;) (expression_statement "dVar8 = local_500;" (assignment_expression "dVar8 = local_500" identifier = identifier) ;) (if_statement "if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" if (parenthesized_expression "(param_4 - dVar35 < (double)DAT_003006a4)" ( (binary_expression "param_4 - dVar35 < (double)DAT_003006a4" (binary_expression "param_4 - dVar35" identifier - identifier) < (cast_expression "(double)DAT_003006a4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }" { (expression_statement "local_66c = local_4f0;" (assignment_expression "local_66c = local_4f0" identifier = identifier) ;) (expression_statement "local_664 = local_4e0;" (assignment_expression "local_664 = local_4e0" identifier = identifier) ;) (expression_statement "dVar9 = local_5a4[0];" (assignment_expression "dVar9 = local_5a4[0]" identifier = (subscript_expression "local_5a4[0]" identifier [ number_literal ])) ;) (if_statement "if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }" if (parenthesized_expression "((double)DAT_002eb220 < param_4 - dVar35)" ( (binary_expression "(double)DAT_002eb220 < param_4 - dVar35" (cast_expression "(double)DAT_002eb220" ( (type_descriptor "double" primitive_type) ) identifier) < (binary_expression "param_4 - dVar35" identifier - identifier)) )) (compound_statement "{\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }" { (expression_statement "fVar10 = fVar10 + fVar10;" (assignment_expression "fVar10 = fVar10 + fVar10" identifier = (binary_expression "fVar10 + fVar10" identifier + identifier)) ;) (expression_statement "dVar9 = local_5a4[0] + local_5a4[1];" (assignment_expression "dVar9 = local_5a4[0] + local_5a4[1]" identifier = (binary_expression "local_5a4[0] + local_5a4[1]" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) + (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_66c = local_4f0 + local_4a0;" (assignment_expression "local_66c = local_4f0 + local_4a0" identifier = (binary_expression "local_4f0 + local_4a0" identifier + identifier)) ;) (expression_statement "local_664 = local_490 + local_4e0;" (assignment_expression "local_664 = local_490 + local_4e0" identifier = (binary_expression "local_490 + local_4e0" identifier + identifier)) ;) (expression_statement "dVar1 = local_4e8 + local_498;" (assignment_expression "dVar1 = local_4e8 + local_498" identifier = (binary_expression "local_4e8 + local_498" identifier + identifier)) ;) (expression_statement "dVar7 = local_4f8 + local_4a8;" (assignment_expression "dVar7 = local_4f8 + local_4a8" identifier = (binary_expression "local_4f8 + local_4a8" identifier + identifier)) ;) (expression_statement "dVar8 = local_500 + local_4b0;" (assignment_expression "dVar8 = local_500 + local_4b0" identifier = (binary_expression "local_500 + local_4b0" identifier + identifier)) ;) })) }) (else_clause "else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" else (compound_statement "{\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" { (expression_statement "puVar31 = auStack_4d0;" (assignment_expression "puVar31 = auStack_4d0" identifier = identifier) ;) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }" for ( (assignment_expression "iVar25 = 0x14" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }" { (expression_statement "*puVar30 = *puVar31;" (assignment_expression "*puVar30 = *puVar31" (pointer_expression "*puVar30" * identifier) = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_66c = local_4f0;" (assignment_expression "local_66c = local_4f0" identifier = identifier) ;) (expression_statement "local_664 = local_4e0;" (assignment_expression "local_664 = local_4e0" identifier = identifier) ;) (expression_statement "dVar9 = local_5a4[1];" (assignment_expression "dVar9 = local_5a4[1]" identifier = (subscript_expression "local_5a4[1]" identifier [ number_literal ])) ;) }))) (expression_statement "fVar10 = DAT_002df8b4 / fVar10;" (assignment_expression "fVar10 = DAT_002df8b4 / fVar10" identifier = (binary_expression "DAT_002df8b4 / fVar10" identifier / identifier)) ;) (expression_statement "dVar35 = DAT_002df8d8;" (assignment_expression "dVar35 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar11 = dVar9;" (assignment_expression "dVar11 = dVar9" identifier = identifier) ;) (if_statement "if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }" if (parenthesized_expression "(dVar9 < 0.0)" ( (binary_expression "dVar9 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }" { (expression_statement "dVar35 = DAT_002df8e0;" (assignment_expression "dVar35 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar11 = -dVar9;" (assignment_expression "dVar11 = -dVar9" identifier = (unary_expression "-dVar9" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }" if (parenthesized_expression "(DAT_002df2d0 <= dVar11)" ( (binary_expression "DAT_002df2d0 <= dVar11" identifier <= identifier) )) (compound_statement "{\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }" { (expression_statement "dVar35 = (double)DAT_002df8b4 / dVar9;" (assignment_expression "dVar35 = (double)DAT_002df8b4 / dVar9" identifier = (binary_expression "(double)DAT_002df8b4 / dVar9" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 8) = dVar8 * dVar35;" (assignment_expression "*(double *)(param_6 + 8) = dVar8 * dVar35" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "dVar8 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) = dVar7 * dVar35;" (assignment_expression "*(double *)(param_6 + 10) = dVar7 * dVar35" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "dVar7 * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) = local_66c * dVar35;" (assignment_expression "*(double *)(param_6 + 0xc) = local_66c * dVar35" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "local_66c * dVar35" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xe) = dVar35 * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) = dVar35 * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);" (assignment_expression "*(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)(fVar10 * (float)local_664)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(fVar10 * (float)local_664)" ( (binary_expression "fVar10 * (float)local_664" identifier * (cast_expression "(float)local_664" ( (type_descriptor "float" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier (argument_list "(param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" ( identifier , (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal) , (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar29 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x20)" identifier = (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pdVar28 = &local_500;" (assignment_expression "pdVar28 = &local_500" identifier = (pointer_expression "&local_500" & identifier)) ;) (expression_statement "iVar17 = *(int *)(iVar4 + 8);" (assignment_expression "iVar17 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);" do (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      }" { (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" * (cast_expression "(double *)(iVar25 + iVar17 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar17 * 8)" ( (binary_expression "iVar25 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }" { (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8)" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" { (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1;" (assignment_expression "pdVar28[3] = dVar1" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "code_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;" statement_identifier : (if_statement "if (iVar29 == 0) goto code_r0x00134700;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00134700;" goto statement_identifier ;))) (labeled_statement "code_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" statement_identifier : (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" { (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" { (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" identifier = (binary_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" identifier = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = identifier) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (binary_expression "dVar7 * *(double *)(iVar25 + iVar6 * 8)" identifier * (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 != 2) goto code_r0x0013466a;" if (parenthesized_expression "(iVar27 != 2)" ( (binary_expression "iVar27 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0013466a;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            dVar1 = 0.0;\n          }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" else (compound_statement "{\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1 * dVar7;" (assignment_expression "pdVar28[3] = dVar1 * dVar7" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) (if_statement "if (iVar29 != 0) goto code_r0x00134672;" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00134672;" goto statement_identifier ;)) (labeled_statement "code_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "pdVar28[4] = dVar1;" (assignment_expression "pdVar28[4] = dVar1" (subscript_expression "pdVar28[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" identifier = (binary_expression "iVar25 + iVar23 * 8" identifier + (binary_expression "iVar23 * 8" identifier * number_literal))) ;) (expression_statement "pdVar28 = pdVar28 + 10;" (assignment_expression "pdVar28 = pdVar28 + 10" identifier = (binary_expression "pdVar28 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 != 0x10)" ( (binary_expression "iVar32 != 0x10" identifier != number_literal) )) ;) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;" (assignment_expression "dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35" identifier = (binary_expression "param_4 * (double)DAT_002e9cb4 * dVar35" (binary_expression "param_4 * (double)DAT_002e9cb4" identifier * (cast_expression "(double)DAT_002e9cb4" ( (type_descriptor "double" primitive_type) ) identifier)) * identifier)) ;) (expression_statement "dVar12 = dVar35 * dVar1;" (assignment_expression "dVar12 = dVar35 * dVar1" identifier = (binary_expression "dVar35 * dVar1" identifier * identifier)) ;) (expression_statement "dVar1 = dVar1 * param_4;" (assignment_expression "dVar1 = dVar1 * param_4" identifier = (binary_expression "dVar1 * param_4" identifier * identifier)) ;) (expression_statement "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);" (assignment_expression "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12)" identifier = (binary_expression "(dVar35 - dVar12) + (dVar1 - dVar12)" (parenthesized_expression "(dVar35 - dVar12)" ( (binary_expression "dVar35 - dVar12" identifier - identifier) )) + (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);" (assignment_expression "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12)" identifier = (binary_expression "(param_4 - dVar1) - (dVar1 - dVar12)" (parenthesized_expression "(param_4 - dVar1)" ( (binary_expression "param_4 - dVar1" identifier - identifier) )) - (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar7 = 1.0 - param_5;" (assignment_expression "dVar7 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;" (assignment_expression "dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7" identifier = (binary_expression "(double)DAT_002e9cb4 * param_5 * dVar7" (binary_expression "(double)DAT_002e9cb4 * param_5" (cast_expression "(double)DAT_002e9cb4" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) * identifier)) ;) (expression_statement "dVar11 = dVar9 * dVar7;" (assignment_expression "dVar11 = dVar9 * dVar7" identifier = (binary_expression "dVar9 * dVar7" identifier * identifier)) ;) (expression_statement "dVar9 = dVar9 * param_5;" (assignment_expression "dVar9 = dVar9 * param_5" identifier = (binary_expression "dVar9 * param_5" identifier * identifier)) ;) (expression_statement "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);" (assignment_expression "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11)" identifier = (binary_expression "(dVar7 - dVar11) + (dVar9 - dVar11)" (parenthesized_expression "(dVar7 - dVar11)" ( (binary_expression "dVar7 - dVar11" identifier - identifier) )) + (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);" (assignment_expression "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11)" identifier = (binary_expression "(param_5 - dVar9) - (dVar9 - dVar11)" (parenthesized_expression "(param_5 - dVar9)" ( (binary_expression "param_5 - dVar9" identifier - identifier) )) - (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12)" ( (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35" (binary_expression "dStack_50 * dVar1" identifier * identifier) + (binary_expression "dStack_a0 * dVar35" identifier * identifier)) + (binary_expression "dStack_f0 * dVar13" identifier * identifier)) + (binary_expression "dStack_140 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (parenthesized_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12)" ( (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35" (binary_expression "dStack_190 * dVar1" identifier * identifier) + (binary_expression "dStack_1e0 * dVar35" identifier * identifier)) + (binary_expression "dStack_230 * dVar13" identifier * identifier)) + (binary_expression "dStack_280 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12)" ( (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35" (binary_expression "dStack_2d0 * dVar1" identifier * identifier) + (binary_expression "dStack_320 * dVar35" identifier * identifier)) + (binary_expression "dStack_370 * dVar13" identifier * identifier)) + (binary_expression "dStack_3c0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   )" ( (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12" (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13" (binary_expression "local_410 * dVar1 + local_460 * dVar35" (binary_expression "local_410 * dVar1" identifier * identifier) + (binary_expression "local_460 * dVar35" identifier * identifier)) + (binary_expression "local_4b0 * dVar13" identifier * identifier)) + (binary_expression "local_500 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12)" ( (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35" (binary_expression "dStack_48 * dVar1" identifier * identifier) + (binary_expression "dStack_98 * dVar35" identifier * identifier)) + (binary_expression "dStack_e8 * dVar13" identifier * identifier)) + (binary_expression "dStack_138 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (parenthesized_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12)" ( (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35" (binary_expression "dStack_188 * dVar1" identifier * identifier) + (binary_expression "dStack_1d8 * dVar35" identifier * identifier)) + (binary_expression "dStack_228 * dVar13" identifier * identifier)) + (binary_expression "dStack_278 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12)" ( (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35" (binary_expression "dStack_2c8 * dVar1" identifier * identifier) + (binary_expression "dStack_318 * dVar35" identifier * identifier)) + (binary_expression "dStack_368 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   )" ( (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12" (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13" (binary_expression "local_408 * dVar1 + local_458 * dVar35" (binary_expression "local_408 * dVar1" identifier * identifier) + (binary_expression "local_458 * dVar35" identifier * identifier)) + (binary_expression "local_4a8 * dVar13" identifier * identifier)) + (binary_expression "local_4f8 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12)" ( (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35" (binary_expression "dStack_40 * dVar1" identifier * identifier) + (binary_expression "dStack_90 * dVar35" identifier * identifier)) + (binary_expression "dStack_e0 * dVar13" identifier * identifier)) + (binary_expression "dStack_130 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (parenthesized_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12)" ( (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35" (binary_expression "dStack_180 * dVar1" identifier * identifier) + (binary_expression "dStack_1d0 * dVar35" identifier * identifier)) + (binary_expression "dStack_220 * dVar13" identifier * identifier)) + (binary_expression "dStack_270 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12)" ( (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35" (binary_expression "dStack_2c0 * dVar1" identifier * identifier) + (binary_expression "dStack_310 * dVar35" identifier * identifier)) + (binary_expression "dStack_360 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   )" ( (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12" (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13" (binary_expression "local_400 * dVar1 + local_450 * dVar35" (binary_expression "local_400 * dVar1" identifier * identifier) + (binary_expression "local_450 * dVar35" identifier * identifier)) + (binary_expression "local_4a0 * dVar13" identifier * identifier)) + (binary_expression "local_4f0 * dVar12" identifier * identifier)) )) * identifier))) ;) (if_statement "if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" { (expression_statement "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9" (parenthesized_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12)" ( (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35" (binary_expression "dStack_38 * dVar1" identifier * identifier) + (binary_expression "dStack_88 * dVar35" identifier * identifier)) + (binary_expression "dStack_d8 * dVar13" identifier * identifier)) + (binary_expression "dStack_128 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (parenthesized_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12)" ( (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35" (binary_expression "dStack_178 * dVar1" identifier * identifier) + (binary_expression "dStack_1c8 * dVar35" identifier * identifier)) + (binary_expression "dStack_218 * dVar13" identifier * identifier)) + (binary_expression "dStack_268 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12)" ( (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35" (binary_expression "dStack_2b8 * dVar1" identifier * identifier) + (binary_expression "dStack_308 * dVar35" identifier * identifier)) + (binary_expression "dStack_358 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (parenthesized_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12)" ( (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35" (binary_expression "local_3f8 * dVar1" identifier * identifier) + (binary_expression "local_448 * dVar35" identifier * identifier)) + (binary_expression "local_498 * dVar13" identifier * identifier)) + (binary_expression "local_4e8 * dVar12" identifier * identifier)) )) * identifier))) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9" (parenthesized_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120)" ( (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80" (binary_expression "dVar1 * dStack_30" identifier * identifier) + (binary_expression "dVar35 * dStack_80" identifier * identifier)) + (binary_expression "dVar13 * dStack_d0" identifier * identifier)) + (binary_expression "dVar12 * dStack_120" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (parenthesized_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12)" ( (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35" (binary_expression "dStack_170 * dVar1" identifier * identifier) + (binary_expression "dStack_1c0 * dVar35" identifier * identifier)) + (binary_expression "dStack_210 * dVar13" identifier * identifier)) + (binary_expression "dStack_260 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12)" ( (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35" (binary_expression "dStack_2b0 * dVar1" identifier * identifier) + (binary_expression "dStack_300 * dVar35" identifier * identifier)) + (binary_expression "dStack_350 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   )" ( (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35" (binary_expression "local_3f0 * dVar1" identifier * identifier) + (binary_expression "local_440 * dVar35" identifier * identifier)) + (binary_expression "local_490 * dVar13" identifier * identifier)) + (binary_expression "local_4e0 * dVar12" identifier * identifier)) )) * identifier))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }" { (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" identifier (argument_list "(param_6,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (labeled_statement "code_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);" statement_identifier : (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0x88)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;)) (expression_statement "*param_6 = *param_1;" (assignment_expression "*param_6 = *param_1" (pointer_expression "*param_6" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar24 = param_1[1];" (assignment_expression "uVar24 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined8 *)(param_6 + 3) = uVar2;" (assignment_expression "*(undefined8 *)(param_6 + 3) = uVar2" (pointer_expression "*(undefined8 *)(param_6 + 3)" * (cast_expression "(undefined8 *)(param_6 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 3)" ( (binary_expression "param_6 + 3" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_6[1] = uVar24;" (assignment_expression "param_6[1] = uVar24" (subscript_expression "param_6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_6[5] = param_1[8];" (assignment_expression "param_6[5] = param_1[8]" (subscript_expression "param_6[5]" identifier [ number_literal ]) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "param_6[2] = param_1[0xa5];" (assignment_expression "param_6[2] = param_1[0xa5]" (subscript_expression "param_6[2]" identifier [ number_literal ]) = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = param_1[0xaa];" (assignment_expression "iVar23 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(iVar23 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar23 + 0x28)" identifier = (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar23 + 0x14);" (assignment_expression "iVar4 = *(int *)(iVar23 + 0x14)" identifier = (pointer_expression "*(int *)(iVar23 + 0x14)" * (cast_expression "(int *)(iVar23 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 8)" * (cast_expression "(undefined8 *)(param_6 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 8) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 8) * 8" identifier + (binary_expression "*(int *)(iVar23 + 8) * 8" (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "iVar27 = *(int *)(iVar23 + 0x20);" (assignment_expression "iVar27 = *(int *)(iVar23 + 0x20)" identifier = (pointer_expression "*(int *)(iVar23 + 0x20)" * (cast_expression "(int *)(iVar23 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x20)" ( (binary_expression "iVar23 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);" (assignment_expression "*(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8)" (pointer_expression "*(undefined8 *)(param_6 + 10)" * (cast_expression "(undefined8 *)(param_6 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar4 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar4 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar4 * 8)" ( (binary_expression "iVar25 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) ))))) ;) (expression_statement "*(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0xc)" * (cast_expression "(undefined8 *)(param_6 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + iVar27 * 8)" * (cast_expression "(undefined8 *)(iVar25 + iVar27 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27 * 8)" ( (binary_expression "iVar25 + iVar27 * 8" identifier + (binary_expression "iVar27 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }" { (expression_statement "*(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0xe)" * (cast_expression "(undefined8 *)(param_6 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (if_statement "if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }" if (parenthesized_expression "(*(int *)(iVar23 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar23 + 0x34) != 0" (pointer_expression "*(int *)(iVar23 + 0x34)" * (cast_expression "(int *)(iVar23 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x34)" ( (binary_expression "iVar23 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }" { (expression_statement "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" identifier = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" * (cast_expression "(int *)(iVar23 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x38)" ( (binary_expression "iVar23 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "param_6[2] = 4;" (assignment_expression "param_6[2] = 4" (subscript_expression "param_6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 *)(param_6 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(param_6 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(param_6 + 0x10)" * (cast_expression "(undefined8 *)(param_6 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }" if (parenthesized_expression "(*(int *)(iVar23 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar23 + 0x40) != 0" (pointer_expression "*(int *)(iVar23 + 0x40)" * (cast_expression "(int *)(iVar23 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x40)" ( (binary_expression "iVar23 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }" { (expression_statement "*(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0x12)" * (cast_expression "(undefined8 *)(param_6 + 0x12)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x12)" ( (binary_expression "param_6 + 0x12" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" * (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x44) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar23 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar23 + 0x44) * 8" (pointer_expression "*(int *)(iVar23 + 0x44)" * (cast_expression "(int *)(iVar23 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x44)" ( (binary_expression "iVar23 + 0x44" identifier + number_literal) )))) * number_literal)) ))))) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" identifier (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" ( identifier , (field_expression "local_66c._0_4_" identifier . field_identifier) , (field_expression "local_664._0_4_" identifier . field_identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }" { (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar5 = param_1[0xaa];" (assignment_expression "iVar5 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar4 = *(int *)(iVar5 + 8) * 8;" (assignment_expression "iVar4 = *(int *)(iVar5 + 8) * 8" identifier = (binary_expression "*(int *)(iVar5 + 8) * 8" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);" (assignment_expression "dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 8) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 8) * 8" identifier + (binary_expression "*(int *)(iVar5 + 8) * 8" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "dVar1 = (double)DAT_002f2b64;" (assignment_expression "dVar1 = (double)DAT_002f2b64" identifier = (cast_expression "(double)DAT_002f2b64" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar27 = *(int *)(iVar5 + 0x14) * 8;" (assignment_expression "iVar27 = *(int *)(iVar5 + 0x14) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x14) * 8" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar29 = *(int *)(iVar5 + 0x20) * 8;" (assignment_expression "iVar29 = *(int *)(iVar5 + 0x20) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x20) * 8" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "pdVar28 = (double *)(iVar25 + iVar29);" (assignment_expression "pdVar28 = (double *)(iVar25 + iVar29)" identifier = (cast_expression "(double *)(iVar25 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar29)" ( (binary_expression "iVar25 + iVar29" identifier + identifier) )))) ;) (expression_statement "iVar3 = param_1[0xa6];" (assignment_expression "iVar3 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = iVar25 + iVar3 * 0x18;" (assignment_expression "iVar23 = iVar25 + iVar3 * 0x18" identifier = (binary_expression "iVar25 + iVar3 * 0x18" identifier + (binary_expression "iVar3 * 0x18" identifier * number_literal))) ;) (expression_statement "pdVar14 = (double *)(iVar23 + iVar4);" (assignment_expression "pdVar14 = (double *)(iVar23 + iVar4)" identifier = (cast_expression "(double *)(iVar23 + iVar4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar4)" ( (binary_expression "iVar23 + iVar4" identifier + identifier) )))) ;) (expression_statement "pdVar15 = (double *)(iVar23 + iVar27);" (assignment_expression "pdVar15 = (double *)(iVar23 + iVar27)" identifier = (cast_expression "(double *)(iVar23 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar27)" ( (binary_expression "iVar23 + iVar27" identifier + identifier) )))) ;) (expression_statement "pdVar16 = (double *)(iVar23 + iVar29);" (assignment_expression "pdVar16 = (double *)(iVar23 + iVar29)" identifier = (cast_expression "(double *)(iVar23 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar29)" ( (binary_expression "iVar23 + iVar29" identifier + identifier) )))) ;) (expression_statement "dVar8 = (double)DAT_002f2b68;" (assignment_expression "dVar8 = (double)DAT_002f2b68" identifier = (cast_expression "(double)DAT_002f2b68" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar35 = dStack_5ec * dVar8;" (assignment_expression "dVar35 = dStack_5ec * dVar8" identifier = (binary_expression "dStack_5ec * dVar8" identifier * identifier)) ;) (expression_statement "dVar7 = (double)DAT_002f2b6c;" (assignment_expression "dVar7 = (double)DAT_002f2b6c" identifier = (cast_expression "(double)DAT_002f2b6c" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar17 = iVar23 + iVar3 * -0x10;" (assignment_expression "iVar17 = iVar23 + iVar3 * -0x10" identifier = (binary_expression "iVar23 + iVar3 * -0x10" identifier + (binary_expression "iVar3 * -0x10" identifier * number_literal))) ;) (expression_statement "pdVar18 = (double *)(iVar17 + iVar4);" (assignment_expression "pdVar18 = (double *)(iVar17 + iVar4)" identifier = (cast_expression "(double *)(iVar17 + iVar4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar4)" ( (binary_expression "iVar17 + iVar4" identifier + identifier) )))) ;) (expression_statement "pdVar19 = (double *)(iVar17 + iVar27);" (assignment_expression "pdVar19 = (double *)(iVar17 + iVar27)" identifier = (cast_expression "(double *)(iVar17 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar27)" ( (binary_expression "iVar17 + iVar27" identifier + identifier) )))) ;) (expression_statement "pdVar20 = (double *)(iVar17 + iVar29);" (assignment_expression "pdVar20 = (double *)(iVar17 + iVar29)" identifier = (cast_expression "(double *)(iVar17 + iVar29)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar29)" ( (binary_expression "iVar17 + iVar29" identifier + identifier) )))) ;) (expression_statement "iVar3 = iVar17 + iVar3 * 8;" (assignment_expression "iVar3 = iVar17 + iVar3 * 8" identifier = (binary_expression "iVar17 + iVar3 * 8" identifier + (binary_expression "iVar3 * 8" identifier * number_literal))) ;) (expression_statement "pdVar26 = (double *)(iVar27 + iVar3);" (assignment_expression "pdVar26 = (double *)(iVar27 + iVar3)" identifier = (cast_expression "(double *)(iVar27 + iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar3)" ( (binary_expression "iVar27 + iVar3" identifier + identifier) )))) ;) (expression_statement "pdVar21 = (double *)(iVar4 + iVar3);" (assignment_expression "pdVar21 = (double *)(iVar4 + iVar3)" identifier = (cast_expression "(double *)(iVar4 + iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar3)" ( (binary_expression "iVar4 + iVar3" identifier + identifier) )))) ;) (expression_statement "pdVar22 = (double *)(iVar29 + iVar3);" (assignment_expression "pdVar22 = (double *)(iVar29 + iVar3)" identifier = (cast_expression "(double *)(iVar29 + iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + iVar3)" ( (binary_expression "iVar29 + iVar3" identifier + identifier) )))) ;) (expression_statement "iVar4 = *(int *)(iVar5 + 0x34);" (assignment_expression "iVar4 = *(int *)(iVar5 + 0x34)" identifier = (pointer_expression "*(int *)(iVar5 + 0x34)" * (cast_expression "(int *)(iVar5 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = param_1[1];" (assignment_expression "iVar29 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" if (parenthesized_expression "(param_1[0xa5] == 0)" ( (binary_expression "param_1[0xa5] == 0" (subscript_expression "param_1[0xa5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }" { (expression_statement "local_5a4[0] = 1.0;" (assignment_expression "local_5a4[0] = 1.0" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar27);" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar27)" identifier = (pointer_expression "*(double *)(iVar25 + iVar27)" * (cast_expression "(double *)(iVar25 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27)" ( (binary_expression "iVar25 + iVar27" identifier + identifier) ))))) ;) (expression_statement "local_4f0 = *pdVar28;" (assignment_expression "local_4f0 = *pdVar28" identifier = (pointer_expression "*pdVar28" * identifier)) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_4e8 = 0.0;\n          }" { (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (if_statement "if (iVar4 != 0) goto code_r0x0013613f;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x0013613f;" goto statement_identifier ;)) (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" identifier = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" identifier = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" identifier = (pointer_expression "*pdVar20" * identifier)) ;) (labeled_statement "code_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" statement_identifier : (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_498 = 0.0;\n          }" { (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })))) (if_statement "if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }" { (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" identifier = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" identifier = (pointer_expression "*pdVar26" * identifier)) ;) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" identifier = (pointer_expression "*pdVar22" * identifier)) ;) (labeled_statement "code_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" statement_identifier : (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_448 = 0.0;\n            }" { (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" { (expression_statement "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })))) (if_statement "if (iVar4 == 0) goto code_r0x00136b86;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00136b86;" goto statement_identifier ;)) }) (else_clause "else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" else (compound_statement "{\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" { (labeled_statement "code_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" statement_identifier : (expression_statement "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" identifier = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" identifier = (pointer_expression "*pdVar26" * identifier)) ;) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" identifier = (pointer_expression "*pdVar22" * identifier)) ;) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) goto code_r0x00136b5f;" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (goto_statement "goto code_r0x00136b5f;" goto statement_identifier ;)) }))) (expression_statement "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_410 = *pdVar14;" (assignment_expression "local_410 = *pdVar14" identifier = (pointer_expression "*pdVar14" * identifier)) ;) (expression_statement "local_408 = *pdVar15;" (assignment_expression "local_408 = *pdVar15" identifier = (pointer_expression "*pdVar15" * identifier)) ;) (expression_statement "local_400 = *pdVar16;" (assignment_expression "local_400 = *pdVar16" identifier = (pointer_expression "*pdVar16" * identifier)) ;) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) goto code_r0x0013626b;" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (goto_statement "goto code_r0x0013626b;" goto statement_identifier ;)) (labeled_statement "code_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" statement_identifier : (expression_statement "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" else (compound_statement "{\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" { (if_statement "if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }" { (labeled_statement "code_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" statement_identifier : (expression_statement "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" identifier = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" identifier = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" identifier = (pointer_expression "*pdVar20" * identifier)) ;) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) goto code_r0x00136ae2;" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (goto_statement "goto code_r0x00136ae2;" goto statement_identifier ;)) (goto_statement "goto code_r0x001361a4;" goto statement_identifier ;) })) (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" identifier = (pointer_expression "*pdVar18" * identifier)) ;) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" identifier = (pointer_expression "*pdVar19" * identifier)) ;) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" identifier = (pointer_expression "*pdVar20" * identifier)) ;) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" identifier = (pointer_expression "*pdVar21" * identifier)) ;) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" identifier = (pointer_expression "*pdVar26" * identifier)) ;) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" identifier = (pointer_expression "*pdVar22" * identifier)) ;) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) (labeled_statement "code_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "local_440 = (double)DAT_002df8a8;" (assignment_expression "local_440 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) (expression_statement "local_410 = *pdVar14;" (assignment_expression "local_410 = *pdVar14" identifier = (pointer_expression "*pdVar14" * identifier)) ;) (expression_statement "local_408 = *pdVar15;" (assignment_expression "local_408 = *pdVar15" identifier = (pointer_expression "*pdVar15" * identifier)) ;) (expression_statement "local_400 = *pdVar16;" (assignment_expression "local_400 = *pdVar16" identifier = (pointer_expression "*pdVar16" * identifier)) ;) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }" { (labeled_statement "code_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" statement_identifier : (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_3f8 = 0.0;\n            }" { (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" else (compound_statement "{\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" { (expression_statement "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) })))) (if_statement "if (iVar4 != 0) goto code_r0x00136296;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00136296;" goto statement_identifier ;)) (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            local_66c = (double)DAT_002df8a8;\n          }" else (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) }))) (expression_statement "local_5a4[3] = 1.0;" (assignment_expression "local_5a4[3] = 1.0" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_5a4[2] = 1.0;" (assignment_expression "local_5a4[2] = 1.0" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_5a4[1] = 1.0;" (assignment_expression "local_5a4[1] = 1.0" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" else (compound_statement "{\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" { (if_statement "if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[0] = 1.0;\n        }" { (expression_statement "local_5a4[0] = 1.0;" (assignment_expression "local_5a4[0] = 1.0" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" else (compound_statement "{\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" { (expression_statement "local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_5ec = dStack_5ec * local_5a4[0];" (assignment_expression "dStack_5ec = dStack_5ec * local_5a4[0]" identifier = (binary_expression "dStack_5ec * local_5a4[0]" identifier * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) }))) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0]" identifier = (binary_expression "*(double *)(iVar25 + iVar27) * local_5a4[0]" (pointer_expression "*(double *)(iVar25 + iVar27)" * (cast_expression "(double *)(iVar25 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27)" ( (binary_expression "iVar25 + iVar27" identifier + identifier) )))) * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) (expression_statement "local_4f0 = *pdVar28 * local_5a4[0];" (assignment_expression "local_4f0 = *pdVar28 * local_5a4[0]" identifier = (binary_expression "*pdVar28 * local_5a4[0]" (pointer_expression "*pdVar28" * identifier) * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_4e8 = 0.0;\n          }" { (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_4e8 = local_4e8 * local_5a4[0];" (assignment_expression "local_4e8 = local_4e8 * local_5a4[0]" identifier = (binary_expression "local_4e8 * local_5a4[0]" identifier * (subscript_expression "local_5a4[0]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }" { (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_5a4[1] = 1.0;" (assignment_expression "local_5a4[1] = 1.0" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "local_4b0 = *pdVar18 * local_5a4[1];" (assignment_expression "local_4b0 = *pdVar18 * local_5a4[1]" identifier = (binary_expression "*pdVar18 * local_5a4[1]" (pointer_expression "*pdVar18" * identifier) * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_4a8 = *pdVar19 * local_5a4[1];" (assignment_expression "local_4a8 = *pdVar19 * local_5a4[1]" identifier = (binary_expression "*pdVar19 * local_5a4[1]" (pointer_expression "*pdVar19" * identifier) * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_4a0 = *pdVar20 * local_5a4[1];" (assignment_expression "local_4a0 = *pdVar20 * local_5a4[1]" identifier = (binary_expression "*pdVar20 * local_5a4[1]" (pointer_expression "*pdVar20" * identifier) * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_498 = 0.0;\n          }" { (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_498 = local_498 * local_5a4[1];" (assignment_expression "local_498 = local_498 * local_5a4[1]" identifier = (binary_expression "local_498 * local_5a4[1]" identifier * (subscript_expression "local_5a4[1]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }" { (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_5a4[2] = 1.0;" (assignment_expression "local_5a4[2] = 1.0" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "local_460 = *pdVar21 * local_5a4[2];" (assignment_expression "local_460 = *pdVar21 * local_5a4[2]" identifier = (binary_expression "*pdVar21 * local_5a4[2]" (pointer_expression "*pdVar21" * identifier) * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_458 = *pdVar26 * local_5a4[2];" (assignment_expression "local_458 = *pdVar26 * local_5a4[2]" identifier = (binary_expression "*pdVar26 * local_5a4[2]" (pointer_expression "*pdVar26" * identifier) * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_450 = *pdVar22 * local_5a4[2];" (assignment_expression "local_450 = *pdVar22 * local_5a4[2]" identifier = (binary_expression "*pdVar22 * local_5a4[2]" (pointer_expression "*pdVar22" * identifier) * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_448 = 0.0;\n          }" { (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_448 = local_448 * local_5a4[2];" (assignment_expression "local_448 = local_448 * local_5a4[2]" identifier = (binary_expression "local_448 * local_5a4[2]" identifier * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }" { (expression_statement "local_440 = (double)DAT_002df8a8;" (assignment_expression "local_440 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_5a4[3] = 1.0;" (assignment_expression "local_5a4[3] = 1.0" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) = (binary_expression "_DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" identifier * (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) }))) (expression_statement "local_410 = *pdVar14 * local_5a4[3];" (assignment_expression "local_410 = *pdVar14 * local_5a4[3]" identifier = (binary_expression "*pdVar14 * local_5a4[3]" (pointer_expression "*pdVar14" * identifier) * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_408 = *pdVar15 * local_5a4[3];" (assignment_expression "local_408 = *pdVar15 * local_5a4[3]" identifier = (binary_expression "*pdVar15 * local_5a4[3]" (pointer_expression "*pdVar15" * identifier) * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_400 = *pdVar16 * local_5a4[3];" (assignment_expression "local_400 = *pdVar16 * local_5a4[3]" identifier = (binary_expression "*pdVar16 * local_5a4[3]" (pointer_expression "*pdVar16" * identifier) * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }" { (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" * (cast_expression "(int *)(iVar5 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            local_3f8 = 0.0;\n          }" { (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" else (compound_statement "{\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" { (expression_statement "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "local_3f8 = local_3f8 * local_5a4[3];" (assignment_expression "local_3f8 = local_3f8 * local_5a4[3]" identifier = (binary_expression "local_3f8 * local_5a4[3]" identifier * (subscript_expression "local_5a4[3]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_66c = (double)DAT_002df8a8;\n        }" { (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" else (compound_statement "{\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" { (expression_statement "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" * (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" ( (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) }))) (expression_statement "dVar9 = 1.0 - param_4;" (assignment_expression "dVar9 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "local_500 = dStack_5ec;" (assignment_expression "local_500 = dStack_5ec" identifier = identifier) ;) (expression_statement "local_3f0 = local_66c;" (assignment_expression "local_3f0 = local_66c" identifier = identifier) ;) (if_statement "if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" if (parenthesized_expression "(ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)))" ( (binary_expression "ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" (call_expression "ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21))" identifier (argument_list "((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21))" ( (binary_expression "(*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)" (parenthesized_expression "(*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8)" ( (binary_expression "*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8" (binary_expression "*pdVar20 * dVar7 + *pdVar19 * dVar1" (binary_expression "*pdVar20 * dVar7" (pointer_expression "*pdVar20" * identifier) * identifier) + (binary_expression "*pdVar19 * dVar1" (pointer_expression "*pdVar19" * identifier) * identifier)) + (binary_expression "*pdVar18 * dVar8" (pointer_expression "*pdVar18" * identifier) * identifier)) )) - (parenthesized_expression "(dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)" ( (binary_expression "dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21" (binary_expression "dVar7 * *pdVar22 + dVar1 * *pdVar26" (binary_expression "dVar7 * *pdVar22" identifier * (pointer_expression "*pdVar22" * identifier)) + (binary_expression "dVar1 * *pdVar26" identifier * (pointer_expression "*pdVar26" * identifier))) + (binary_expression "dVar8 * *pdVar21" identifier * (pointer_expression "*pdVar21" * identifier))) ))) ))) <= (call_expression "ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" identifier (argument_list "((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" ( (binary_expression "(*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)" (parenthesized_expression "(*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1)" ( (binary_expression "*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1" (binary_expression "*pdVar28 * dVar7 + dVar35" (binary_expression "*pdVar28 * dVar7" (pointer_expression "*pdVar28" * identifier) * identifier) + identifier) + (binary_expression "*(double *)(iVar25 + iVar27) * dVar1" (pointer_expression "*(double *)(iVar25 + iVar27)" * (cast_expression "(double *)(iVar25 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar27)" ( (binary_expression "iVar25 + iVar27" identifier + identifier) )))) * identifier)) )) - (parenthesized_expression "(*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)" ( (binary_expression "*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8" (binary_expression "*pdVar16 * dVar7 + *pdVar15 * dVar1" (binary_expression "*pdVar16 * dVar7" (pointer_expression "*pdVar16" * identifier) * identifier) + (binary_expression "*pdVar15 * dVar1" (pointer_expression "*pdVar15" * identifier) * identifier)) + (binary_expression "*pdVar14 * dVar8" (pointer_expression "*pdVar14" * identifier) * identifier)) ))) )))) )) (compound_statement "{\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }" { (expression_statement "dVar35 = 1.0 - param_5;" (assignment_expression "dVar35 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (if_statement "if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" if (parenthesized_expression "(dVar35 < param_4)" ( (binary_expression "dVar35 < param_4" identifier < identifier) )) (compound_statement "{\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }" { (expression_statement "dVar8 = (1.0 - dVar9) - dVar35;" (assignment_expression "dVar8 = (1.0 - dVar9) - dVar35" identifier = (binary_expression "(1.0 - dVar9) - dVar35" (parenthesized_expression "(1.0 - dVar9)" ( (binary_expression "1.0 - dVar9" number_literal - identifier) )) - identifier)) ;) (expression_statement "dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;" (assignment_expression "dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9" identifier = (binary_expression "local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9" (binary_expression "local_5a4[3] * dVar8 + local_5a4[1] * dVar35" (binary_expression "local_5a4[3] * dVar8" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[1] * dVar35" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier)) + (binary_expression "local_5a4[2] * dVar9" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar7 = DAT_002df8d8;" (assignment_expression "dVar7 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar11 = dVar1;" (assignment_expression "dVar11 = dVar1" identifier = identifier) ;) (if_statement "if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }" { (expression_statement "dVar7 = DAT_002df8e0;" (assignment_expression "dVar7 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar11 = -dVar1;" (assignment_expression "dVar11 = -dVar1" identifier = (unary_expression "-dVar1" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }" if (parenthesized_expression "(DAT_002df2d0 <= dVar11)" ( (binary_expression "DAT_002df2d0 <= dVar11" identifier <= identifier) )) (compound_statement "{\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }" { (expression_statement "dVar7 = (double)DAT_002df8b4 / dVar1;" (assignment_expression "dVar7 = (double)DAT_002df8b4 / dVar1" identifier = (binary_expression "(double)DAT_002df8b4 / dVar1" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7" (parenthesized_expression "(local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9)" ( (binary_expression "local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9" (binary_expression "local_410 * dVar8 + local_4b0 * dVar35" (binary_expression "local_410 * dVar8" identifier * identifier) + (binary_expression "local_4b0 * dVar35" identifier * identifier)) + (binary_expression "local_460 * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7" (parenthesized_expression "(local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9)" ( (binary_expression "local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9" (binary_expression "local_408 * dVar8 + local_4a8 * dVar35" (binary_expression "local_408 * dVar8" identifier * identifier) + (binary_expression "local_4a8 * dVar35" identifier * identifier)) + (binary_expression "local_458 * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7" (parenthesized_expression "(local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9)" ( (binary_expression "local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9" (binary_expression "local_400 * dVar8 + local_4a0 * dVar35" (binary_expression "local_400 * dVar8" identifier * identifier) + (binary_expression "local_4a0 * dVar35" identifier * identifier)) + (binary_expression "local_450 * dVar9" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }" { (expression_statement "*(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7" (parenthesized_expression "(local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9)" ( (binary_expression "local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9" (binary_expression "local_3f8 * dVar8 + local_498 * dVar35" (binary_expression "local_3f8 * dVar8" identifier * identifier) + (binary_expression "local_498 * dVar35" identifier * identifier)) + (binary_expression "local_448 * dVar9" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);" (assignment_expression "*(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" (parenthesized_expression "(dVar9 + dVar35 + dVar8)" ( (binary_expression "dVar9 + dVar35 + dVar8" (binary_expression "dVar9 + dVar35" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" ( (binary_expression "local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9" (binary_expression "local_66c * dVar8 + local_490 * dVar35" (binary_expression "local_66c * dVar8" identifier * identifier) + (binary_expression "local_490 * dVar35" identifier * identifier)) + (binary_expression "local_440 * dVar9" identifier * identifier)) )))) ;) }) (else_clause "else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" else (compound_statement "{\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" { (expression_statement "dVar9 = dVar9 - param_5;" (assignment_expression "dVar9 = dVar9 - param_5" identifier = (binary_expression "dVar9 - param_5" identifier - identifier)) ;) (expression_statement "dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;" (assignment_expression "dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4" identifier = (binary_expression "local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4" (binary_expression "local_5a4[0] * dVar9 + param_5 * local_5a4[2]" (binary_expression "local_5a4[0] * dVar9" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier) + (binary_expression "param_5 * local_5a4[2]" identifier * (subscript_expression "local_5a4[2]" identifier [ number_literal ]))) + (binary_expression "local_5a4[1] * param_4" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar7 = dVar35;" (assignment_expression "dVar7 = dVar35" identifier = identifier) ;) (if_statement "if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }" if (parenthesized_expression "(dVar35 < 0.0)" ( (binary_expression "dVar35 < 0.0" identifier < number_literal) )) (compound_statement "{\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar7 = -dVar35;" (assignment_expression "dVar7 = -dVar35" identifier = (unary_expression "-dVar35" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }" if (parenthesized_expression "(DAT_002df2d0 <= dVar7)" ( (binary_expression "DAT_002df2d0 <= dVar7" identifier <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" identifier = (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1" (parenthesized_expression "(dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4)" ( (binary_expression "dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4" (binary_expression "dStack_5ec * dVar9 + local_460 * param_5" (binary_expression "dStack_5ec * dVar9" identifier * identifier) + (binary_expression "local_460 * param_5" identifier * identifier)) + (binary_expression "local_4b0 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1" (parenthesized_expression "(local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4)" ( (binary_expression "local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4" (binary_expression "local_4f8 * dVar9 + local_458 * param_5" (binary_expression "local_4f8 * dVar9" identifier * identifier) + (binary_expression "local_458 * param_5" identifier * identifier)) + (binary_expression "local_4a8 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1" (parenthesized_expression "(local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4)" ( (binary_expression "local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4" (binary_expression "local_4f0 * dVar9 + local_450 * param_5" (binary_expression "local_4f0 * dVar9" identifier * identifier) + (binary_expression "local_450 * param_5" identifier * identifier)) + (binary_expression "local_4a0 * param_4" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }" { (expression_statement "*(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1" (parenthesized_expression "(local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5)" ( (binary_expression "local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5" (binary_expression "local_4e8 * dVar9 + param_4 * local_498" (binary_expression "local_4e8 * dVar9" identifier * identifier) + (binary_expression "param_4 * local_498" identifier * identifier)) + (binary_expression "local_448 * param_5" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);" (assignment_expression "*(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" (parenthesized_expression "(dVar9 + param_4 + param_5)" ( (binary_expression "dVar9 + param_4 + param_5" (binary_expression "dVar9 + param_4" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" ( (binary_expression "local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5" (binary_expression "local_4e0 * dVar9 + local_490 * param_4" (binary_expression "local_4e0 * dVar9" identifier * identifier) + (binary_expression "local_490 * param_4" identifier * identifier)) + (binary_expression "local_440 * param_5" identifier * identifier)) )))) ;) }))) }) (else_clause "else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" else (if_statement "if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" if (parenthesized_expression "(param_5 < param_4)" ( (binary_expression "param_5 < param_4" identifier < identifier) )) (compound_statement "{\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }" { (expression_statement "dVar7 = (1.0 - dVar9) - param_5;" (assignment_expression "dVar7 = (1.0 - dVar9) - param_5" identifier = (binary_expression "(1.0 - dVar9) - param_5" (parenthesized_expression "(1.0 - dVar9)" ( (binary_expression "1.0 - dVar9" number_literal - identifier) )) - identifier)) ;) (expression_statement "dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;" (assignment_expression "dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5" identifier = (binary_expression "local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5" (binary_expression "local_5a4[1] * dVar7 + local_5a4[0] * dVar9" (binary_expression "local_5a4[1] * dVar7" (subscript_expression "local_5a4[1]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[0] * dVar9" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier)) + (binary_expression "local_5a4[3] * param_5" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar8 = dVar35;" (assignment_expression "dVar8 = dVar35" identifier = identifier) ;) (if_statement "if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }" if (parenthesized_expression "(dVar35 < 0.0)" ( (binary_expression "dVar35 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar8 = -dVar35;" (assignment_expression "dVar8 = -dVar35" identifier = (unary_expression "-dVar35" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" if (parenthesized_expression "(DAT_002df2d0 <= dVar8)" ( (binary_expression "DAT_002df2d0 <= dVar8" identifier <= identifier) )) (compound_statement "{\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" identifier = (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1" (parenthesized_expression "(local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9)" ( (binary_expression "local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9" (binary_expression "local_4b0 * dVar7 + local_410 * param_5" (binary_expression "local_4b0 * dVar7" identifier * identifier) + (binary_expression "local_410 * param_5" identifier * identifier)) + (binary_expression "dStack_5ec * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1" (parenthesized_expression "(local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9)" ( (binary_expression "local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9" (binary_expression "local_4a8 * dVar7 + local_408 * param_5" (binary_expression "local_4a8 * dVar7" identifier * identifier) + (binary_expression "local_408 * param_5" identifier * identifier)) + (binary_expression "local_4f8 * dVar9" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1" (parenthesized_expression "(local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9)" ( (binary_expression "local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9" (binary_expression "local_4a0 * dVar7 + local_400 * param_5" (binary_expression "local_4a0 * dVar7" identifier * identifier) + (binary_expression "local_400 * param_5" identifier * identifier)) + (binary_expression "local_4f0 * dVar9" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }" { (expression_statement "*(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1" (parenthesized_expression "(local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5)" ( (binary_expression "local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5" (binary_expression "local_498 * dVar7 + local_4e8 * dVar9" (binary_expression "local_498 * dVar7" identifier * identifier) + (binary_expression "local_4e8 * dVar9" identifier * identifier)) + (binary_expression "local_3f8 * param_5" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);" (assignment_expression "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" (parenthesized_expression "(dVar9 + param_5 + dVar7)" ( (binary_expression "dVar9 + param_5 + dVar7" (binary_expression "dVar9 + param_5" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" ( (binary_expression "local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5" (binary_expression "local_490 * dVar7 + local_4e0 * dVar9" (binary_expression "local_490 * dVar7" identifier * identifier) + (binary_expression "local_4e0 * dVar9" identifier * identifier)) + (binary_expression "local_66c * param_5" identifier * identifier)) )))) ;) }) (else_clause "else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" else (compound_statement "{\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" { (expression_statement "param_5 = 1.0 - param_5;" (assignment_expression "param_5 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar9 = dVar9 - param_5;" (assignment_expression "dVar9 = dVar9 - param_5" identifier = (binary_expression "dVar9 - param_5" identifier - identifier)) ;) (expression_statement "dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;" (assignment_expression "dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4" identifier = (binary_expression "local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4" (binary_expression "local_5a4[2] * dVar9 + local_5a4[0] * param_5" (binary_expression "local_5a4[2] * dVar9" (subscript_expression "local_5a4[2]" identifier [ number_literal ]) * identifier) + (binary_expression "local_5a4[0] * param_5" (subscript_expression "local_5a4[0]" identifier [ number_literal ]) * identifier)) + (binary_expression "local_5a4[3] * param_4" (subscript_expression "local_5a4[3]" identifier [ number_literal ]) * identifier))) ;) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" identifier = identifier) ;) (expression_statement "dVar7 = dVar35;" (assignment_expression "dVar7 = dVar35" identifier = identifier) ;) (if_statement "if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }" if (parenthesized_expression "(dVar35 < 0.0)" ( (binary_expression "dVar35 < 0.0" identifier < number_literal) )) (compound_statement "{\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }" { (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" identifier = identifier) ;) (expression_statement "dVar7 = -dVar35;" (assignment_expression "dVar7 = -dVar35" identifier = (unary_expression "-dVar35" - identifier)) ;) })) (if_statement "if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" if (parenthesized_expression "(DAT_002df2d0 <= dVar7)" ( (binary_expression "DAT_002df2d0 <= dVar7" identifier <= identifier) )) (compound_statement "{\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" { (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" identifier = (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) })) (expression_statement "*(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1" (parenthesized_expression "(local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4)" ( (binary_expression "local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4" (binary_expression "local_460 * dVar9 + dStack_5ec * param_5" (binary_expression "local_460 * dVar9" identifier * identifier) + (binary_expression "dStack_5ec * param_5" identifier * identifier)) + (binary_expression "local_410 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1" (parenthesized_expression "(local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4)" ( (binary_expression "local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4" (binary_expression "local_458 * dVar9 + local_4f8 * param_5" (binary_expression "local_458 * dVar9" identifier * identifier) + (binary_expression "local_4f8 * param_5" identifier * identifier)) + (binary_expression "local_408 * param_4" identifier * identifier)) )) * identifier)) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1" (parenthesized_expression "(local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4)" ( (binary_expression "local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4" (binary_expression "local_450 * dVar9 + local_4f0 * param_5" (binary_expression "local_450 * dVar9" identifier * identifier) + (binary_expression "local_4f0 * param_5" identifier * identifier)) + (binary_expression "local_400 * param_4" identifier * identifier)) )) * identifier)) ;) (if_statement "if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }" if (parenthesized_expression "(iVar29 == 2)" ( (binary_expression "iVar29 == 2" identifier == number_literal) )) (compound_statement "{\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }" { (expression_statement "*(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1" (parenthesized_expression "(local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4)" ( (binary_expression "local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4" (binary_expression "local_448 * dVar9 + local_4e8 * param_5" (binary_expression "local_448 * dVar9" identifier * identifier) + (binary_expression "local_4e8 * param_5" identifier * identifier)) + (binary_expression "local_3f8 * param_4" identifier * identifier)) )) * identifier)) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);" (assignment_expression "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" (parenthesized_expression "(dVar9 + param_4 + param_5)" ( (binary_expression "dVar9 + param_4 + param_5" (binary_expression "dVar9 + param_4" identifier + identifier) + identifier) )) * (parenthesized_expression "(local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" ( (binary_expression "local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4" (binary_expression "local_440 * dVar9 + local_4e0 * param_5" (binary_expression "local_440 * dVar9" identifier * identifier) + (binary_expression "local_4e0 * param_5" identifier * identifier)) + (binary_expression "local_66c * param_4" identifier * identifier)) )))) ;) }))))) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;" case number_literal : (expression_statement "iVar25 = -0x7ffffdff;" (assignment_expression "iVar25 = -0x7ffffdff" identifier = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }" if (parenthesized_expression "((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" ( (binary_expression "DAT_002f2490 <= param_4" identifier <= identifier) )) && (parenthesized_expression "(iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)" ( (comma_expression "iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498" (assignment_expression "iVar25 = 0x7ffffdff" identifier = number_literal) , (binary_expression "param_4 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }" { (expression_statement "dVar35 = floor(param_4 + (double)DAT_002df2b8);" (assignment_expression "dVar35 = floor(param_4 + (double)DAT_002df2b8)" identifier = (call_expression "floor(param_4 + (double)DAT_002df2b8)" identifier (argument_list "(param_4 + (double)DAT_002df2b8)" ( (binary_expression "param_4 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar25 = (int)ROUND(dVar35);" (assignment_expression "iVar25 = (int)ROUND(dVar35)" identifier = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (expression_statement "iVar23 = -0x7ffffdff;" (assignment_expression "iVar23 = -0x7ffffdff" identifier = number_literal) ;) (if_statement "if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }" if (parenthesized_expression "((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498))" ( (binary_expression "(DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" ( (binary_expression "DAT_002f2490 <= param_5" identifier <= identifier) )) && (parenthesized_expression "(iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)" ( (comma_expression "iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498" (assignment_expression "iVar23 = 0x7ffffdff" identifier = number_literal) , (binary_expression "param_5 <= DAT_002f2498" identifier <= identifier)) ))) )) (compound_statement "{\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }" { (expression_statement "dVar35 = floor(param_5 + (double)DAT_002df2b8);" (assignment_expression "dVar35 = floor(param_5 + (double)DAT_002df2b8)" identifier = (call_expression "floor(param_5 + (double)DAT_002df2b8)" identifier (argument_list "(param_5 + (double)DAT_002df2b8)" ( (binary_expression "param_5 + (double)DAT_002df2b8" identifier + (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar23 = (int)ROUND(dVar35);" (assignment_expression "iVar23 = (int)ROUND(dVar35)" identifier = (cast_expression "(int)ROUND(dVar35)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(dVar35)" identifier (argument_list "(dVar35)" ( identifier ))))) ;) })) (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7)" identifier (argument_list "(param_2,iVar25,iVar23,1,1,param_7)" ( identifier , identifier , identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }" { (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" identifier (argument_list "(param_6,0,0x50)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (goto_statement "goto code_r0x0013517c;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" case number_literal : (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier = (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" identifier (argument_list "(param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" ( identifier , (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" identifier . field_identifier) + number_literal) , (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" identifier . field_identifier) + number_literal) , number_literal , number_literal , identifier )))) ;) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" identifier = identifier) ;) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" { (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" identifier = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" identifier = (subscript_expression "param_1[0xaa]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar29 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x20)" identifier = (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pdVar28 = &local_500;" (assignment_expression "pdVar28 = &local_500" identifier = (pointer_expression "&local_500" & identifier)) ;) (expression_statement "iVar17 = *(int *)(iVar4 + 8);" (assignment_expression "iVar17 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x14)" identifier = (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);" do (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      }" { (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" identifier = (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" * (cast_expression "(double *)(iVar25 + iVar17 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar17 * 8)" ( (binary_expression "iVar25 + iVar17 * 8" identifier + (binary_expression "iVar17 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }" { (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8)" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" { (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              dVar1 = 0.0;\n            }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" else (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1;" (assignment_expression "pdVar28[3] = dVar1" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "code_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;" statement_identifier : (if_statement "if (iVar29 == 0) goto code_r0x00134330;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00134330;" goto statement_identifier ;))) (labeled_statement "code_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" statement_identifier : (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) ;)) }) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" else (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" { (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n            dVar7 = 1.0;\n          }" { (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" else (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" { (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" identifier = (binary_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))) * identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" identifier = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) }))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" identifier [ identifier ]) = identifier) ;) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" * identifier) = identifier) ;) (expression_statement "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" identifier [ number_literal ]) = (binary_expression "dVar7 * *(double *)(iVar25 + iVar6 * 8)" identifier * (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" * (cast_expression "(double *)(iVar25 + iVar6 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar6 * 8)" ( (binary_expression "iVar25 + iVar6 * 8" identifier + (binary_expression "iVar6 * 8" identifier * number_literal)) )))))) ;) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7" (subscript_expression "pdVar28[2]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" * (cast_expression "(double *)(iVar25 + iVar5 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + iVar5 * 8)" ( (binary_expression "iVar25 + iVar5 * 8" identifier + (binary_expression "iVar5 * 8" identifier * number_literal)) )))) * identifier)) ;) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar27 != 2) goto code_r0x0013429a;" if (parenthesized_expression "(iVar27 != 2)" ( (binary_expression "iVar27 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0013429a;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            dVar1 = 0.0;\n          }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" else (compound_statement "{\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" { (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" * (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" ( (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) }))) (expression_statement "pdVar28[3] = dVar1 * dVar7;" (assignment_expression "pdVar28[3] = dVar1 * dVar7" (subscript_expression "pdVar28[3]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar7" identifier * identifier)) ;) (if_statement "if (iVar29 != 0) goto code_r0x001342a2;" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x001342a2;" goto statement_identifier ;)) (labeled_statement "code_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;" statement_identifier : (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" identifier = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;)) }))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "pdVar28[4] = dVar1;" (assignment_expression "pdVar28[4] = dVar1" (subscript_expression "pdVar28[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" identifier = (binary_expression "iVar25 + iVar23 * 8" identifier + (binary_expression "iVar23 * 8" identifier * number_literal))) ;) (expression_statement "pdVar28 = pdVar28 + 10;" (assignment_expression "pdVar28 = pdVar28 + 10" identifier = (binary_expression "pdVar28 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 != 0x10)" ( (binary_expression "iVar32 != 0x10" identifier != number_literal) )) ;) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" identifier = (binary_expression "param_4 - (double)local_66c._0_4_" identifier - (cast_expression "(double)local_66c._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_66c._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" identifier = (binary_expression "1.0 - param_4" number_literal - identifier)) ;) (expression_statement "dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;" (assignment_expression "dVar1 = param_4 * DAT_002f5568 * param_4 * param_4" identifier = (binary_expression "param_4 * DAT_002f5568 * param_4 * param_4" (binary_expression "param_4 * DAT_002f5568 * param_4" (binary_expression "param_4 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;" (assignment_expression "dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35" identifier = (binary_expression "dVar35 * DAT_002f5568 * dVar35 * dVar35" (binary_expression "dVar35 * DAT_002f5568 * dVar35" (binary_expression "dVar35 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);" (assignment_expression "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12)" identifier = (binary_expression "(dVar35 - dVar12) + (dVar1 - dVar12)" (parenthesized_expression "(dVar35 - dVar12)" ( (binary_expression "dVar35 - dVar12" identifier - identifier) )) + (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);" (assignment_expression "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12)" identifier = (binary_expression "(param_4 - dVar1) - (dVar1 - dVar12)" (parenthesized_expression "(param_4 - dVar1)" ( (binary_expression "param_4 - dVar1" identifier - identifier) )) - (parenthesized_expression "(dVar1 - dVar12)" ( (binary_expression "dVar1 - dVar12" identifier - identifier) )))) ;) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" identifier = (binary_expression "param_5 - (double)local_664._0_4_" identifier - (cast_expression "(double)local_664._0_4_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_664._0_4_" identifier . field_identifier)))) ;) (expression_statement "dVar7 = 1.0 - param_5;" (assignment_expression "dVar7 = 1.0 - param_5" identifier = (binary_expression "1.0 - param_5" number_literal - identifier)) ;) (expression_statement "dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;" (assignment_expression "dVar9 = param_5 * DAT_002f5568 * param_5 * param_5" identifier = (binary_expression "param_5 * DAT_002f5568 * param_5 * param_5" (binary_expression "param_5 * DAT_002f5568 * param_5" (binary_expression "param_5 * DAT_002f5568" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;" (assignment_expression "dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7" identifier = (binary_expression "DAT_002f5568 * dVar7 * dVar7 * dVar7" (binary_expression "DAT_002f5568 * dVar7 * dVar7" (binary_expression "DAT_002f5568 * dVar7" identifier * identifier) * identifier) * identifier)) ;) (expression_statement "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);" (assignment_expression "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11)" identifier = (binary_expression "(dVar7 - dVar11) + (dVar9 - dVar11)" (parenthesized_expression "(dVar7 - dVar11)" ( (binary_expression "dVar7 - dVar11" identifier - identifier) )) + (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);" (assignment_expression "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11)" identifier = (binary_expression "(param_5 - dVar9) - (dVar9 - dVar11)" (parenthesized_expression "(param_5 - dVar9)" ( (binary_expression "param_5 - dVar9" identifier - identifier) )) - (parenthesized_expression "(dVar9 - dVar11)" ( (binary_expression "dVar9 - dVar11" identifier - identifier) )))) ;) (expression_statement "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 8)" * (cast_expression "(double *)(param_6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) = (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12)" ( (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35" (binary_expression "dStack_50 * dVar1" identifier * identifier) + (binary_expression "dStack_a0 * dVar35" identifier * identifier)) + (binary_expression "dStack_f0 * dVar13" identifier * identifier)) + (binary_expression "dStack_140 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (parenthesized_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12)" ( (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35" (binary_expression "dStack_190 * dVar1" identifier * identifier) + (binary_expression "dStack_1e0 * dVar35" identifier * identifier)) + (binary_expression "dStack_230 * dVar13" identifier * identifier)) + (binary_expression "dStack_280 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12)" ( (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35" (binary_expression "dStack_2d0 * dVar1" identifier * identifier) + (binary_expression "dStack_320 * dVar35" identifier * identifier)) + (binary_expression "dStack_370 * dVar13" identifier * identifier)) + (binary_expression "dStack_3c0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   )" ( (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12" (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13" (binary_expression "local_410 * dVar1 + local_460 * dVar35" (binary_expression "local_410 * dVar1" identifier * identifier) + (binary_expression "local_460 * dVar35" identifier * identifier)) + (binary_expression "local_4b0 * dVar13" identifier * identifier)) + (binary_expression "local_500 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 10)" * (cast_expression "(double *)(param_6 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 10)" ( (binary_expression "param_6 + 10" identifier + number_literal) )))) = (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12)" ( (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35" (binary_expression "dStack_48 * dVar1" identifier * identifier) + (binary_expression "dStack_98 * dVar35" identifier * identifier)) + (binary_expression "dStack_e8 * dVar13" identifier * identifier)) + (binary_expression "dStack_138 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (parenthesized_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12)" ( (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35" (binary_expression "dStack_188 * dVar1" identifier * identifier) + (binary_expression "dStack_1d8 * dVar35" identifier * identifier)) + (binary_expression "dStack_228 * dVar13" identifier * identifier)) + (binary_expression "dStack_278 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12)" ( (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35" (binary_expression "dStack_2c8 * dVar1" identifier * identifier) + (binary_expression "dStack_318 * dVar35" identifier * identifier)) + (binary_expression "dStack_368 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   )" ( (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12" (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13" (binary_expression "local_408 * dVar1 + local_458 * dVar35" (binary_expression "local_408 * dVar1" identifier * identifier) + (binary_expression "local_458 * dVar35" identifier * identifier)) + (binary_expression "local_4a8 * dVar13" identifier * identifier)) + (binary_expression "local_4f8 * dVar12" identifier * identifier)) )) * identifier))) ;) (expression_statement "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0xc)" * (cast_expression "(double *)(param_6 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) = (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12)" ( (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35" (binary_expression "dStack_40 * dVar1" identifier * identifier) + (binary_expression "dStack_90 * dVar35" identifier * identifier)) + (binary_expression "dStack_e0 * dVar13" identifier * identifier)) + (binary_expression "dStack_130 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (parenthesized_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12)" ( (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35" (binary_expression "dStack_180 * dVar1" identifier * identifier) + (binary_expression "dStack_1d0 * dVar35" identifier * identifier)) + (binary_expression "dStack_220 * dVar13" identifier * identifier)) + (binary_expression "dStack_270 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12)" ( (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35" (binary_expression "dStack_2c0 * dVar1" identifier * identifier) + (binary_expression "dStack_310 * dVar35" identifier * identifier)) + (binary_expression "dStack_360 * dVar13" identifier * identifier)) + (binary_expression "dStack_3b0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   )" ( (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12" (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13" (binary_expression "local_400 * dVar1 + local_450 * dVar35" (binary_expression "local_400 * dVar1" identifier * identifier) + (binary_expression "local_450 * dVar35" identifier * identifier)) + (binary_expression "local_4a0 * dVar13" identifier * identifier)) + (binary_expression "local_4f0 * dVar12" identifier * identifier)) )) * identifier))) ;) (if_statement "if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" if (parenthesized_expression "(iVar27 == 2)" ( (binary_expression "iVar27 == 2" identifier == number_literal) )) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" { (expression_statement "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (pointer_expression "*(double *)(param_6 + 0xe)" * (cast_expression "(double *)(param_6 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xe)" ( (binary_expression "param_6 + 0xe" identifier + number_literal) )))) = (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9" (parenthesized_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12)" ( (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35" (binary_expression "dStack_38 * dVar1" identifier * identifier) + (binary_expression "dStack_88 * dVar35" identifier * identifier)) + (binary_expression "dStack_d8 * dVar13" identifier * identifier)) + (binary_expression "dStack_128 * dVar12" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (parenthesized_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12)" ( (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35" (binary_expression "dStack_178 * dVar1" identifier * identifier) + (binary_expression "dStack_1c8 * dVar35" identifier * identifier)) + (binary_expression "dStack_218 * dVar13" identifier * identifier)) + (binary_expression "dStack_268 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12)" ( (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35" (binary_expression "dStack_2b8 * dVar1" identifier * identifier) + (binary_expression "dStack_308 * dVar35" identifier * identifier)) + (binary_expression "dStack_358 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a8 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (parenthesized_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12)" ( (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35" (binary_expression "local_3f8 * dVar1" identifier * identifier) + (binary_expression "local_448 * dVar35" identifier * identifier)) + (binary_expression "local_498 * dVar13" identifier * identifier)) + (binary_expression "local_4e8 * dVar12" identifier * identifier)) )) * identifier))) ;) })) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0x10)" * (cast_expression "(double *)(param_6 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) = (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9" (parenthesized_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120)" ( (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80" (binary_expression "dVar1 * dStack_30" identifier * identifier) + (binary_expression "dVar35 * dStack_80" identifier * identifier)) + (binary_expression "dVar13 * dStack_d0" identifier * identifier)) + (binary_expression "dVar12 * dStack_120" identifier * identifier)) )) * identifier) + (binary_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (parenthesized_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12)" ( (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35" (binary_expression "dStack_170 * dVar1" identifier * identifier) + (binary_expression "dStack_1c0 * dVar35" identifier * identifier)) + (binary_expression "dStack_210 * dVar13" identifier * identifier)) + (binary_expression "dStack_260 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12)" ( (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35" (binary_expression "dStack_2b0 * dVar1" identifier * identifier) + (binary_expression "dStack_300 * dVar35" identifier * identifier)) + (binary_expression "dStack_350 * dVar13" identifier * identifier)) + (binary_expression "dStack_3a0 * dVar12" identifier * identifier)) )) * identifier)) + (binary_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   )" ( (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35" (binary_expression "local_3f0 * dVar1" identifier * identifier) + (binary_expression "local_440 * dVar35" identifier * identifier)) + (binary_expression "local_490 * dVar13" identifier * identifier)) + (binary_expression "local_4e0 * dVar12" identifier * identifier)) )) * identifier))) ;) (goto_statement "goto LAB_00134728;" goto statement_identifier ;) }))) })) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\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    return uVar24;\n  }" { (return_statement "return uVar24;" return identifier ;) }))) (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = LIT) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = LIT) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 * (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_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 IDENT * LIT)) ))))) ;) (expression_statement (assignment_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 IDENT * LIT)) ))))) ;) (expression_statement (assignment_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 { (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 = (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 (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 IDENT == 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 + (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 * IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) * IDENT)) ;) (expression_statement (assignment_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 { (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 = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT)) )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT)) )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT)) )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * IDENT) + (binary_expression IDENT * (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) )) * IDENT)) )))) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (call_expression IDENT (argument_list ( IDENT ))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (call_expression IDENT (argument_list ( IDENT ))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_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 = (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 = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (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 + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) * IDENT)) ;) (expression_statement (assignment_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 = (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 IDENT * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (field_expression IDENT . field_identifier) * LIT) * (field_expression IDENT . field_identifier)) + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (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 (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (field_expression IDENT . field_identifier) * LIT) * (field_expression IDENT . field_identifier)) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (field_expression IDENT . field_identifier) ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_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 + IDENT) ))))) ;) (expression_statement (assignment_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 + IDENT) ))))) ;) (expression_statement (assignment_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) )) (goto_statement goto statement_identifier ;)) (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 = (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)) ))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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)) ))))) ;)) }) (else_clause else (compound_statement { (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 + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ (field_expression IDENT . field_identifier) ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * IDENT)) ;) (expression_statement (assignment_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 { (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 = (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 IDENT * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (field_expression IDENT . field_identifier) + LIT) , (binary_expression (field_expression IDENT . field_identifier) + LIT) , LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 = (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 ]) = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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)) ))))) ;)) }) (else_clause else (compound_statement { (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 (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 * IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_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 (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 = (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 * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT)) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) 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 + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (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 IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (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 = (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_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 = (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (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 = (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (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 = (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) )) (goto_statement goto statement_identifier ;)) }) (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)) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (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 + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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)) ))))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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)) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 = (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 IDENT = (binary_expression IDENT * (subscript_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 + IDENT) )))) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_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 = (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 IDENT * (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (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 * (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 (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_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 = (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 IDENT * (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (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 * (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 (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_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 = (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 IDENT * (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (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 * (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 (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_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 = (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 IDENT * (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * IDENT) * IDENT) + (binary_expression (pointer_expression * IDENT) * IDENT)) + (binary_expression (pointer_expression * IDENT) * IDENT)) )) - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * (pointer_expression * IDENT)) + (binary_expression IDENT * (pointer_expression * IDENT))) + (binary_expression IDENT * (pointer_expression * IDENT))) ))) ))) <= (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * IDENT) * IDENT) + IDENT) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * IDENT)) )) - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * IDENT) * IDENT) + (binary_expression (pointer_expression * IDENT) * IDENT)) + (binary_expression (pointer_expression * IDENT) * IDENT)) ))) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT)) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )) * (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT) + (binary_expression IDENT * (subscript_expression IDENT [ LIT ]))) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )) * (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT)) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )) * (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT)) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )) * (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )))) ;) }))))) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (field_expression IDENT . field_identifier) + LIT) , (binary_expression (field_expression IDENT . field_identifier) + LIT) , LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 = (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 ]) = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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)) ))))) ;)) }) (else_clause else (compound_statement { (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 (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 * IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_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 (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 = (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 * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * IDENT) * IDENT) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * IDENT) * IDENT) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * IDENT) * IDENT) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * IDENT) * IDENT) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT)) )) * IDENT))) ;) (goto_statement goto statement_identifier ;) }))) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (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 { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined4\nInterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)\n\n{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_002decd0();\n}" (type_identifier "undefined4") (function_declarator "InterpolatePixelInfo\n          (undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)" (identifier "InterpolatePixelInfo") (parameter_list "(undefined4 *param_1,int param_2,int param_3,double param_4,double param_5,\n          undefined4 *param_6,undefined4 param_7)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "double param_4" (primitive_type "double") (identifier "param_4")) (, ",") (parameter_declaration "double param_5" (primitive_type "double") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 *param_6" (type_identifier "undefined4") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) () ")"))) (compound_statement "{\n  double dVar1;\n  undefined8 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  float fVar10;\n  double dVar11;\n  double dVar12;\n  double dVar13;\n  double *pdVar14;\n  double *pdVar15;\n  double *pdVar16;\n  int iVar17;\n  double *pdVar18;\n  double *pdVar19;\n  double *pdVar20;\n  double *pdVar21;\n  double *pdVar22;\n  int iVar23;\n  undefined4 uVar24;\n  int iVar25;\n  double *pdVar26;\n  int iVar27;\n  double *pdVar28;\n  int iVar29;\n  undefined4 *puVar30;\n  undefined4 *puVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int in_GS_OFFSET;\n  byte bVar34;\n  double dVar35;\n  double local_66c;\n  double local_664;\n  double local_65c;\n  double local_654;\n  double local_64c;\n  double local_644;\n  int local_63c;\n  int local_614;\n  int iStack_60c;\n  double dStack_5ec;\n  double local_5a4 [16];\n  undefined4 local_520 [8];\n  double local_500;\n  double local_4f8;\n  double local_4f0;\n  double local_4e8;\n  double local_4e0;\n  undefined4 auStack_4d0 [8];\n  double local_4b0;\n  double local_4a8;\n  double local_4a0;\n  double local_498;\n  double local_490;\n  undefined4 auStack_480 [8];\n  double local_460;\n  double local_458;\n  double local_450;\n  double local_448;\n  double local_440;\n  undefined4 auStack_430 [8];\n  double local_410;\n  double local_408;\n  double local_400;\n  double local_3f8;\n  double local_3f0;\n  double dStack_3c0;\n  double dStack_3b8;\n  double dStack_3b0;\n  double dStack_3a8;\n  double dStack_3a0;\n  double dStack_370;\n  double dStack_368;\n  double dStack_360;\n  double dStack_358;\n  double dStack_350;\n  double dStack_320;\n  double dStack_318;\n  double dStack_310;\n  double dStack_308;\n  double dStack_300;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_280;\n  double dStack_278;\n  double dStack_270;\n  double dStack_268;\n  double dStack_260;\n  double dStack_230;\n  double dStack_228;\n  double dStack_220;\n  double dStack_218;\n  double dStack_210;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  double dStack_1c8;\n  double dStack_1c0;\n  double dStack_190;\n  double dStack_188;\n  double dStack_180;\n  double dStack_178;\n  double dStack_170;\n  double dStack_140;\n  double dStack_138;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_f0;\n  double dStack_e8;\n  double dStack_e0;\n  double dStack_d8;\n  double dStack_d0;\n  double dStack_a0;\n  double dStack_98;\n  double dStack_90;\n  double dStack_88;\n  double dStack_80;\n  double dStack_50;\n  double dStack_48;\n  double dStack_40;\n  double dStack_38;\n  double dStack_30;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar34 = 0;\n  uStack_14 = 0x133fb9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }\n  local_66c._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }\n  local_664._0_4_ = -0x7ffffdff;\n  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }\n  if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }\n  ResetMagickMemory(param_6,0,0x50);\n  puVar30 = local_520;\n  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n  uVar24 = *param_1;\n  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);\n  *param_6 = uVar24;\n  param_6[1] = param_1[1];\n  param_6[5] = param_1[8];\n  param_6[2] = param_1[0xa5];\n  puVar31 = puVar30;\n  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }\n  switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }\n  uVar24 = 0;\nLAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }\n                    \n  FUN_002decd0();\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "double dVar7;" (primitive_type "double") (identifier "dVar7") (; ";")) (declaration "double dVar8;" (primitive_type "double") (identifier "dVar8") (; ";")) (declaration "double dVar9;" (primitive_type "double") (identifier "dVar9") (; ";")) (declaration "float fVar10;" (primitive_type "float") (identifier "fVar10") (; ";")) (declaration "double dVar11;" (primitive_type "double") (identifier "dVar11") (; ";")) (declaration "double dVar12;" (primitive_type "double") (identifier "dVar12") (; ";")) (declaration "double dVar13;" (primitive_type "double") (identifier "dVar13") (; ";")) (declaration "double *pdVar14;" (primitive_type "double") (pointer_declarator "*pdVar14" (* "*") (identifier "pdVar14")) (; ";")) (declaration "double *pdVar15;" (primitive_type "double") (pointer_declarator "*pdVar15" (* "*") (identifier "pdVar15")) (; ";")) (declaration "double *pdVar16;" (primitive_type "double") (pointer_declarator "*pdVar16" (* "*") (identifier "pdVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "double *pdVar18;" (primitive_type "double") (pointer_declarator "*pdVar18" (* "*") (identifier "pdVar18")) (; ";")) (declaration "double *pdVar19;" (primitive_type "double") (pointer_declarator "*pdVar19" (* "*") (identifier "pdVar19")) (; ";")) (declaration "double *pdVar20;" (primitive_type "double") (pointer_declarator "*pdVar20" (* "*") (identifier "pdVar20")) (; ";")) (declaration "double *pdVar21;" (primitive_type "double") (pointer_declarator "*pdVar21" (* "*") (identifier "pdVar21")) (; ";")) (declaration "double *pdVar22;" (primitive_type "double") (pointer_declarator "*pdVar22" (* "*") (identifier "pdVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "undefined4 uVar24;" (type_identifier "undefined4") (identifier "uVar24") (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "double *pdVar26;" (primitive_type "double") (pointer_declarator "*pdVar26" (* "*") (identifier "pdVar26")) (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "double *pdVar28;" (primitive_type "double") (pointer_declarator "*pdVar28" (* "*") (identifier "pdVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "undefined4 *puVar30;" (type_identifier "undefined4") (pointer_declarator "*puVar30" (* "*") (identifier "puVar30")) (; ";")) (declaration "undefined4 *puVar31;" (type_identifier "undefined4") (pointer_declarator "*puVar31" (* "*") (identifier "puVar31")) (; ";")) (declaration "int iVar32;" (primitive_type "int") (identifier "iVar32") (; ";")) (declaration "undefined4 *puVar33;" (type_identifier "undefined4") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte bVar34;" (type_identifier "byte") (identifier "bVar34") (; ";")) (declaration "double dVar35;" (primitive_type "double") (identifier "dVar35") (; ";")) (declaration "double local_66c;" (primitive_type "double") (identifier "local_66c") (; ";")) (declaration "double local_664;" (primitive_type "double") (identifier "local_664") (; ";")) (declaration "double local_65c;" (primitive_type "double") (identifier "local_65c") (; ";")) (declaration "double local_654;" (primitive_type "double") (identifier "local_654") (; ";")) (declaration "double local_64c;" (primitive_type "double") (identifier "local_64c") (; ";")) (declaration "double local_644;" (primitive_type "double") (identifier "local_644") (; ";")) (declaration "int local_63c;" (primitive_type "int") (identifier "local_63c") (; ";")) (declaration "int local_614;" (primitive_type "int") (identifier "local_614") (; ";")) (declaration "int iStack_60c;" (primitive_type "int") (identifier "iStack_60c") (; ";")) (declaration "double dStack_5ec;" (primitive_type "double") (identifier "dStack_5ec") (; ";")) (declaration "double local_5a4 [16];" (primitive_type "double") (array_declarator "local_5a4 [16]" (identifier "local_5a4") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_520 [8];" (type_identifier "undefined4") (array_declarator "local_520 [8]" (identifier "local_520") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "double local_500;" (primitive_type "double") (identifier "local_500") (; ";")) (declaration "double local_4f8;" (primitive_type "double") (identifier "local_4f8") (; ";")) (declaration "double local_4f0;" (primitive_type "double") (identifier "local_4f0") (; ";")) (declaration "double local_4e8;" (primitive_type "double") (identifier "local_4e8") (; ";")) (declaration "double local_4e0;" (primitive_type "double") (identifier "local_4e0") (; ";")) (declaration "undefined4 auStack_4d0 [8];" (type_identifier "undefined4") (array_declarator "auStack_4d0 [8]" (identifier "auStack_4d0") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "double local_4b0;" (primitive_type "double") (identifier "local_4b0") (; ";")) (declaration "double local_4a8;" (primitive_type "double") (identifier "local_4a8") (; ";")) (declaration "double local_4a0;" (primitive_type "double") (identifier "local_4a0") (; ";")) (declaration "double local_498;" (primitive_type "double") (identifier "local_498") (; ";")) (declaration "double local_490;" (primitive_type "double") (identifier "local_490") (; ";")) (declaration "undefined4 auStack_480 [8];" (type_identifier "undefined4") (array_declarator "auStack_480 [8]" (identifier "auStack_480") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "double local_460;" (primitive_type "double") (identifier "local_460") (; ";")) (declaration "double local_458;" (primitive_type "double") (identifier "local_458") (; ";")) (declaration "double local_450;" (primitive_type "double") (identifier "local_450") (; ";")) (declaration "double local_448;" (primitive_type "double") (identifier "local_448") (; ";")) (declaration "double local_440;" (primitive_type "double") (identifier "local_440") (; ";")) (declaration "undefined4 auStack_430 [8];" (type_identifier "undefined4") (array_declarator "auStack_430 [8]" (identifier "auStack_430") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "double local_410;" (primitive_type "double") (identifier "local_410") (; ";")) (declaration "double local_408;" (primitive_type "double") (identifier "local_408") (; ";")) (declaration "double local_400;" (primitive_type "double") (identifier "local_400") (; ";")) (declaration "double local_3f8;" (primitive_type "double") (identifier "local_3f8") (; ";")) (declaration "double local_3f0;" (primitive_type "double") (identifier "local_3f0") (; ";")) (declaration "double dStack_3c0;" (primitive_type "double") (identifier "dStack_3c0") (; ";")) (declaration "double dStack_3b8;" (primitive_type "double") (identifier "dStack_3b8") (; ";")) (declaration "double dStack_3b0;" (primitive_type "double") (identifier "dStack_3b0") (; ";")) (declaration "double dStack_3a8;" (primitive_type "double") (identifier "dStack_3a8") (; ";")) (declaration "double dStack_3a0;" (primitive_type "double") (identifier "dStack_3a0") (; ";")) (declaration "double dStack_370;" (primitive_type "double") (identifier "dStack_370") (; ";")) (declaration "double dStack_368;" (primitive_type "double") (identifier "dStack_368") (; ";")) (declaration "double dStack_360;" (primitive_type "double") (identifier "dStack_360") (; ";")) (declaration "double dStack_358;" (primitive_type "double") (identifier "dStack_358") (; ";")) (declaration "double dStack_350;" (primitive_type "double") (identifier "dStack_350") (; ";")) (declaration "double dStack_320;" (primitive_type "double") (identifier "dStack_320") (; ";")) (declaration "double dStack_318;" (primitive_type "double") (identifier "dStack_318") (; ";")) (declaration "double dStack_310;" (primitive_type "double") (identifier "dStack_310") (; ";")) (declaration "double dStack_308;" (primitive_type "double") (identifier "dStack_308") (; ";")) (declaration "double dStack_300;" (primitive_type "double") (identifier "dStack_300") (; ";")) (declaration "double dStack_2d0;" (primitive_type "double") (identifier "dStack_2d0") (; ";")) (declaration "double dStack_2c8;" (primitive_type "double") (identifier "dStack_2c8") (; ";")) (declaration "double dStack_2c0;" (primitive_type "double") (identifier "dStack_2c0") (; ";")) (declaration "double dStack_2b8;" (primitive_type "double") (identifier "dStack_2b8") (; ";")) (declaration "double dStack_2b0;" (primitive_type "double") (identifier "dStack_2b0") (; ";")) (declaration "double dStack_280;" (primitive_type "double") (identifier "dStack_280") (; ";")) (declaration "double dStack_278;" (primitive_type "double") (identifier "dStack_278") (; ";")) (declaration "double dStack_270;" (primitive_type "double") (identifier "dStack_270") (; ";")) (declaration "double dStack_268;" (primitive_type "double") (identifier "dStack_268") (; ";")) (declaration "double dStack_260;" (primitive_type "double") (identifier "dStack_260") (; ";")) (declaration "double dStack_230;" (primitive_type "double") (identifier "dStack_230") (; ";")) (declaration "double dStack_228;" (primitive_type "double") (identifier "dStack_228") (; ";")) (declaration "double dStack_220;" (primitive_type "double") (identifier "dStack_220") (; ";")) (declaration "double dStack_218;" (primitive_type "double") (identifier "dStack_218") (; ";")) (declaration "double dStack_210;" (primitive_type "double") (identifier "dStack_210") (; ";")) (declaration "double dStack_1e0;" (primitive_type "double") (identifier "dStack_1e0") (; ";")) (declaration "double dStack_1d8;" (primitive_type "double") (identifier "dStack_1d8") (; ";")) (declaration "double dStack_1d0;" (primitive_type "double") (identifier "dStack_1d0") (; ";")) (declaration "double dStack_1c8;" (primitive_type "double") (identifier "dStack_1c8") (; ";")) (declaration "double dStack_1c0;" (primitive_type "double") (identifier "dStack_1c0") (; ";")) (declaration "double dStack_190;" (primitive_type "double") (identifier "dStack_190") (; ";")) (declaration "double dStack_188;" (primitive_type "double") (identifier "dStack_188") (; ";")) (declaration "double dStack_180;" (primitive_type "double") (identifier "dStack_180") (; ";")) (declaration "double dStack_178;" (primitive_type "double") (identifier "dStack_178") (; ";")) (declaration "double dStack_170;" (primitive_type "double") (identifier "dStack_170") (; ";")) (declaration "double dStack_140;" (primitive_type "double") (identifier "dStack_140") (; ";")) (declaration "double dStack_138;" (primitive_type "double") (identifier "dStack_138") (; ";")) (declaration "double dStack_130;" (primitive_type "double") (identifier "dStack_130") (; ";")) (declaration "double dStack_128;" (primitive_type "double") (identifier "dStack_128") (; ";")) (declaration "double dStack_120;" (primitive_type "double") (identifier "dStack_120") (; ";")) (declaration "double dStack_f0;" (primitive_type "double") (identifier "dStack_f0") (; ";")) (declaration "double dStack_e8;" (primitive_type "double") (identifier "dStack_e8") (; ";")) (declaration "double dStack_e0;" (primitive_type "double") (identifier "dStack_e0") (; ";")) (declaration "double dStack_d8;" (primitive_type "double") (identifier "dStack_d8") (; ";")) (declaration "double dStack_d0;" (primitive_type "double") (identifier "dStack_d0") (; ";")) (declaration "double dStack_a0;" (primitive_type "double") (identifier "dStack_a0") (; ";")) (declaration "double dStack_98;" (primitive_type "double") (identifier "dStack_98") (; ";")) (declaration "double dStack_90;" (primitive_type "double") (identifier "dStack_90") (; ";")) (declaration "double dStack_88;" (primitive_type "double") (identifier "dStack_88") (; ";")) (declaration "double dStack_80;" (primitive_type "double") (identifier "dStack_80") (; ";")) (declaration "double dStack_50;" (primitive_type "double") (identifier "dStack_50") (; ";")) (declaration "double dStack_48;" (primitive_type "double") (identifier "dStack_48") (; ";")) (declaration "double dStack_40;" (primitive_type "double") (identifier "dStack_40") (; ";")) (declaration "double dStack_38;" (primitive_type "double") (identifier "dStack_38") (; ";")) (declaration "double dStack_30;" (primitive_type "double") (identifier "dStack_30") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" (identifier "bVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x133fb9;" (assignment_expression "uStack_14 = 0x133fb9" (identifier "uStack_14") (= "=") (number_literal "0x133fb9")) (; ";")) (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")) () ")"))))) (; ";")) (if_statement "if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" (if "if") (parenthesized_expression "(param_1 == (undefined4 *)0x0)" (( "(") (binary_expression "param_1 == (undefined4 *)0x0" (identifier "param_1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");\n  }" ({ "{") (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" (identifier "__assert_fail") (argument_list "("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo")" (( "(") (string_literal ""image != (Image *) NULL"" (" """) (string_content "image != (Image *) NULL") (" """)) (, ",") (string_literal ""MagickCore/pixel.c"" (" """) (string_content "MagickCore/pixel.c") (" """)) (, ",") (number_literal "0x1586") (, ",") (string_literal ""InterpolatePixelInfo"" (" """) (string_content "InterpolatePixelInfo") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" (if "if") (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" (( "(") (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" (identifier "param_1") ([ "[") (number_literal "0xcd1") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,\n                  "InterpolatePixelInfo")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/pixel.c"" (" """) (string_content "MagickCore/pixel.c") (" """)) (, ",") (number_literal "0x1587") (, ",") (string_literal ""InterpolatePixelInfo"" (" """) (string_content "InterpolatePixelInfo") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");\n  }" ({ "{") (expression_statement "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo");" (call_expression "__assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" (identifier "__assert_fail") (argument_list "("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,\n                  "InterpolatePixelInfo")" (( "(") (string_literal ""image_view != (CacheView *) NULL"" (" """) (string_content "image_view != (CacheView *) NULL") (" """)) (, ",") (string_literal ""MagickCore/pixel.c"" (" """) (string_content "MagickCore/pixel.c") (" """)) (, ",") (number_literal "0x1588") (, ",") (string_literal ""InterpolatePixelInfo"" (" """) (string_content "InterpolatePixelInfo") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_66c._0_4_ = -0x7ffffdff;" (assignment_expression "local_66c._0_4_ = -0x7ffffdff" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "-0x7ffffdff")) (; ";")) (if_statement "if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }" (if "if") (parenthesized_expression "((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498))" (( "(") (binary_expression "(DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" (( "(") (binary_expression "DAT_002f2490 <= param_4" (identifier "DAT_002f2490") (<= "<=") (identifier "param_4")) () ")")) (&& "&&") (parenthesized_expression "(local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)" (( "(") (comma_expression "local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498" (assignment_expression "local_66c._0_4_ = 0x7ffffdff" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "0x7ffffdff")) (, ",") (binary_expression "param_4 <= DAT_002f2498" (identifier "param_4") (<= "<=") (identifier "DAT_002f2498"))) () ")"))) () ")")) (compound_statement "{\n    dVar35 = floor(param_4);\n    local_66c._0_4_ = (int)ROUND(dVar35);\n  }" ({ "{") (expression_statement "dVar35 = floor(param_4);" (assignment_expression "dVar35 = floor(param_4)" (identifier "dVar35") (= "=") (call_expression "floor(param_4)" (identifier "floor") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "local_66c._0_4_ = (int)ROUND(dVar35);" (assignment_expression "local_66c._0_4_ = (int)ROUND(dVar35)" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(int)ROUND(dVar35)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar35)" (identifier "ROUND") (argument_list "(dVar35)" (( "(") (identifier "dVar35") () ")"))))) (; ";")) (} "}"))) (expression_statement "local_664._0_4_ = -0x7ffffdff;" (assignment_expression "local_664._0_4_ = -0x7ffffdff" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "-0x7ffffdff")) (; ";")) (if_statement "if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }" (if "if") (parenthesized_expression "((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498))" (( "(") (binary_expression "(DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" (( "(") (binary_expression "DAT_002f2490 <= param_5" (identifier "DAT_002f2490") (<= "<=") (identifier "param_5")) () ")")) (&& "&&") (parenthesized_expression "(local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)" (( "(") (comma_expression "local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498" (assignment_expression "local_664._0_4_ = 0x7ffffdff" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "0x7ffffdff")) (, ",") (binary_expression "param_5 <= DAT_002f2498" (identifier "param_5") (<= "<=") (identifier "DAT_002f2498"))) () ")"))) () ")")) (compound_statement "{\n    dVar35 = floor(param_5);\n    local_664._0_4_ = (int)ROUND(dVar35);\n  }" ({ "{") (expression_statement "dVar35 = floor(param_5);" (assignment_expression "dVar35 = floor(param_5)" (identifier "dVar35") (= "=") (call_expression "floor(param_5)" (identifier "floor") (argument_list "(param_5)" (( "(") (identifier "param_5") () ")")))) (; ";")) (expression_statement "local_664._0_4_ = (int)ROUND(dVar35);" (assignment_expression "local_664._0_4_ = (int)ROUND(dVar35)" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(int)ROUND(dVar35)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar35)" (identifier "ROUND") (argument_list "(dVar35)" (( "(") (identifier "dVar35") () ")"))))) (; ";")) (} "}"))) (if_statement "if (param_3 == 0) {\n    param_3 = param_1[0x98];\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    param_3 = param_1[0x98];\n  }" ({ "{") (expression_statement "param_3 = param_1[0x98];" (assignment_expression "param_3 = param_1[0x98]" (identifier "param_3") (= "=") (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]"))) (; ";")) (} "}"))) (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" (identifier "ResetMagickMemory") (argument_list "(param_6,0,0x50)" (( "(") (identifier "param_6") (, ",") (number_literal "0") (, ",") (number_literal "0x50") () ")"))) (; ";")) (expression_statement "puVar30 = local_520;" (assignment_expression "puVar30 = local_520" (identifier "puVar30") (= "=") (identifier "local_520")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" (identifier "uVar24") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "*(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "*(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88)" (pointer_expression "*(undefined8 *)(param_6 + 3)" (* "*") (cast_expression "(undefined8 *)(param_6 + 3)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 3)" (( "(") (binary_expression "param_6 + 3" (identifier "param_6") (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x88)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x88)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "*param_6 = uVar24;" (assignment_expression "*param_6 = uVar24" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "param_6[1] = param_1[1];" (assignment_expression "param_6[1] = param_1[1]" (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_6[5] = param_1[8];" (assignment_expression "param_6[5] = param_1[8]" (subscript_expression "param_6[5]" (identifier "param_6") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "param_6[2] = param_1[0xa5];" (assignment_expression "param_6[2] = param_1[0xa5]" (subscript_expression "param_6[2]" (identifier "param_6") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "puVar31 = puVar30;" (assignment_expression "puVar31 = puVar30" (identifier "puVar31") (= "=") (identifier "puVar30")) (; ";")) (for_statement "for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar25 = 0x140" (identifier "iVar25") (= "=") (number_literal "0x140")) (; ";") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar25 = iVar25 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar25 + -1" (identifier "iVar25") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *puVar31 = 0;\n    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n  }" ({ "{") (expression_statement "*puVar31 = 0;" (assignment_expression "*puVar31 = 0" (pointer_expression "*puVar31" (* "*") (identifier "puVar31")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" (identifier "puVar31") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (switch_statement "switch(param_3) {\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }" (switch "switch") (parenthesized_expression "(param_3)" (( "(") (identifier "param_3") () ")")) (compound_statement "{\n  default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;\n  case 1:\n  case 2:\n  case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;\n  case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;\n  case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;\n  case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;\n  case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;\n  case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;\n  case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;\n  case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n  }" ({ "{") (case_statement "default:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }\n    break;" (default "default") (: ":") (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (( "(") (identifier "param_2") (, ",") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (, ",") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "2") (, ",") (number_literal "2") (, ",") (identifier "param_7") () ")")))) (; ";")) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" (identifier "dVar35") (= "=") (identifier "_DAT_002df2e0")) (; ";")) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xaa];\n      iVar4 = param_1[0xa5];\n      iVar27 = *(int *)(iVar3 + 0x20);\n      iVar29 = *(int *)(iVar3 + 0x34);\n      iVar5 = param_1[1];\n      iVar17 = *(int *)(iVar3 + 8);\n      iVar6 = *(int *)(iVar3 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar9 = 1.0 - param_5;\n      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;\n      dVar7 = DAT_002df8d8;\n      dVar8 = dVar1;\n      if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }\n      if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }\n      *(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;\n      *(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;\n      if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }\n      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);\n      dVar1 = DAT_002df8d8;\n      dVar7 = dVar8;\n      if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }\n      if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);\n      goto LAB_00134728;\n    }" ({ "{") (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" (identifier "iVar23") (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar3 = param_1[0xaa];" (assignment_expression "iVar3 = param_1[0xaa]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar4 = param_1[0xa5];" (assignment_expression "iVar4 = param_1[0xa5]" (identifier "iVar4") (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "iVar27 = *(int *)(iVar3 + 0x20);" (assignment_expression "iVar27 = *(int *)(iVar3 + 0x20)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(iVar3 + 0x20)" (* "*") (cast_expression "(int *)(iVar3 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x20)" (( "(") (binary_expression "iVar3 + 0x20" (identifier "iVar3") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(iVar3 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar3 + 0x34)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(iVar3 + 0x34)" (* "*") (cast_expression "(int *)(iVar3 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar5 = param_1[1];" (assignment_expression "iVar5 = param_1[1]" (identifier "iVar5") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar3 + 8);" (assignment_expression "iVar17 = *(int *)(iVar3 + 8)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar3 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar3 + 0x14)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      } while (iVar32 != 4);" (do "do") (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }\n        if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }\n        iVar32 = iVar32 + 1;\n        *(double *)(puVar30 + 0x10) = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        puVar30 = puVar30 + 0x14;\n      }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar17 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar17 * 8)" (( "(") (binary_expression "iVar25 + iVar17 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar17 * 8" (identifier "iVar17") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);\n          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }\n        }" ({ "{") (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" (identifier "local_5a4") ([ "[") (identifier "iVar32") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (expression_statement "*(double *)(puVar30 + 8) = dVar1;" (assignment_expression "*(double *)(puVar30 + 8) = dVar1" (pointer_expression "*(double *)(puVar30 + 8)" (* "*") (cast_expression "(double *)(puVar30 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 8)" (( "(") (binary_expression "puVar30 + 8" (identifier "puVar30") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "*(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);" (assignment_expression "*(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8)" (pointer_expression "*(undefined8 *)(puVar30 + 10)" (* "*") (cast_expression "(undefined8 *)(puVar30 + 10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 10)" (( "(") (binary_expression "puVar30 + 10" (identifier "puVar30") (+ "+") (number_literal "10")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(puVar30 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar30 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0xc)" (( "(") (binary_expression "puVar30 + 0xc" (identifier "puVar30") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar25 + iVar27 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + iVar27 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar27 * 8)" (( "(") (binary_expression "iVar25 + iVar27 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar27 * 8" (identifier "iVar27") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar30 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0xe)" (( "(") (binary_expression "puVar30 + 0xe" (identifier "puVar30") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }" (if "if") (parenthesized_expression "(iVar5 == 2)" (( "(") (binary_expression "iVar5 == 2" (identifier "iVar5") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(undefined8 *)(puVar30 + 0xe) = uVar2;\n          }" ({ "{") (if_statement "if (*(int *)(iVar3 + 0x28) == 0) {\n              uVar2 = 0;\n            }\n            else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" (* "*") (cast_expression "(int *)(iVar3 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar2 = 0;\n            }" ({ "{") (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar3 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar3 + 0x2c) * 8" (pointer_expression "*(int *)(iVar3 + 0x2c)" (* "*") (cast_expression "(int *)(iVar3 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2c)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = uVar2;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = uVar2" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar30 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0xe)" (( "(") (binary_expression "puVar30 + 0xe" (identifier "puVar30") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" (else "else") (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *(double *)(puVar30 + 8) = dVar1;\n          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;\n          *(undefined8 *)(puVar30 + 0xe) = 0;\n          if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }\n        }" ({ "{") (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar7 = 1.0;\n          }" ({ "{") (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" (identifier "dVar7") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" (else "else") (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" ({ "{") (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35" (identifier "dVar7") (= "=") (binary_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar3 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar3 + 0x38) * 8" (pointer_expression "*(int *)(iVar3 + 0x38)" (* "*") (cast_expression "(int *)(iVar3 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar7" (identifier "dVar1") (* "*") (identifier "dVar7"))) (; ";")) (} "}")))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" (identifier "local_5a4") ([ "[") (identifier "iVar32") (] "]")) (= "=") (identifier "dVar7")) (; ";")) (expression_statement "*(double *)(puVar30 + 8) = dVar1;" (assignment_expression "*(double *)(puVar30 + 8) = dVar1" (pointer_expression "*(double *)(puVar30 + 8)" (* "*") (cast_expression "(double *)(puVar30 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 8)" (( "(") (binary_expression "puVar30 + 8" (identifier "puVar30") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "*(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;" (assignment_expression "*(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(puVar30 + 10)" (* "*") (cast_expression "(double *)(puVar30 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 10)" (( "(") (binary_expression "puVar30 + 10" (identifier "puVar30") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "*(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;" (assignment_expression "*(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7" (pointer_expression "*(double *)(puVar30 + 0xc)" (* "*") (cast_expression "(double *)(puVar30 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0xc)" (( "(") (binary_expression "puVar30 + 0xc" (identifier "puVar30") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "*(double *)(iVar25 + iVar27 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar27 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar27 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar27 * 8)" (( "(") (binary_expression "iVar25 + iVar27 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar27 * 8" (identifier "iVar27") (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "*(undefined8 *)(puVar30 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar30 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar30 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar30 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0xe)" (( "(") (binary_expression "puVar30 + 0xe" (identifier "puVar30") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar5 == 2) {\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }" (if "if") (parenthesized_expression "(iVar5 == 2)" (( "(") (binary_expression "iVar5 == 2" (identifier "iVar5") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }\n            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;\n          }" ({ "{") (if_statement "if (*(int *)(iVar3 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" (* "*") (cast_expression "(int *)(iVar3 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              dVar1 = 0.0;\n            }" ({ "{") (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" (identifier "dVar1") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar3 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar3 + 0x2c) * 8" (pointer_expression "*(int *)(iVar3 + 0x2c)" (* "*") (cast_expression "(int *)(iVar3 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2c)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "*(double *)(puVar30 + 0xe) = dVar1 * dVar7;" (assignment_expression "*(double *)(puVar30 + 0xe) = dVar1 * dVar7" (pointer_expression "*(double *)(puVar30 + 0xe)" (* "*") (cast_expression "(double *)(puVar30 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0xe)" (( "(") (binary_expression "puVar30 + 0xe" (identifier "puVar30") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "dVar1 * dVar7" (identifier "dVar1") (* "*") (identifier "dVar7"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar29 == 0) {\n          dVar1 = (double)DAT_002df8a8;\n        }\n        else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          dVar1 = (double)DAT_002df8a8;\n        }" ({ "{") (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (} "}")) (else_clause "else {\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" (else "else") (compound_statement "{\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);\n        }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar3 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar3 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar3 + 0x38) * 8" (pointer_expression "*(int *)(iVar3 + 0x38)" (* "*") (cast_expression "(int *)(iVar3 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(puVar30 + 0x10) = dVar1;" (assignment_expression "*(double *)(puVar30 + 0x10) = dVar1" (pointer_expression "*(double *)(puVar30 + 0x10)" (* "*") (cast_expression "(double *)(puVar30 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar30 + 0x10)" (( "(") (binary_expression "puVar30 + 0x10" (identifier "puVar30") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" (identifier "iVar25") (= "=") (binary_expression "iVar25 + iVar23 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar30 = puVar30 + 0x14;" (assignment_expression "puVar30 = puVar30 + 0x14" (identifier "puVar30") (= "=") (binary_expression "puVar30 + 0x14" (identifier "puVar30") (+ "+") (number_literal "0x14"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar32 != 4)" (( "(") (binary_expression "iVar32 != 4" (identifier "iVar32") (!= "!=") (number_literal "4")) () ")")) (; ";")) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" (identifier "param_4") (= "=") (binary_expression "param_4 - (double)local_66c._0_4_" (identifier "param_4") (- "-") (cast_expression "(double)local_66c._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" (identifier "param_5") (= "=") (binary_expression "param_5 - (double)local_664._0_4_" (identifier "param_5") (- "-") (cast_expression "(double)local_664._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" (identifier "dVar35") (= "=") (binary_expression "1.0 - param_4" (number_literal "1.0") (- "-") (identifier "param_4"))) (; ";")) (expression_statement "dVar9 = 1.0 - param_5;" (assignment_expression "dVar9 = 1.0 - param_5" (identifier "dVar9") (= "=") (binary_expression "1.0 - param_5" (number_literal "1.0") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;" (assignment_expression "dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" (identifier "dVar1") (= "=") (binary_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +\n              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" (binary_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5" (parenthesized_expression "(local_5a4[3] * param_4 + local_5a4[2] * dVar35)" (( "(") (binary_expression "local_5a4[3] * param_4 + local_5a4[2] * dVar35" (binary_expression "local_5a4[3] * param_4" (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")) (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_5a4[2] * dVar35" (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")) (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "param_5")) (+ "+") (binary_expression "(local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9" (parenthesized_expression "(local_5a4[1] * param_4 + local_5a4[0] * dVar35)" (( "(") (binary_expression "local_5a4[1] * param_4 + local_5a4[0] * dVar35" (binary_expression "local_5a4[1] * param_4" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_5a4[0] * dVar35" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "dVar9")))) (; ";")) (expression_statement "dVar7 = DAT_002df8d8;" (assignment_expression "dVar7 = DAT_002df8d8" (identifier "dVar7") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar8 = dVar1;" (assignment_expression "dVar8 = dVar1" (identifier "dVar8") (= "=") (identifier "dVar1")) (; ";")) (if_statement "if (dVar1 < 0.0) {\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }" (if "if") (parenthesized_expression "(dVar1 < 0.0)" (( "(") (binary_expression "dVar1 < 0.0" (identifier "dVar1") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n        dVar7 = DAT_002df8e0;\n        dVar8 = -dVar1;\n      }" ({ "{") (expression_statement "dVar7 = DAT_002df8e0;" (assignment_expression "dVar7 = DAT_002df8e0" (identifier "dVar7") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar8 = -dVar1;" (assignment_expression "dVar8 = -dVar1" (identifier "dVar8") (= "=") (unary_expression "-dVar1" (- "-") (identifier "dVar1"))) (; ";")) (} "}"))) (if_statement "if (DAT_002df2d0 <= dVar8) {\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }" (if "if") (parenthesized_expression "(DAT_002df2d0 <= dVar8)" (( "(") (binary_expression "DAT_002df2d0 <= dVar8" (identifier "DAT_002df2d0") (<= "<=") (identifier "dVar8")) () ")")) (compound_statement "{\n        dVar7 = (double)DAT_002df8b4 / dVar1;\n      }" ({ "{") (expression_statement "dVar7 = (double)DAT_002df8b4 / dVar1;" (assignment_expression "dVar7 = (double)DAT_002df8b4 / dVar1" (identifier "dVar7") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar1" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar1"))) (; ";")) (} "}"))) (expression_statement "*(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 8) =\n           ((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9)" (( "(") (binary_expression "(local_410 * param_4 + local_460 * dVar35) * param_5 +\n           (local_4b0 * param_4 + local_500 * dVar35) * dVar9" (binary_expression "(local_410 * param_4 + local_460 * dVar35) * param_5" (parenthesized_expression "(local_410 * param_4 + local_460 * dVar35)" (( "(") (binary_expression "local_410 * param_4 + local_460 * dVar35" (binary_expression "local_410 * param_4" (identifier "local_410") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_460 * dVar35" (identifier "local_460") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "param_5")) (+ "+") (binary_expression "(local_4b0 * param_4 + local_500 * dVar35) * dVar9" (parenthesized_expression "(local_4b0 * param_4 + local_500 * dVar35)" (( "(") (binary_expression "local_4b0 * param_4 + local_500 * dVar35" (binary_expression "local_4b0 * param_4" (identifier "local_4b0") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_500 * dVar35" (identifier "local_500") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "*(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 10) =\n           ((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9)" (( "(") (binary_expression "(local_408 * param_4 + local_458 * dVar35) * param_5 +\n           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9" (binary_expression "(local_408 * param_4 + local_458 * dVar35) * param_5" (parenthesized_expression "(local_408 * param_4 + local_458 * dVar35)" (( "(") (binary_expression "local_408 * param_4 + local_458 * dVar35" (binary_expression "local_408 * param_4" (identifier "local_408") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_458 * dVar35" (identifier "local_458") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "param_5")) (+ "+") (binary_expression "(local_4a8 * param_4 + local_4f8 * dVar35) * dVar9" (parenthesized_expression "(local_4a8 * param_4 + local_4f8 * dVar35)" (( "(") (binary_expression "local_4a8 * param_4 + local_4f8 * dVar35" (binary_expression "local_4a8 * param_4" (identifier "local_4a8") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_4f8 * dVar35" (identifier "local_4f8") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           ((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9)" (( "(") (binary_expression "(local_400 * param_4 + local_450 * dVar35) * param_5 +\n           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9" (binary_expression "(local_400 * param_4 + local_450 * dVar35) * param_5" (parenthesized_expression "(local_400 * param_4 + local_450 * dVar35)" (( "(") (binary_expression "local_400 * param_4 + local_450 * dVar35" (binary_expression "local_400 * param_4" (identifier "local_400") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_450 * dVar35" (identifier "local_450") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "param_5")) (+ "+") (binary_expression "(local_4a0 * param_4 + local_4f0 * dVar35) * dVar9" (parenthesized_expression "(local_4a0 * param_4 + local_4f0 * dVar35)" (( "(") (binary_expression "local_4a0 * param_4 + local_4f0 * dVar35" (binary_expression "local_4a0 * param_4" (identifier "local_4a0") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_4f0 * dVar35" (identifier "local_4f0") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (if_statement "if (iVar5 == 2) {\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }" (if "if") (parenthesized_expression "(iVar5 == 2)" (( "(") (binary_expression "iVar5 == 2" (identifier "iVar5") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;\n      }" ({ "{") (expression_statement "*(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7" (parenthesized_expression "((local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9)" (( "(") (binary_expression "(local_3f8 * param_4 + local_448 * dVar35) * param_5 +\n             (local_498 * param_4 + local_4e8 * dVar35) * dVar9" (binary_expression "(local_3f8 * param_4 + local_448 * dVar35) * param_5" (parenthesized_expression "(local_3f8 * param_4 + local_448 * dVar35)" (( "(") (binary_expression "local_3f8 * param_4 + local_448 * dVar35" (binary_expression "local_3f8 * param_4" (identifier "local_3f8") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_448 * dVar35" (identifier "local_448") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "param_5")) (+ "+") (binary_expression "(local_498 * param_4 + local_4e8 * dVar35) * dVar9" (parenthesized_expression "(local_498 * param_4 + local_4e8 * dVar35)" (( "(") (binary_expression "local_498 * param_4 + local_4e8 * dVar35" (binary_expression "local_498 * param_4" (identifier "local_498") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_4e8 * dVar35" (identifier "local_4e8") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (} "}"))) (expression_statement "dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);" (assignment_expression "dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35)" (identifier "dVar8") (= "=") (binary_expression "(param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35)" (binary_expression "(param_4 + dVar35) * param_5" (parenthesized_expression "(param_4 + dVar35)" (( "(") (binary_expression "param_4 + dVar35" (identifier "param_4") (+ "+") (identifier "dVar35")) () ")")) (* "*") (identifier "param_5")) (+ "+") (binary_expression "dVar9 * (param_4 + dVar35)" (identifier "dVar9") (* "*") (parenthesized_expression "(param_4 + dVar35)" (( "(") (binary_expression "param_4 + dVar35" (identifier "param_4") (+ "+") (identifier "dVar35")) () ")"))))) (; ";")) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" (identifier "dVar1") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar7 = dVar8;" (assignment_expression "dVar7 = dVar8" (identifier "dVar7") (= "=") (identifier "dVar8")) (; ";")) (if_statement "if (dVar8 < 0.0) {\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }" (if "if") (parenthesized_expression "(dVar8 < 0.0)" (( "(") (binary_expression "dVar8 < 0.0" (identifier "dVar8") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n        dVar1 = DAT_002df8e0;\n        dVar7 = -dVar8;\n      }" ({ "{") (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" (identifier "dVar1") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar7 = -dVar8;" (assignment_expression "dVar7 = -dVar8" (identifier "dVar7") (= "=") (unary_expression "-dVar8" (- "-") (identifier "dVar8"))) (; ";")) (} "}"))) (if_statement "if (DAT_002df2d0 <= dVar7) {\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }" (if "if") (parenthesized_expression "(DAT_002df2d0 <= dVar7)" (( "(") (binary_expression "DAT_002df2d0 <= dVar7" (identifier "DAT_002df2d0") (<= "<=") (identifier "dVar7")) () ")")) (compound_statement "{\n        dVar1 = (double)DAT_002df8b4 / dVar8;\n      }" ({ "{") (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar8;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar8" (identifier "dVar1") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar8" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar8"))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);" (assignment_expression "*(double *)(param_6 + 0x10) =\n           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" (identifier "dVar1") (* "*") (parenthesized_expression "((param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9)" (( "(") (binary_expression "(param_4 * local_3f0 + dVar35 * local_440) * param_5 +\n                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9" (binary_expression "(param_4 * local_3f0 + dVar35 * local_440) * param_5" (parenthesized_expression "(param_4 * local_3f0 + dVar35 * local_440)" (( "(") (binary_expression "param_4 * local_3f0 + dVar35 * local_440" (binary_expression "param_4 * local_3f0" (identifier "param_4") (* "*") (identifier "local_3f0")) (+ "+") (binary_expression "dVar35 * local_440" (identifier "dVar35") (* "*") (identifier "local_440"))) () ")")) (* "*") (identifier "param_5")) (+ "+") (binary_expression "(local_490 * param_4 + local_4e0 * dVar35) * dVar9" (parenthesized_expression "(local_490 * param_4 + local_4e0 * dVar35)" (( "(") (binary_expression "local_490 * param_4 + local_4e0 * dVar35" (binary_expression "local_490 * param_4" (identifier "local_490") (* "*") (identifier "param_4")) (+ "+") (binary_expression "local_4e0 * dVar35" (identifier "local_4e0") (* "*") (identifier "dVar35"))) () ")")) (* "*") (identifier "dVar9"))) () ")")))) (; ";")) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:\n    if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);\n    dVar35 = DAT_002df2d0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }\n    break;" (case "case") (number_literal "3") (: ":") (if_statement "if (param_3 == 2) {\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }\n    else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" (if "if") (parenthesized_expression "(param_3 == 2)" (( "(") (binary_expression "param_3 == 2" (identifier "param_3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }\n      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n      dVar35 = _UNK_00300760;\n      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }\n      local_63c = 9;\n      uVar24 = 3;\n      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);\n    }" ({ "{") (expression_statement "dVar35 = _UNK_00300760;" (assignment_expression "dVar35 = _UNK_00300760" (identifier "dVar35") (= "=") (identifier "_UNK_00300760")) (; ";")) (if_statement "if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }" (if "if") (parenthesized_expression "((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498))" (( "(") (binary_expression "(DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" (( "(") (binary_expression "DAT_002f2490 <= param_4" (identifier "DAT_002f2490") (<= "<=") (identifier "param_4")) () ")")) (&& "&&") (parenthesized_expression "(dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)" (( "(") (comma_expression "dVar35 = _UNK_00300768, param_4 <= DAT_002f2498" (assignment_expression "dVar35 = _UNK_00300768" (identifier "dVar35") (= "=") (identifier "_UNK_00300768")) (, ",") (binary_expression "param_4 <= DAT_002f2498" (identifier "param_4") (<= "<=") (identifier "DAT_002f2498"))) () ")"))) () ")")) (compound_statement "{\n        dVar35 = param_4 + (double)DAT_002df2b8;\n      }" ({ "{") (expression_statement "dVar35 = param_4 + (double)DAT_002df2b8;" (assignment_expression "dVar35 = param_4 + (double)DAT_002df2b8" (identifier "dVar35") (= "=") (binary_expression "param_4 + (double)DAT_002df2b8" (identifier "param_4") (+ "+") (cast_expression "(double)DAT_002df2b8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df2b8")))) (; ";")) (} "}"))) (expression_statement "local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);" (assignment_expression "local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (identifier "ROUND") (argument_list "(ROUND(dVar35) - (double)DAT_002df8b4)" (( "(") (binary_expression "ROUND(dVar35) - (double)DAT_002df8b4" (call_expression "ROUND(dVar35)" (identifier "ROUND") (argument_list "(dVar35)" (( "(") (identifier "dVar35") () ")"))) (- "-") (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4"))) () ")"))))) (; ";")) (expression_statement "dVar35 = _UNK_00300760;" (assignment_expression "dVar35 = _UNK_00300760" (identifier "dVar35") (= "=") (identifier "_UNK_00300760")) (; ";")) (if_statement "if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }" (if "if") (parenthesized_expression "((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498))" (( "(") (binary_expression "(DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" (( "(") (binary_expression "DAT_002f2490 <= param_5" (identifier "DAT_002f2490") (<= "<=") (identifier "param_5")) () ")")) (&& "&&") (parenthesized_expression "(dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)" (( "(") (comma_expression "dVar35 = _UNK_00300768, param_5 <= DAT_002f2498" (assignment_expression "dVar35 = _UNK_00300768" (identifier "dVar35") (= "=") (identifier "_UNK_00300768")) (, ",") (binary_expression "param_5 <= DAT_002f2498" (identifier "param_5") (<= "<=") (identifier "DAT_002f2498"))) () ")"))) () ")")) (compound_statement "{\n        dVar35 = param_5 + (double)DAT_002df2b8;\n      }" ({ "{") (expression_statement "dVar35 = param_5 + (double)DAT_002df2b8;" (assignment_expression "dVar35 = param_5 + (double)DAT_002df2b8" (identifier "dVar35") (= "=") (binary_expression "param_5 + (double)DAT_002df2b8" (identifier "param_5") (+ "+") (cast_expression "(double)DAT_002df2b8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df2b8")))) (; ";")) (} "}"))) (expression_statement "local_63c = 9;" (assignment_expression "local_63c = 9" (identifier "local_63c") (= "=") (number_literal "9")) (; ";")) (expression_statement "uVar24 = 3;" (assignment_expression "uVar24 = 3" (identifier "uVar24") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);" (assignment_expression "local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(ROUND(dVar35) - (double)DAT_002df8b4)" (identifier "ROUND") (argument_list "(ROUND(dVar35) - (double)DAT_002df8b4)" (( "(") (binary_expression "ROUND(dVar35) - (double)DAT_002df8b4" (call_expression "ROUND(dVar35)" (identifier "ROUND") (argument_list "(dVar35)" (( "(") (identifier "dVar35") () ")"))) (- "-") (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" (else "else") (compound_statement "{\n      local_63c = 4;\n      uVar24 = 2;\n      if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }\n    }" ({ "{") (expression_statement "local_63c = 4;" (assignment_expression "local_63c = 4" (identifier "local_63c") (= "=") (number_literal "4")) (; ";")) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" (identifier "uVar24") (= "=") (number_literal "2")) (; ";")) (if_statement "if (param_3 == 3) {\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" (if "if") (parenthesized_expression "(param_3 == 3)" (( "(") (binary_expression "param_3 == 3" (identifier "param_3") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        local_66c._0_4_ = local_66c._0_4_ + -1;\n        local_63c = 0x10;\n        uVar24 = 4;\n        local_664._0_4_ = local_664._0_4_ + -1;\n      }" ({ "{") (expression_statement "local_66c._0_4_ = local_66c._0_4_ + -1;" (assignment_expression "local_66c._0_4_ = local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_63c = 0x10;" (assignment_expression "local_63c = 0x10" (identifier "local_63c") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "uVar24 = 4;" (assignment_expression "uVar24 = 4" (identifier "uVar24") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_664._0_4_ = local_664._0_4_ + -1;" (assignment_expression "local_664._0_4_ = local_664._0_4_ + -1" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7)" (( "(") (identifier "param_2") (, ",") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (, ",") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (, ",") (identifier "uVar24") (, ",") (identifier "uVar24") (, ",") (identifier "param_7") () ")")))) (; ";")) (expression_statement "dVar35 = DAT_002df2d0;" (assignment_expression "dVar35 = DAT_002df2d0" (identifier "dVar35") (= "=") (identifier "DAT_002df2d0")) (; ";")) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar23 = param_1[0xaa];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xa6];\n      iVar27 = param_1[1];\n      local_65c = *(double *)(param_6 + 0x10);\n      local_64c = *(double *)(param_6 + 0xe);\n      dVar1 = *(double *)(param_6 + 0xc);\n      iVar29 = *(int *)(iVar23 + 8);\n      local_654 = *(double *)(param_6 + 10);\n      local_664 = *(double *)(param_6 + 8);\n      iVar5 = *(int *)(iVar23 + 0x14);\n      iVar17 = *(int *)(iVar23 + 0x34);\n      iVar6 = *(int *)(iVar23 + 0x20);\n      iVar32 = 0;\n      do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);\n      uVar24 = 1;\n      dVar35 = (double)DAT_002df8b4 / (double)local_63c;\n      *(double *)(param_6 + 8) = local_664 * dVar35;\n      *(double *)(param_6 + 10) = local_654 * dVar35;\n      *(double *)(param_6 + 0xc) = dVar1 * dVar35;\n      *(double *)(param_6 + 0xe) = local_64c * dVar35;\n      *(double *)(param_6 + 0x10) = local_65c * dVar35;\n      goto LAB_00134728;\n    }" ({ "{") (expression_statement "iVar23 = param_1[0xaa];" (assignment_expression "iVar23 = param_1[0xaa]" (identifier "iVar23") (= "=") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "iVar4 = param_1[0xa6];" (assignment_expression "iVar4 = param_1[0xa6]" (identifier "iVar4") (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" (identifier "iVar27") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_65c = *(double *)(param_6 + 0x10);" (assignment_expression "local_65c = *(double *)(param_6 + 0x10)" (identifier "local_65c") (= "=") (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_64c = *(double *)(param_6 + 0xe);" (assignment_expression "local_64c = *(double *)(param_6 + 0xe)" (identifier "local_64c") (= "=") (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "dVar1 = *(double *)(param_6 + 0xc);" (assignment_expression "dVar1 = *(double *)(param_6 + 0xc)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(iVar23 + 8);" (assignment_expression "iVar29 = *(int *)(iVar23 + 8)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(iVar23 + 8)" (* "*") (cast_expression "(int *)(iVar23 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 8)" (( "(") (binary_expression "iVar23 + 8" (identifier "iVar23") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_654 = *(double *)(param_6 + 10);" (assignment_expression "local_654 = *(double *)(param_6 + 10)" (identifier "local_654") (= "=") (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "local_664 = *(double *)(param_6 + 8);" (assignment_expression "local_664 = *(double *)(param_6 + 8)" (identifier "local_664") (= "=") (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar23 + 0x14);" (assignment_expression "iVar5 = *(int *)(iVar23 + 0x14)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar23 + 0x14)" (* "*") (cast_expression "(int *)(iVar23 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x14)" (( "(") (binary_expression "iVar23 + 0x14" (identifier "iVar23") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar23 + 0x34);" (assignment_expression "iVar17 = *(int *)(iVar23 + 0x34)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar23 + 0x34)" (* "*") (cast_expression "(int *)(iVar23 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x34)" (( "(") (binary_expression "iVar23 + 0x34" (identifier "iVar23") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar23 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar23 + 0x20)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar23 + 0x20)" (* "*") (cast_expression "(int *)(iVar23 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x20)" (( "(") (binary_expression "iVar23 + 0x20" (identifier "iVar23") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      } while (iVar32 < local_63c);" (do "do") (compound_statement "{\n        local_500 = *(double *)(iVar25 + iVar29 * 8);\n        if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }\n        iVar25 = iVar25 + iVar4 * 8;\n        iVar32 = iVar32 + 1;\n        local_664 = local_500 * dVar8 + local_664;\n        *(double *)(param_6 + 8) = local_664;\n        local_654 = local_654 + local_4f8 * dVar8;\n        *(double *)(param_6 + 10) = local_654;\n        dVar1 = local_4f0 * dVar8 + dVar1;\n        *(double *)(param_6 + 0xc) = dVar1;\n        local_64c = dVar8 * local_4e8 + local_64c;\n        *(double *)(param_6 + 0xe) = local_64c;\n        local_65c = local_65c + local_4e0;\n        *(double *)(param_6 + 0x10) = local_65c;\n      }" ({ "{") (expression_statement "local_500 = *(double *)(iVar25 + iVar29 * 8);" (assignment_expression "local_500 = *(double *)(iVar25 + iVar29 * 8)" (identifier "local_500") (= "=") (pointer_expression "*(double *)(iVar25 + iVar29 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar29 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar29 * 8)" (( "(") (binary_expression "iVar25 + iVar29 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar29 * 8" (identifier "iVar29") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }\n        else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8);\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8);\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          dVar7 = 1.0;\ncode_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;\n          local_4e0 = local_66c;\n        }" ({ "{") (expression_statement "local_4f8 = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar5 * 8)" (identifier "local_4f8") (= "=") (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar5 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar5 * 8)" (( "(") (binary_expression "iVar25 + iVar5 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_4f0 = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "local_4f0 = *(double *)(iVar25 + iVar6 * 8)" (identifier "local_4f0") (= "=") (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" (identifier "local_4e8") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }" (if "if") (parenthesized_expression "(iVar27 == 2)" (( "(") (binary_expression "iVar27 == 2" (identifier "iVar27") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_644;\n          }" ({ "{") (if_statement "if (*(int *)(iVar23 + 0x28) == 0) {\n              local_644 = 0.0;\n            }\n            else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar23 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar23 + 0x28) == 0" (pointer_expression "*(int *)(iVar23 + 0x28)" (* "*") (cast_expression "(int *)(iVar23 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x28)" (( "(") (binary_expression "iVar23 + 0x28" (identifier "iVar23") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_644 = 0.0;\n            }" ({ "{") (expression_statement "local_644 = 0.0;" (assignment_expression "local_644 = 0.0" (identifier "local_644") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (identifier "local_644") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" (* "*") (cast_expression "(int *)(iVar23 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x2c)" (( "(") (binary_expression "iVar23 + 0x2c" (identifier "iVar23") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_4e8 = local_644;" (assignment_expression "local_4e8 = local_644" (identifier "local_4e8") (= "=") (identifier "local_644")) (; ";")) (} "}"))) (if_statement "if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" ({ "{") (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" (identifier "local_66c") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (} "}")) (else_clause "else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" (else "else") (compound_statement "{\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" ({ "{") (expression_statement "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (identifier "local_66c") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" (* "*") (cast_expression "(int *)(iVar23 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x38)" (( "(") (binary_expression "iVar23 + 0x38" (identifier "iVar23") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" (identifier "dVar7") (= "=") (number_literal "1.0")) (; ";")) (labeled_statement "code_r0x00134460:\n          dVar8 = (double)DAT_002df8b4 / dVar7;" (statement_identifier "code_r0x00134460") (: ":") (expression_statement "dVar8 = (double)DAT_002df8b4 / dVar7;" (assignment_expression "dVar8 = (double)DAT_002df8b4 / dVar7" (identifier "dVar8") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar7" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar7"))) (; ";"))) (expression_statement "local_4e0 = local_66c;" (assignment_expression "local_4e0 = local_66c" (identifier "local_4e0") (= "=") (identifier "local_66c")) (; ";")) (} "}")) (else_clause "else {\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" (else "else") (compound_statement "{\n          if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }\n          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;\n          local_4e8 = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }\n          if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }\n          local_4e0 = local_66c;\n          dVar8 = DAT_002df8d8;\n          dVar9 = dVar7;\n          if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }\n          if (dVar35 <= dVar9) goto code_r0x00134460;\n        }" ({ "{") (if_statement "if (iVar17 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar7 = 1.0;\n          }" ({ "{") (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" (identifier "dVar7") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" (else "else") (compound_statement "{\n            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n            local_500 = local_500 * dVar7;\n          }" ({ "{") (expression_statement "dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (identifier "dVar7") (= "=") (binary_expression "_DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (identifier "_DAT_002df2e0") (* "*") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" (* "*") (cast_expression "(int *)(iVar23 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x38)" (( "(") (binary_expression "iVar23 + 0x38" (identifier "iVar23") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (expression_statement "local_500 = local_500 * dVar7;" (assignment_expression "local_500 = local_500 * dVar7" (identifier "local_500") (= "=") (binary_expression "local_500 * dVar7" (identifier "local_500") (* "*") (identifier "dVar7"))) (; ";")) (} "}")))) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7" (identifier "local_4f8") (= "=") (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar5 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar5 * 8)" (( "(") (binary_expression "iVar25 + iVar5 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;" (assignment_expression "local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7" (identifier "local_4f0") (= "=") (binary_expression "*(double *)(iVar25 + iVar6 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" (identifier "local_4e8") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }" (if "if") (parenthesized_expression "(iVar27 == 2)" (( "(") (binary_expression "iVar27 == 2" (identifier "iVar27") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }\n            local_4e8 = local_4e8 * dVar7;\n          }" ({ "{") (if_statement "if (*(int *)(iVar23 + 0x28) == 0) {\n              local_4e8 = 0.0;\n            }\n            else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar23 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar23 + 0x28) == 0" (pointer_expression "*(int *)(iVar23 + 0x28)" (* "*") (cast_expression "(int *)(iVar23 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x28)" (( "(") (binary_expression "iVar23 + 0x28" (identifier "iVar23") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_4e8 = 0.0;\n            }" ({ "{") (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" (identifier "local_4e8") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (identifier "local_4e8") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" (* "*") (cast_expression "(int *)(iVar23 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x2c)" (( "(") (binary_expression "iVar23 + 0x2c" (identifier "iVar23") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_4e8 = local_4e8 * dVar7;" (assignment_expression "local_4e8 = local_4e8 * dVar7" (identifier "local_4e8") (= "=") (binary_expression "local_4e8 * dVar7" (identifier "local_4e8") (* "*") (identifier "dVar7"))) (; ";")) (} "}"))) (if_statement "if (iVar17 == 0) {\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" ({ "{") (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" (identifier "local_66c") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (} "}")) (else_clause "else {\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" (else "else") (compound_statement "{\n            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n          }" ({ "{") (expression_statement "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (identifier "local_66c") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" (* "*") (cast_expression "(int *)(iVar23 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x38)" (( "(") (binary_expression "iVar23 + 0x38" (identifier "iVar23") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_4e0 = local_66c;" (assignment_expression "local_4e0 = local_66c" (identifier "local_4e0") (= "=") (identifier "local_66c")) (; ";")) (expression_statement "dVar8 = DAT_002df8d8;" (assignment_expression "dVar8 = DAT_002df8d8" (identifier "dVar8") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar9 = dVar7;" (assignment_expression "dVar9 = dVar7" (identifier "dVar9") (= "=") (identifier "dVar7")) (; ";")) (if_statement "if (dVar7 < 0.0) {\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }" (if "if") (parenthesized_expression "(dVar7 < 0.0)" (( "(") (binary_expression "dVar7 < 0.0" (identifier "dVar7") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n            dVar8 = DAT_002df8e0;\n            dVar9 = -dVar7;\n          }" ({ "{") (expression_statement "dVar8 = DAT_002df8e0;" (assignment_expression "dVar8 = DAT_002df8e0" (identifier "dVar8") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar9 = -dVar7;" (assignment_expression "dVar9 = -dVar7" (identifier "dVar9") (= "=") (unary_expression "-dVar7" (- "-") (identifier "dVar7"))) (; ";")) (} "}"))) (if_statement "if (dVar35 <= dVar9) goto code_r0x00134460;" (if "if") (parenthesized_expression "(dVar35 <= dVar9)" (( "(") (binary_expression "dVar35 <= dVar9" (identifier "dVar35") (<= "<=") (identifier "dVar9")) () ")")) (goto_statement "goto code_r0x00134460;" (goto "goto") (statement_identifier "code_r0x00134460") (; ";"))) (} "}")))) (expression_statement "iVar25 = iVar25 + iVar4 * 8;" (assignment_expression "iVar25 = iVar25 + iVar4 * 8" (identifier "iVar25") (= "=") (binary_expression "iVar25 + iVar4 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar4 * 8" (identifier "iVar4") (* "*") (number_literal "8")))) (; ";")) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_664 = local_500 * dVar8 + local_664;" (assignment_expression "local_664 = local_500 * dVar8 + local_664" (identifier "local_664") (= "=") (binary_expression "local_500 * dVar8 + local_664" (binary_expression "local_500 * dVar8" (identifier "local_500") (* "*") (identifier "dVar8")) (+ "+") (identifier "local_664"))) (; ";")) (expression_statement "*(double *)(param_6 + 8) = local_664;" (assignment_expression "*(double *)(param_6 + 8) = local_664" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "local_664")) (; ";")) (expression_statement "local_654 = local_654 + local_4f8 * dVar8;" (assignment_expression "local_654 = local_654 + local_4f8 * dVar8" (identifier "local_654") (= "=") (binary_expression "local_654 + local_4f8 * dVar8" (identifier "local_654") (+ "+") (binary_expression "local_4f8 * dVar8" (identifier "local_4f8") (* "*") (identifier "dVar8")))) (; ";")) (expression_statement "*(double *)(param_6 + 10) = local_654;" (assignment_expression "*(double *)(param_6 + 10) = local_654" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (identifier "local_654")) (; ";")) (expression_statement "dVar1 = local_4f0 * dVar8 + dVar1;" (assignment_expression "dVar1 = local_4f0 * dVar8 + dVar1" (identifier "dVar1") (= "=") (binary_expression "local_4f0 * dVar8 + dVar1" (binary_expression "local_4f0 * dVar8" (identifier "local_4f0") (* "*") (identifier "dVar8")) (+ "+") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) = dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) = dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "local_64c = dVar8 * local_4e8 + local_64c;" (assignment_expression "local_64c = dVar8 * local_4e8 + local_64c" (identifier "local_64c") (= "=") (binary_expression "dVar8 * local_4e8 + local_64c" (binary_expression "dVar8 * local_4e8" (identifier "dVar8") (* "*") (identifier "local_4e8")) (+ "+") (identifier "local_64c"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xe) = local_64c;" (assignment_expression "*(double *)(param_6 + 0xe) = local_64c" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (identifier "local_64c")) (; ";")) (expression_statement "local_65c = local_65c + local_4e0;" (assignment_expression "local_65c = local_65c + local_4e0" (identifier "local_65c") (= "=") (binary_expression "local_65c + local_4e0" (identifier "local_65c") (+ "+") (identifier "local_4e0"))) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) = local_65c;" (assignment_expression "*(double *)(param_6 + 0x10) = local_65c" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "local_65c")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar32 < local_63c)" (( "(") (binary_expression "iVar32 < local_63c" (identifier "iVar32") (< "<") (identifier "local_63c")) () ")")) (; ";")) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "dVar35 = (double)DAT_002df8b4 / (double)local_63c;" (assignment_expression "dVar35 = (double)DAT_002df8b4 / (double)local_63c" (identifier "dVar35") (= "=") (binary_expression "(double)DAT_002df8b4 / (double)local_63c" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (cast_expression "(double)local_63c" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_63c")))) (; ";")) (expression_statement "*(double *)(param_6 + 8) = local_664 * dVar35;" (assignment_expression "*(double *)(param_6 + 8) = local_664 * dVar35" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "local_664 * dVar35" (identifier "local_664") (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "*(double *)(param_6 + 10) = local_654 * dVar35;" (assignment_expression "*(double *)(param_6 + 10) = local_654 * dVar35" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "local_654 * dVar35" (identifier "local_654") (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) = dVar1 * dVar35;" (assignment_expression "*(double *)(param_6 + 0xc) = dVar1 * dVar35" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "dVar1 * dVar35" (identifier "dVar1") (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xe) = local_64c * dVar35;" (assignment_expression "*(double *)(param_6 + 0xe) = local_64c * dVar35" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "local_64c * dVar35" (identifier "local_64c") (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) = local_65c * dVar35;" (assignment_expression "*(double *)(param_6 + 0x10) = local_65c * dVar35" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "local_65c * dVar35" (identifier "local_65c") (* "*") (identifier "dVar35"))) (; ";")) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n    puVar30 = param_1 + 0x1f;\n    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }\n    uVar24 = 1;\n    goto LAB_00134728;" (case "case") (number_literal "4") (: ":") (expression_statement "puVar30 = param_1 + 0x1f;" (assignment_expression "puVar30 = param_1 + 0x1f" (identifier "puVar30") (= "=") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f"))) (; ";")) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar25 = 0x14" (identifier "iVar25") (= "=") (number_literal "0x14")) (; ";") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar25 = iVar25 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar25 + -1" (identifier "iVar25") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *param_6 = *puVar30;\n      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n      param_6 = param_6 + (uint)bVar34 * -2 + 1;\n    }" ({ "{") (expression_statement "*param_6 = *puVar30;" (assignment_expression "*param_6 = *puVar30" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (pointer_expression "*puVar30" (* "*") (identifier "puVar30"))) (; ";")) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" (identifier "puVar30") (= "=") (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" (identifier "puVar30") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_6 = param_6 + (uint)bVar34 * -2 + 1;" (assignment_expression "param_6 = param_6 + (uint)bVar34 * -2 + 1" (identifier "param_6") (= "=") (binary_expression "param_6 + (uint)bVar34 * -2 + 1" (binary_expression "param_6 + (uint)bVar34 * -2" (identifier "param_6") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";"))) (case_statement "case 6:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }\n    break;" (case "case") (number_literal "6") (: ":") (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (( "(") (identifier "param_2") (, ",") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (, ",") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "2") (, ",") (number_literal "2") (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar25 != 0) {\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_64c._0_4_ = 0;\n      local_644._0_4_ = param_1[0xa6];\n      puVar31 = puVar30;\n      do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar35 = (double)DAT_003006a4;\n      if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }\n      dVar35 = (double)local_66c._0_4_;\n      dVar1 = local_4e8;\n      dVar7 = local_4f8;\n      dVar8 = local_500;\n      if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }\n      fVar10 = DAT_002df8b4 / fVar10;\n      dVar35 = DAT_002df8d8;\n      dVar11 = dVar9;\n      if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }\n      if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 8) = dVar8 * dVar35;\n      *(double *)(param_6 + 10) = dVar7 * dVar35;\n      *(double *)(param_6 + 0xc) = local_66c * dVar35;\n      *(double *)(param_6 + 0xe) = dVar35 * dVar1;\n      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);\n      goto LAB_00134728;\n    }" ({ "{") (expression_statement "local_64c._0_4_ = 0;" (assignment_expression "local_64c._0_4_ = 0" (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_644._0_4_ = param_1[0xa6];" (assignment_expression "local_644._0_4_ = param_1[0xa6]" (field_expression "local_644._0_4_" (identifier "local_644") (. ".") (field_identifier "_0_4_")) (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "puVar31 = puVar30;" (assignment_expression "puVar31 = puVar30" (identifier "puVar31") (= "=") (identifier "puVar30")) (; ";")) (do_statement "do {\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      } while (local_64c._0_4_ != 4);" (do "do") (compound_statement "{\n        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;\n        ResetMagickMemory(puVar31,0,0x50);\n        uVar24 = *param_1;\n        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;\n        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);\n        *puVar31 = uVar24;\n        iVar23 = param_1[1];\n        puVar31[1] = iVar23;\n        puVar31[5] = param_1[8];\n        iVar3 = param_1[0xa5];\n        puVar31[2] = iVar3;\n        iVar4 = param_1[0xaa];\n        iVar27 = *(int *)(iVar4 + 8);\n        if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }\n        local_644._0_4_ = param_1[0xa6];\n        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;\n        dVar35 = *(double *)(iVar29 + local_614);\n        if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }\n        local_64c._0_4_ = local_64c._0_4_ + 1;\n        *(double *)(puVar31 + 0x10) = dVar35;\n        puVar31 = puVar31 + 0x14;\n      }" ({ "{") (expression_statement "iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;" (assignment_expression "iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25" (identifier "iVar29") (= "=") (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_ + iVar25" (binary_expression "local_64c._0_4_ * 8 * local_644._0_4_" (binary_expression "local_64c._0_4_ * 8" (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "8")) (* "*") (field_expression "local_644._0_4_" (identifier "local_644") (. ".") (field_identifier "_0_4_"))) (+ "+") (identifier "iVar25"))) (; ";")) (expression_statement "ResetMagickMemory(puVar31,0,0x50);" (call_expression "ResetMagickMemory(puVar31,0,0x50)" (identifier "ResetMagickMemory") (argument_list "(puVar31,0,0x50)" (( "(") (identifier "puVar31") (, ",") (number_literal "0") (, ",") (number_literal "0x50") () ")"))) (; ";")) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" (identifier "uVar24") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "*(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(puVar31 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(puVar31 + 0x10)" (* "*") (cast_expression "(double *)(puVar31 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0x10)" (( "(") (binary_expression "puVar31 + 0x10" (identifier "puVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "*(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "*(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88)" (pointer_expression "*(undefined8 *)(puVar31 + 3)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 3)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 3)" (( "(") (binary_expression "puVar31 + 3" (identifier "puVar31") (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x88)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x88)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "*puVar31 = uVar24;" (assignment_expression "*puVar31 = uVar24" (pointer_expression "*puVar31" (* "*") (identifier "puVar31")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "iVar23 = param_1[1];" (assignment_expression "iVar23 = param_1[1]" (identifier "iVar23") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar31[1] = iVar23;" (assignment_expression "puVar31[1] = iVar23" (subscript_expression "puVar31[1]" (identifier "puVar31") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "puVar31[5] = param_1[8];" (assignment_expression "puVar31[5] = param_1[8]" (subscript_expression "puVar31[5]" (identifier "puVar31") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "puVar31[2] = iVar3;" (assignment_expression "puVar31[2] = iVar3" (subscript_expression "puVar31[2]" (identifier "puVar31") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" (identifier "iVar4") (= "=") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar27 = *(int *)(iVar4 + 8);" (assignment_expression "iVar27 = *(int *)(iVar4 + 8)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar29 == 0) {\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }\n        else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_614 = iVar27 << 3;\n          iStack_60c = *(int *)(iVar4 + 0x14) << 3;\n          iVar27 = *(int *)(iVar4 + 0x20) << 3;\n          iVar5 = *(int *)(iVar4 + 0x34);\n        }" ({ "{") (expression_statement "local_614 = iVar27 << 3;" (assignment_expression "local_614 = iVar27 << 3" (identifier "local_614") (= "=") (binary_expression "iVar27 << 3" (identifier "iVar27") (<< "<<") (number_literal "3"))) (; ";")) (expression_statement "iStack_60c = *(int *)(iVar4 + 0x14) << 3;" (assignment_expression "iStack_60c = *(int *)(iVar4 + 0x14) << 3" (identifier "iStack_60c") (= "=") (binary_expression "*(int *)(iVar4 + 0x14) << 3" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (<< "<<") (number_literal "3"))) (; ";")) (expression_statement "iVar27 = *(int *)(iVar4 + 0x20) << 3;" (assignment_expression "iVar27 = *(int *)(iVar4 + 0x20) << 3" (identifier "iVar27") (= "=") (binary_expression "*(int *)(iVar4 + 0x20) << 3" (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "3"))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x34)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" (else "else") (compound_statement "{\n          local_614 = iVar27 * 8;\n          iVar5 = *(int *)(iVar4 + 0x14);\n          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);\n          iStack_60c = iVar5 * 8;\n          iVar17 = *(int *)(iVar4 + 0x20);\n          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);\n          iVar27 = iVar17 * 8;\n          iVar5 = *(int *)(iVar4 + 0x28);\n          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);\n          if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          iVar5 = *(int *)(iVar4 + 0x34);\n          if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }\n          if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }\n        }" ({ "{") (expression_statement "local_614 = iVar27 * 8;" (assignment_expression "local_614 = iVar27 * 8" (identifier "local_614") (= "=") (binary_expression "iVar27 * 8" (identifier "iVar27") (* "*") (number_literal "8"))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x14)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 8)" (( "(") (binary_expression "puVar31 + 8" (identifier "puVar31") (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar29 + iVar27 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar29 + iVar27 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar27 * 8)" (( "(") (binary_expression "iVar29 + iVar27 * 8" (identifier "iVar29") (+ "+") (binary_expression "iVar27 * 8" (identifier "iVar27") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "iStack_60c = iVar5 * 8;" (assignment_expression "iStack_60c = iVar5 * 8" (identifier "iStack_60c") (= "=") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar17 = *(int *)(iVar4 + 0x20)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 10)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 10)" (( "(") (binary_expression "puVar31 + 10" (identifier "puVar31") (+ "+") (number_literal "10")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar29 + iVar5 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar29 + iVar5 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar5 * 8)" (( "(") (binary_expression "iVar29 + iVar5 * 8" (identifier "iVar29") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "iVar27 = iVar17 * 8;" (assignment_expression "iVar27 = iVar17 * 8" (identifier "iVar27") (= "=") (binary_expression "iVar17 * 8" (identifier "iVar17") (* "*") (number_literal "8"))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar4 + 0x28);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x28)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0xc)" (( "(") (binary_expression "puVar31 + 0xc" (identifier "puVar31") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar29 + iVar17 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar29 + iVar17 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar17 * 8)" (( "(") (binary_expression "iVar29 + iVar17 * 8" (identifier "iVar29") (+ "+") (binary_expression "iVar17 * 8" (identifier "iVar17") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (iVar5 != 0) {\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "*(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0xe)" (( "(") (binary_expression "puVar31 + 0xe" (identifier "puVar31") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x34)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (if_statement "if (iVar5 != 0) {\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            puVar31[2] = 4;\n            *(undefined8 *)(puVar31 + 0x10) = uVar2;\n          }" ({ "{") (expression_statement "uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "puVar31[2] = 4;" (assignment_expression "puVar31[2] = 4" (subscript_expression "puVar31[2]" (identifier "puVar31") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined8 *)(puVar31 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(puVar31 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(puVar31 + 0x10)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0x10)" (( "(") (binary_expression "puVar31 + 0x10" (identifier "puVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);\n          }" ({ "{") (expression_statement "*(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);" (assignment_expression "*(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" (pointer_expression "*(undefined8 *)(puVar31 + 0x12)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 0x12)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0x12)" (( "(") (binary_expression "puVar31 + 0x12" (identifier "puVar31") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x44) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar4 + 0x44) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar4 + 0x44) * 8" (pointer_expression "*(int *)(iVar4 + 0x44)" (* "*") (cast_expression "(int *)(iVar4 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x44)" (( "(") (binary_expression "iVar4 + 0x44" (identifier "iVar4") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_644._0_4_ = param_1[0xa6];" (assignment_expression "local_644._0_4_ = param_1[0xa6]" (field_expression "local_644._0_4_" (identifier "local_644") (. ".") (field_identifier "_0_4_")) (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;" (assignment_expression "iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25" (identifier "iVar29") (= "=") (binary_expression "local_644._0_4_ * 8 * local_64c._0_4_ + iVar25" (binary_expression "local_644._0_4_ * 8 * local_64c._0_4_" (binary_expression "local_644._0_4_ * 8" (field_expression "local_644._0_4_" (identifier "local_644") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "8")) (* "*") (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_"))) (+ "+") (identifier "iVar25"))) (; ";")) (expression_statement "dVar35 = *(double *)(iVar29 + local_614);" (assignment_expression "dVar35 = *(double *)(iVar29 + local_614)" (identifier "dVar35") (= "=") (pointer_expression "*(double *)(iVar29 + local_614)" (* "*") (cast_expression "(double *)(iVar29 + local_614)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + local_614)" (( "(") (binary_expression "iVar29 + local_614" (identifier "iVar29") (+ "+") (identifier "local_614")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_5a4[local_64c._0_4_] = 1.0;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 != 2) goto code_r0x0013490a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }\ncode_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;\n          if (iVar5 == 0) goto code_r0x001355ad;\ncode_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n        }" ({ "{") (expression_statement "local_5a4[local_64c._0_4_] = 1.0;" (assignment_expression "local_5a4[local_64c._0_4_] = 1.0" (subscript_expression "local_5a4[local_64c._0_4_]" (identifier "local_5a4") ([ "[") (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_")) (] "]")) (= "=") (number_literal "1.0")) (; ";")) (expression_statement "*(double *)(puVar31 + 8) = dVar35;" (assignment_expression "*(double *)(puVar31 + 8) = dVar35" (pointer_expression "*(double *)(puVar31 + 8)" (* "*") (cast_expression "(double *)(puVar31 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 8)" (( "(") (binary_expression "puVar31 + 8" (identifier "puVar31") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "dVar35")) (; ";")) (expression_statement "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);" (assignment_expression "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29)" (pointer_expression "*(double *)(puVar31 + 10)" (* "*") (cast_expression "(double *)(puVar31 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 10)" (( "(") (binary_expression "puVar31 + 10" (identifier "puVar31") (+ "+") (number_literal "10")) () ")")))) (= "=") (pointer_expression "*(double *)(iStack_60c + iVar29)" (* "*") (cast_expression "(double *)(iStack_60c + iVar29)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_60c + iVar29)" (( "(") (binary_expression "iStack_60c + iVar29" (identifier "iStack_60c") (+ "+") (identifier "iVar29")) () ")"))))) (; ";")) (expression_statement "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);" (assignment_expression "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29)" (pointer_expression "*(double *)(puVar31 + 0xc)" (* "*") (cast_expression "(double *)(puVar31 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0xc)" (( "(") (binary_expression "puVar31 + 0xc" (identifier "puVar31") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(double *)(iVar27 + iVar29)" (* "*") (cast_expression "(double *)(iVar27 + iVar29)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + iVar29)" (( "(") (binary_expression "iVar27 + iVar29" (identifier "iVar27") (+ "+") (identifier "iVar29")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puVar31 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0xe)" (( "(") (binary_expression "puVar31 + 0xe" (identifier "puVar31") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar23 != 2) goto code_r0x0013490a;" (if "if") (parenthesized_expression "(iVar23 != 2)" (( "(") (binary_expression "iVar23 != 2" (identifier "iVar23") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto code_r0x0013490a;" (goto "goto") (statement_identifier "code_r0x0013490a") (; ";"))) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar35 = 0.0;\n          }\n          else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar35 = 0.0;\n          }" ({ "{") (expression_statement "dVar35 = 0.0;" (assignment_expression "dVar35 = 0.0" (identifier "dVar35") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (identifier "dVar35") (= "=") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (labeled_statement "code_r0x0013559e:\n          *(double *)(puVar31 + 0xe) = dVar35;" (statement_identifier "code_r0x0013559e") (: ":") (expression_statement "*(double *)(puVar31 + 0xe) = dVar35;" (assignment_expression "*(double *)(puVar31 + 0xe) = dVar35" (pointer_expression "*(double *)(puVar31 + 0xe)" (* "*") (cast_expression "(double *)(puVar31 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0xe)" (( "(") (binary_expression "puVar31 + 0xe" (identifier "puVar31") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (identifier "dVar35")) (; ";"))) (if_statement "if (iVar5 == 0) goto code_r0x001355ad;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x001355ad;" (goto "goto") (statement_identifier "code_r0x001355ad") (; ";"))) (labeled_statement "code_r0x00134916:\n          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (statement_identifier "code_r0x00134916") (: ":") (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (identifier "dVar35") (= "=") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" (else "else") (compound_statement "{\n          if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }\n          local_5a4[local_64c._0_4_] = dVar1;\n          *(double *)(puVar31 + 8) = dVar35;\n          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;\n          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;\n          *(undefined8 *)(puVar31 + 0xe) = 0;\n          if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }\ncode_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;\ncode_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;\n        }" ({ "{") (if_statement "if (iVar5 == 0) {\n            dVar1 = 1.0;\n          }\n          else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar1 = 1.0;\n          }" ({ "{") (expression_statement "dVar1 = 1.0;" (assignment_expression "dVar1 = 1.0" (identifier "dVar1") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" (else "else") (compound_statement "{\n            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);\n            dVar35 = dVar35 * dVar1;\n          }" ({ "{") (expression_statement "dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (identifier "dVar1") (= "=") (binary_expression "_DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (identifier "_DAT_002df2e0") (* "*") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar4 + 0x38) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (expression_statement "dVar35 = dVar35 * dVar1;" (assignment_expression "dVar35 = dVar35 * dVar1" (identifier "dVar35") (= "=") (binary_expression "dVar35 * dVar1" (identifier "dVar35") (* "*") (identifier "dVar1"))) (; ";")) (} "}")))) (expression_statement "local_5a4[local_64c._0_4_] = dVar1;" (assignment_expression "local_5a4[local_64c._0_4_] = dVar1" (subscript_expression "local_5a4[local_64c._0_4_]" (identifier "local_5a4") ([ "[") (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_")) (] "]")) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "*(double *)(puVar31 + 8) = dVar35;" (assignment_expression "*(double *)(puVar31 + 8) = dVar35" (pointer_expression "*(double *)(puVar31 + 8)" (* "*") (cast_expression "(double *)(puVar31 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 8)" (( "(") (binary_expression "puVar31 + 8" (identifier "puVar31") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "dVar35")) (; ";")) (expression_statement "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;" (assignment_expression "*(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1" (pointer_expression "*(double *)(puVar31 + 10)" (* "*") (cast_expression "(double *)(puVar31 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 10)" (( "(") (binary_expression "puVar31 + 10" (identifier "puVar31") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(double *)(iStack_60c + iVar29) * dVar1" (pointer_expression "*(double *)(iStack_60c + iVar29)" (* "*") (cast_expression "(double *)(iStack_60c + iVar29)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_60c + iVar29)" (( "(") (binary_expression "iStack_60c + iVar29" (identifier "iStack_60c") (+ "+") (identifier "iVar29")) () ")")))) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;" (assignment_expression "*(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1" (pointer_expression "*(double *)(puVar31 + 0xc)" (* "*") (cast_expression "(double *)(puVar31 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0xc)" (( "(") (binary_expression "puVar31 + 0xc" (identifier "puVar31") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "*(double *)(iVar27 + iVar29) * dVar1" (pointer_expression "*(double *)(iVar27 + iVar29)" (* "*") (cast_expression "(double *)(iVar27 + iVar29)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + iVar29)" (( "(") (binary_expression "iVar27 + iVar29" (identifier "iVar27") (+ "+") (identifier "iVar29")) () ")")))) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(undefined8 *)(puVar31 + 0xe) = 0;" (assignment_expression "*(undefined8 *)(puVar31 + 0xe) = 0" (pointer_expression "*(undefined8 *)(puVar31 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar31 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0xe)" (( "(") (binary_expression "puVar31 + 0xe" (identifier "puVar31") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar23 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }" (if "if") (parenthesized_expression "(iVar23 == 2)" (( "(") (binary_expression "iVar23 == 2" (identifier "iVar23") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            dVar35 = dVar35 * dVar1;\n            goto code_r0x0013559e;\n          }" ({ "{") (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar35 = 0.0;\n            }\n            else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              dVar35 = 0.0;\n            }" ({ "{") (expression_statement "dVar35 = 0.0;" (assignment_expression "dVar35 = 0.0" (identifier "dVar35") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (identifier "dVar35") (= "=") (pointer_expression "*(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (binary_expression "iVar29 + *(int *)(iVar4 + 0x2c) * 8" (identifier "iVar29") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "dVar35 = dVar35 * dVar1;" (assignment_expression "dVar35 = dVar35 * dVar1" (identifier "dVar35") (= "=") (binary_expression "dVar35 * dVar1" (identifier "dVar35") (* "*") (identifier "dVar1"))) (; ";")) (goto_statement "goto code_r0x0013559e;" (goto "goto") (statement_identifier "code_r0x0013559e") (; ";")) (} "}"))) (labeled_statement "code_r0x0013490a:\n          if (iVar5 != 0) goto code_r0x00134916;" (statement_identifier "code_r0x0013490a") (: ":") (if_statement "if (iVar5 != 0) goto code_r0x00134916;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00134916;" (goto "goto") (statement_identifier "code_r0x00134916") (; ";")))) (labeled_statement "code_r0x001355ad:\n          dVar35 = (double)DAT_002df8a8;" (statement_identifier "code_r0x001355ad") (: ":") (expression_statement "dVar35 = (double)DAT_002df8a8;" (assignment_expression "dVar35 = (double)DAT_002df8a8" (identifier "dVar35") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";"))) (} "}")))) (expression_statement "local_64c._0_4_ = local_64c._0_4_ + 1;" (assignment_expression "local_64c._0_4_ = local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "local_64c._0_4_ + 1" (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(puVar31 + 0x10) = dVar35;" (assignment_expression "*(double *)(puVar31 + 0x10) = dVar35" (pointer_expression "*(double *)(puVar31 + 0x10)" (* "*") (cast_expression "(double *)(puVar31 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar31 + 0x10)" (( "(") (binary_expression "puVar31 + 0x10" (identifier "puVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "dVar35")) (; ";")) (expression_statement "puVar31 = puVar31 + 0x14;" (assignment_expression "puVar31 = puVar31 + 0x14" (identifier "puVar31") (= "=") (binary_expression "puVar31 + 0x14" (identifier "puVar31") (+ "+") (number_literal "0x14"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_64c._0_4_ != 4)" (( "(") (binary_expression "local_64c._0_4_ != 4" (field_expression "local_64c._0_4_" (identifier "local_64c") (. ".") (field_identifier "_0_4_")) (!= "!=") (number_literal "4")) () ")")) (; ";")) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" (identifier "param_5") (= "=") (binary_expression "param_5 - (double)local_664._0_4_" (identifier "param_5") (- "-") (cast_expression "(double)local_664._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "dVar35 = (double)DAT_003006a4;" (assignment_expression "dVar35 = (double)DAT_003006a4" (identifier "dVar35") (= "=") (cast_expression "(double)DAT_003006a4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_003006a4"))) (; ";")) (if_statement "if (dVar35 <= param_5) {\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }\n      else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" (if "if") (parenthesized_expression "(dVar35 <= param_5)" (( "(") (binary_expression "dVar35 <= param_5" (identifier "dVar35") (<= "<=") (identifier "param_5")) () ")")) (compound_statement "{\n        puVar31 = auStack_480;\n        puVar33 = puVar30;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n        local_5a4[0] = local_5a4[2];\n        fVar10 = 1.0;\ncode_r0x00136096:\n        local_5a4[1] = local_5a4[3];\n        puVar31 = auStack_430;\n        puVar33 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }\n      }" ({ "{") (expression_statement "puVar31 = auStack_480;" (assignment_expression "puVar31 = auStack_480" (identifier "puVar31") (= "=") (identifier "auStack_480")) (; ";")) (expression_statement "puVar33 = puVar30;" (assignment_expression "puVar33 = puVar30" (identifier "puVar33") (= "=") (identifier "puVar30")) (; ";")) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" (for "for") (( "(") (assignment_expression "iVar25 = 0x14" (identifier "iVar25") (= "=") (number_literal "0x14")) (; ";") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar25 = iVar25 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar25 + -1" (identifier "iVar25") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" ({ "{") (expression_statement "*puVar33 = *puVar31;" (assignment_expression "*puVar33 = *puVar31" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" (identifier "puVar31") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" (identifier "puVar33") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_5a4[0] = local_5a4[2];" (assignment_expression "local_5a4[0] = local_5a4[2]" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" (identifier "fVar10") (= "=") (number_literal "1.0")) (; ";")) (labeled_statement "code_r0x00136096:\n        local_5a4[1] = local_5a4[3];" (statement_identifier "code_r0x00136096") (: ":") (expression_statement "local_5a4[1] = local_5a4[3];" (assignment_expression "local_5a4[1] = local_5a4[3]" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]"))) (; ";"))) (expression_statement "puVar31 = auStack_430;" (assignment_expression "puVar31 = auStack_430" (identifier "puVar31") (= "=") (identifier "auStack_430")) (; ";")) (expression_statement "puVar33 = auStack_4d0;" (assignment_expression "puVar33 = auStack_4d0" (identifier "puVar33") (= "=") (identifier "auStack_4d0")) (; ";")) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" (for "for") (( "(") (assignment_expression "iVar25 = 0x14" (identifier "iVar25") (= "=") (number_literal "0x14")) (; ";") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar25 = iVar25 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar25 + -1" (identifier "iVar25") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          *puVar33 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n        }" ({ "{") (expression_statement "*puVar33 = *puVar31;" (assignment_expression "*puVar33 = *puVar31" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" (identifier "puVar31") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" (identifier "puVar33") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" (else "else") (compound_statement "{\n        fVar10 = DAT_002eb21c;\n        if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }\n      }" ({ "{") (expression_statement "fVar10 = DAT_002eb21c;" (assignment_expression "fVar10 = DAT_002eb21c" (identifier "fVar10") (= "=") (identifier "DAT_002eb21c")) (; ";")) (if_statement "if (param_5 <= (double)DAT_002eb220) {\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }\n        else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" (if "if") (parenthesized_expression "(param_5 <= (double)DAT_002eb220)" (( "(") (binary_expression "param_5 <= (double)DAT_002eb220" (identifier "param_5") (<= "<=") (cast_expression "(double)DAT_002eb220" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002eb220"))) () ")")) (compound_statement "{\n          if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }\n          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;\n          fVar10 = 1.0;\n        }" ({ "{") (if_statement "if (dVar35 <= param_5) {\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }" (if "if") (parenthesized_expression "(dVar35 <= param_5)" (( "(") (binary_expression "dVar35 <= param_5" (identifier "dVar35") (<= "<=") (identifier "param_5")) () ")")) (compound_statement "{\n            fVar10 = 1.0;\n            goto code_r0x00136096;\n          }" ({ "{") (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" (identifier "fVar10") (= "=") (number_literal "1.0")) (; ";")) (goto_statement "goto code_r0x00136096;" (goto "goto") (statement_identifier "code_r0x00136096") (; ";")) (} "}"))) (if_statement "if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;" (if "if") (parenthesized_expression "((double)DAT_002eb220 < param_5)" (( "(") (binary_expression "(double)DAT_002eb220 < param_5" (cast_expression "(double)DAT_002eb220" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002eb220")) (< "<") (identifier "param_5")) () ")")) (goto_statement "goto code_r0x001349ea;" (goto "goto") (statement_identifier "code_r0x001349ea") (; ";"))) (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" (identifier "fVar10") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" (else "else") (compound_statement "{\n          local_5a4[0] = local_5a4[0] + local_5a4[2];\n          local_500 = local_500 + local_460;\n          local_4f8 = local_4f8 + local_458;\n          local_4f0 = local_4f0 + local_450;\n          local_4e8 = local_4e8 + local_448;\n          local_4e0 = local_4e0 + local_440;\n          if (dVar35 <= param_5) goto code_r0x00136096;\ncode_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];\n          local_4b0 = local_4b0 + local_410;\n          local_4a8 = local_4a8 + local_408;\n          local_4a0 = local_4a0 + local_400;\n          local_498 = local_498 + local_3f8;\n          local_490 = local_490 + local_3f0;\n        }" ({ "{") (expression_statement "local_5a4[0] = local_5a4[0] + local_5a4[2];" (assignment_expression "local_5a4[0] = local_5a4[0] + local_5a4[2]" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_5a4[0] + local_5a4[2]" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (+ "+") (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_500 = local_500 + local_460;" (assignment_expression "local_500 = local_500 + local_460" (identifier "local_500") (= "=") (binary_expression "local_500 + local_460" (identifier "local_500") (+ "+") (identifier "local_460"))) (; ";")) (expression_statement "local_4f8 = local_4f8 + local_458;" (assignment_expression "local_4f8 = local_4f8 + local_458" (identifier "local_4f8") (= "=") (binary_expression "local_4f8 + local_458" (identifier "local_4f8") (+ "+") (identifier "local_458"))) (; ";")) (expression_statement "local_4f0 = local_4f0 + local_450;" (assignment_expression "local_4f0 = local_4f0 + local_450" (identifier "local_4f0") (= "=") (binary_expression "local_4f0 + local_450" (identifier "local_4f0") (+ "+") (identifier "local_450"))) (; ";")) (expression_statement "local_4e8 = local_4e8 + local_448;" (assignment_expression "local_4e8 = local_4e8 + local_448" (identifier "local_4e8") (= "=") (binary_expression "local_4e8 + local_448" (identifier "local_4e8") (+ "+") (identifier "local_448"))) (; ";")) (expression_statement "local_4e0 = local_4e0 + local_440;" (assignment_expression "local_4e0 = local_4e0 + local_440" (identifier "local_4e0") (= "=") (binary_expression "local_4e0 + local_440" (identifier "local_4e0") (+ "+") (identifier "local_440"))) (; ";")) (if_statement "if (dVar35 <= param_5) goto code_r0x00136096;" (if "if") (parenthesized_expression "(dVar35 <= param_5)" (( "(") (binary_expression "dVar35 <= param_5" (identifier "dVar35") (<= "<=") (identifier "param_5")) () ")")) (goto_statement "goto code_r0x00136096;" (goto "goto") (statement_identifier "code_r0x00136096") (; ";"))) (labeled_statement "code_r0x001349ea:\n          local_5a4[1] = local_5a4[1] + local_5a4[3];" (statement_identifier "code_r0x001349ea") (: ":") (expression_statement "local_5a4[1] = local_5a4[1] + local_5a4[3];" (assignment_expression "local_5a4[1] = local_5a4[1] + local_5a4[3]" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_5a4[1] + local_5a4[3]" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (+ "+") (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")))) (; ";"))) (expression_statement "local_4b0 = local_4b0 + local_410;" (assignment_expression "local_4b0 = local_4b0 + local_410" (identifier "local_4b0") (= "=") (binary_expression "local_4b0 + local_410" (identifier "local_4b0") (+ "+") (identifier "local_410"))) (; ";")) (expression_statement "local_4a8 = local_4a8 + local_408;" (assignment_expression "local_4a8 = local_4a8 + local_408" (identifier "local_4a8") (= "=") (binary_expression "local_4a8 + local_408" (identifier "local_4a8") (+ "+") (identifier "local_408"))) (; ";")) (expression_statement "local_4a0 = local_4a0 + local_400;" (assignment_expression "local_4a0 = local_4a0 + local_400" (identifier "local_4a0") (= "=") (binary_expression "local_4a0 + local_400" (identifier "local_4a0") (+ "+") (identifier "local_400"))) (; ";")) (expression_statement "local_498 = local_498 + local_3f8;" (assignment_expression "local_498 = local_498 + local_3f8" (identifier "local_498") (= "=") (binary_expression "local_498 + local_3f8" (identifier "local_498") (+ "+") (identifier "local_3f8"))) (; ";")) (expression_statement "local_490 = local_490 + local_3f0;" (assignment_expression "local_490 = local_490 + local_3f0" (identifier "local_490") (= "=") (binary_expression "local_490 + local_3f0" (identifier "local_490") (+ "+") (identifier "local_3f0"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "dVar35 = (double)local_66c._0_4_;" (assignment_expression "dVar35 = (double)local_66c._0_4_" (identifier "dVar35") (= "=") (cast_expression "(double)local_66c._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")))) (; ";")) (expression_statement "dVar1 = local_4e8;" (assignment_expression "dVar1 = local_4e8" (identifier "dVar1") (= "=") (identifier "local_4e8")) (; ";")) (expression_statement "dVar7 = local_4f8;" (assignment_expression "dVar7 = local_4f8" (identifier "dVar7") (= "=") (identifier "local_4f8")) (; ";")) (expression_statement "dVar8 = local_500;" (assignment_expression "dVar8 = local_500" (identifier "dVar8") (= "=") (identifier "local_500")) (; ";")) (if_statement "if (param_4 - dVar35 < (double)DAT_003006a4) {\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }\n      else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" (if "if") (parenthesized_expression "(param_4 - dVar35 < (double)DAT_003006a4)" (( "(") (binary_expression "param_4 - dVar35 < (double)DAT_003006a4" (binary_expression "param_4 - dVar35" (identifier "param_4") (- "-") (identifier "dVar35")) (< "<") (cast_expression "(double)DAT_003006a4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_003006a4"))) () ")")) (compound_statement "{\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[0];\n        if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }\n      }" ({ "{") (expression_statement "local_66c = local_4f0;" (assignment_expression "local_66c = local_4f0" (identifier "local_66c") (= "=") (identifier "local_4f0")) (; ";")) (expression_statement "local_664 = local_4e0;" (assignment_expression "local_664 = local_4e0" (identifier "local_664") (= "=") (identifier "local_4e0")) (; ";")) (expression_statement "dVar9 = local_5a4[0];" (assignment_expression "dVar9 = local_5a4[0]" (identifier "dVar9") (= "=") (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if ((double)DAT_002eb220 < param_4 - dVar35) {\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }" (if "if") (parenthesized_expression "((double)DAT_002eb220 < param_4 - dVar35)" (( "(") (binary_expression "(double)DAT_002eb220 < param_4 - dVar35" (cast_expression "(double)DAT_002eb220" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002eb220")) (< "<") (binary_expression "param_4 - dVar35" (identifier "param_4") (- "-") (identifier "dVar35"))) () ")")) (compound_statement "{\n          fVar10 = fVar10 + fVar10;\n          dVar9 = local_5a4[0] + local_5a4[1];\n          local_66c = local_4f0 + local_4a0;\n          local_664 = local_490 + local_4e0;\n          dVar1 = local_4e8 + local_498;\n          dVar7 = local_4f8 + local_4a8;\n          dVar8 = local_500 + local_4b0;\n        }" ({ "{") (expression_statement "fVar10 = fVar10 + fVar10;" (assignment_expression "fVar10 = fVar10 + fVar10" (identifier "fVar10") (= "=") (binary_expression "fVar10 + fVar10" (identifier "fVar10") (+ "+") (identifier "fVar10"))) (; ";")) (expression_statement "dVar9 = local_5a4[0] + local_5a4[1];" (assignment_expression "dVar9 = local_5a4[0] + local_5a4[1]" (identifier "dVar9") (= "=") (binary_expression "local_5a4[0] + local_5a4[1]" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (+ "+") (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_66c = local_4f0 + local_4a0;" (assignment_expression "local_66c = local_4f0 + local_4a0" (identifier "local_66c") (= "=") (binary_expression "local_4f0 + local_4a0" (identifier "local_4f0") (+ "+") (identifier "local_4a0"))) (; ";")) (expression_statement "local_664 = local_490 + local_4e0;" (assignment_expression "local_664 = local_490 + local_4e0" (identifier "local_664") (= "=") (binary_expression "local_490 + local_4e0" (identifier "local_490") (+ "+") (identifier "local_4e0"))) (; ";")) (expression_statement "dVar1 = local_4e8 + local_498;" (assignment_expression "dVar1 = local_4e8 + local_498" (identifier "dVar1") (= "=") (binary_expression "local_4e8 + local_498" (identifier "local_4e8") (+ "+") (identifier "local_498"))) (; ";")) (expression_statement "dVar7 = local_4f8 + local_4a8;" (assignment_expression "dVar7 = local_4f8 + local_4a8" (identifier "dVar7") (= "=") (binary_expression "local_4f8 + local_4a8" (identifier "local_4f8") (+ "+") (identifier "local_4a8"))) (; ";")) (expression_statement "dVar8 = local_500 + local_4b0;" (assignment_expression "dVar8 = local_500 + local_4b0" (identifier "dVar8") (= "=") (binary_expression "local_500 + local_4b0" (identifier "local_500") (+ "+") (identifier "local_4b0"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" (else "else") (compound_statement "{\n        puVar31 = auStack_4d0;\n        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }\n        local_66c = local_4f0;\n        local_664 = local_4e0;\n        dVar9 = local_5a4[1];\n      }" ({ "{") (expression_statement "puVar31 = auStack_4d0;" (assignment_expression "puVar31 = auStack_4d0" (identifier "puVar31") (= "=") (identifier "auStack_4d0")) (; ";")) (for_statement "for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }" (for "for") (( "(") (assignment_expression "iVar25 = 0x14" (identifier "iVar25") (= "=") (number_literal "0x14")) (; ";") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar25 = iVar25 + -1" (identifier "iVar25") (= "=") (binary_expression "iVar25 + -1" (identifier "iVar25") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          *puVar30 = *puVar31;\n          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;\n          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;\n        }" ({ "{") (expression_statement "*puVar30 = *puVar31;" (assignment_expression "*puVar30 = *puVar31" (pointer_expression "*puVar30" (* "*") (identifier "puVar30")) (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (expression_statement "puVar31 = puVar31 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar31 = puVar31 + (uint)bVar34 * -2 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + (uint)bVar34 * -2 + 1" (binary_expression "puVar31 + (uint)bVar34 * -2" (identifier "puVar31") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar30 = puVar30 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar30 = puVar30 + (uint)bVar34 * -2 + 1" (identifier "puVar30") (= "=") (binary_expression "puVar30 + (uint)bVar34 * -2 + 1" (binary_expression "puVar30 + (uint)bVar34 * -2" (identifier "puVar30") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_66c = local_4f0;" (assignment_expression "local_66c = local_4f0" (identifier "local_66c") (= "=") (identifier "local_4f0")) (; ";")) (expression_statement "local_664 = local_4e0;" (assignment_expression "local_664 = local_4e0" (identifier "local_664") (= "=") (identifier "local_4e0")) (; ";")) (expression_statement "dVar9 = local_5a4[1];" (assignment_expression "dVar9 = local_5a4[1]" (identifier "dVar9") (= "=") (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")))) (expression_statement "fVar10 = DAT_002df8b4 / fVar10;" (assignment_expression "fVar10 = DAT_002df8b4 / fVar10" (identifier "fVar10") (= "=") (binary_expression "DAT_002df8b4 / fVar10" (identifier "DAT_002df8b4") (/ "/") (identifier "fVar10"))) (; ";")) (expression_statement "dVar35 = DAT_002df8d8;" (assignment_expression "dVar35 = DAT_002df8d8" (identifier "dVar35") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar11 = dVar9;" (assignment_expression "dVar11 = dVar9" (identifier "dVar11") (= "=") (identifier "dVar9")) (; ";")) (if_statement "if (dVar9 < 0.0) {\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }" (if "if") (parenthesized_expression "(dVar9 < 0.0)" (( "(") (binary_expression "dVar9 < 0.0" (identifier "dVar9") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n        dVar35 = DAT_002df8e0;\n        dVar11 = -dVar9;\n      }" ({ "{") (expression_statement "dVar35 = DAT_002df8e0;" (assignment_expression "dVar35 = DAT_002df8e0" (identifier "dVar35") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar11 = -dVar9;" (assignment_expression "dVar11 = -dVar9" (identifier "dVar11") (= "=") (unary_expression "-dVar9" (- "-") (identifier "dVar9"))) (; ";")) (} "}"))) (if_statement "if (DAT_002df2d0 <= dVar11) {\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }" (if "if") (parenthesized_expression "(DAT_002df2d0 <= dVar11)" (( "(") (binary_expression "DAT_002df2d0 <= dVar11" (identifier "DAT_002df2d0") (<= "<=") (identifier "dVar11")) () ")")) (compound_statement "{\n        dVar35 = (double)DAT_002df8b4 / dVar9;\n      }" ({ "{") (expression_statement "dVar35 = (double)DAT_002df8b4 / dVar9;" (assignment_expression "dVar35 = (double)DAT_002df8b4 / dVar9" (identifier "dVar35") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar9" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar9"))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 8) = dVar8 * dVar35;" (assignment_expression "*(double *)(param_6 + 8) = dVar8 * dVar35" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "dVar8 * dVar35" (identifier "dVar8") (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "*(double *)(param_6 + 10) = dVar7 * dVar35;" (assignment_expression "*(double *)(param_6 + 10) = dVar7 * dVar35" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "dVar7 * dVar35" (identifier "dVar7") (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) = local_66c * dVar35;" (assignment_expression "*(double *)(param_6 + 0xc) = local_66c * dVar35" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "local_66c * dVar35" (identifier "local_66c") (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xe) = dVar35 * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) = dVar35 * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "dVar35 * dVar1" (identifier "dVar35") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);" (assignment_expression "*(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664)" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (cast_expression "(double)(fVar10 * (float)local_664)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(fVar10 * (float)local_664)" (( "(") (binary_expression "fVar10 * (float)local_664" (identifier "fVar10") (* "*") (cast_expression "(float)local_664" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_664"))) () ")")))) (; ";")) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }\n    break;" (case "case") (number_literal "7") (: ":") (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" (( "(") (identifier "param_2") (, ",") (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "-1")) (, ",") (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "-1")) (, ",") (number_literal "4") (, ",") (number_literal "4") (, ",") (identifier "param_7") () ")")))) (; ";")) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" (identifier "dVar35") (= "=") (identifier "_DAT_002df2e0")) (; ";")) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;\n      dVar12 = dVar35 * dVar1;\n      dVar1 = dVar1 * param_4;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;\n      dVar11 = dVar9 * dVar7;\n      dVar9 = dVar9 * param_5;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" ({ "{") (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" (identifier "iVar23") (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" (identifier "iVar4") (= "=") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" (identifier "iVar27") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar29 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar4 + 0x34)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x20)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pdVar28 = &local_500;" (assignment_expression "pdVar28 = &local_500" (identifier "pdVar28") (= "=") (pointer_expression "&local_500" (& "&") (identifier "local_500"))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar4 + 8);" (assignment_expression "iVar17 = *(int *)(iVar4 + 8)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x14)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);" (do "do") (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar17 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar17 * 8)" (( "(") (binary_expression "iVar25 + iVar17 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar17 * 8" (identifier "iVar17") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;\ncode_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }" ({ "{") (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" (identifier "local_5a4") ([ "[") (identifier "iVar32") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" (* "*") (identifier "pdVar28")) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" (identifier "pdVar28") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8)" (subscript_expression "pdVar28[2]" (identifier "pdVar28") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar5 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar5 * 8)" (( "(") (binary_expression "iVar25 + iVar5 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" (if "if") (parenthesized_expression "(iVar27 == 2)" (( "(") (binary_expression "iVar27 == 2" (identifier "iVar27") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" ({ "{") (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              dVar1 = 0.0;\n            }" ({ "{") (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" (identifier "dVar1") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "pdVar28[3] = dVar1;" (assignment_expression "pdVar28[3] = dVar1" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "dVar1")) (; ";")) (} "}"))) (labeled_statement "code_r0x0013466a:\n          if (iVar29 == 0) goto code_r0x00134700;" (statement_identifier "code_r0x0013466a") (: ":") (if_statement "if (iVar29 == 0) goto code_r0x00134700;" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00134700;" (goto "goto") (statement_identifier "code_r0x00134700") (; ";")))) (labeled_statement "code_r0x00134672:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (statement_identifier "code_r0x00134672") (: ":") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" (else "else") (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013466a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x00134672;\ncode_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;\n        }" ({ "{") (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar7 = 1.0;\n          }" ({ "{") (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" (identifier "dVar7") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" (else "else") (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" ({ "{") (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (identifier "dVar7") (= "=") (binary_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar7" (identifier "dVar1") (* "*") (identifier "dVar7"))) (; ";")) (} "}")))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" (identifier "local_5a4") ([ "[") (identifier "iVar32") (] "]")) (= "=") (identifier "dVar7")) (; ";")) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" (* "*") (identifier "pdVar28")) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" (identifier "pdVar28") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "dVar7 * *(double *)(iVar25 + iVar6 * 8)" (identifier "dVar7") (* "*") (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")")))))) (; ";")) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7" (subscript_expression "pdVar28[2]" (identifier "pdVar28") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar5 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar5 * 8)" (( "(") (binary_expression "iVar25 + iVar5 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar27 != 2) goto code_r0x0013466a;" (if "if") (parenthesized_expression "(iVar27 != 2)" (( "(") (binary_expression "iVar27 != 2" (identifier "iVar27") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto code_r0x0013466a;" (goto "goto") (statement_identifier "code_r0x0013466a") (; ";"))) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar1 = 0.0;\n          }" ({ "{") (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" (identifier "dVar1") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "pdVar28[3] = dVar1 * dVar7;" (assignment_expression "pdVar28[3] = dVar1 * dVar7" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "dVar1 * dVar7" (identifier "dVar1") (* "*") (identifier "dVar7"))) (; ";")) (if_statement "if (iVar29 != 0) goto code_r0x00134672;" (if "if") (parenthesized_expression "(iVar29 != 0)" (( "(") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00134672;" (goto "goto") (statement_identifier "code_r0x00134672") (; ";"))) (labeled_statement "code_r0x00134700:\n          dVar1 = (double)DAT_002df8a8;" (statement_identifier "code_r0x00134700") (: ":") (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";"))) (} "}")))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar28[4] = dVar1;" (assignment_expression "pdVar28[4] = dVar1" (subscript_expression "pdVar28[4]" (identifier "pdVar28") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" (identifier "iVar25") (= "=") (binary_expression "iVar25 + iVar23 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8")))) (; ";")) (expression_statement "pdVar28 = pdVar28 + 10;" (assignment_expression "pdVar28 = pdVar28 + 10" (identifier "pdVar28") (= "=") (binary_expression "pdVar28 + 10" (identifier "pdVar28") (+ "+") (number_literal "10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar32 != 0x10)" (( "(") (binary_expression "iVar32 != 0x10" (identifier "iVar32") (!= "!=") (number_literal "0x10")) () ")")) (; ";")) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" (identifier "param_4") (= "=") (binary_expression "param_4 - (double)local_66c._0_4_" (identifier "param_4") (- "-") (cast_expression "(double)local_66c._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" (identifier "dVar35") (= "=") (binary_expression "1.0 - param_4" (number_literal "1.0") (- "-") (identifier "param_4"))) (; ";")) (expression_statement "dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;" (assignment_expression "dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35" (identifier "dVar1") (= "=") (binary_expression "param_4 * (double)DAT_002e9cb4 * dVar35" (binary_expression "param_4 * (double)DAT_002e9cb4" (identifier "param_4") (* "*") (cast_expression "(double)DAT_002e9cb4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002e9cb4"))) (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "dVar12 = dVar35 * dVar1;" (assignment_expression "dVar12 = dVar35 * dVar1" (identifier "dVar12") (= "=") (binary_expression "dVar35 * dVar1" (identifier "dVar35") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "dVar1 = dVar1 * param_4;" (assignment_expression "dVar1 = dVar1 * param_4" (identifier "dVar1") (= "=") (binary_expression "dVar1 * param_4" (identifier "dVar1") (* "*") (identifier "param_4"))) (; ";")) (expression_statement "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);" (assignment_expression "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12)" (identifier "dVar13") (= "=") (binary_expression "(dVar35 - dVar12) + (dVar1 - dVar12)" (parenthesized_expression "(dVar35 - dVar12)" (( "(") (binary_expression "dVar35 - dVar12" (identifier "dVar35") (- "-") (identifier "dVar12")) () ")")) (+ "+") (parenthesized_expression "(dVar1 - dVar12)" (( "(") (binary_expression "dVar1 - dVar12" (identifier "dVar1") (- "-") (identifier "dVar12")) () ")")))) (; ";")) (expression_statement "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);" (assignment_expression "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12)" (identifier "dVar35") (= "=") (binary_expression "(param_4 - dVar1) - (dVar1 - dVar12)" (parenthesized_expression "(param_4 - dVar1)" (( "(") (binary_expression "param_4 - dVar1" (identifier "param_4") (- "-") (identifier "dVar1")) () ")")) (- "-") (parenthesized_expression "(dVar1 - dVar12)" (( "(") (binary_expression "dVar1 - dVar12" (identifier "dVar1") (- "-") (identifier "dVar12")) () ")")))) (; ";")) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" (identifier "param_5") (= "=") (binary_expression "param_5 - (double)local_664._0_4_" (identifier "param_5") (- "-") (cast_expression "(double)local_664._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "dVar7 = 1.0 - param_5;" (assignment_expression "dVar7 = 1.0 - param_5" (identifier "dVar7") (= "=") (binary_expression "1.0 - param_5" (number_literal "1.0") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;" (assignment_expression "dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7" (identifier "dVar9") (= "=") (binary_expression "(double)DAT_002e9cb4 * param_5 * dVar7" (binary_expression "(double)DAT_002e9cb4 * param_5" (cast_expression "(double)DAT_002e9cb4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002e9cb4")) (* "*") (identifier "param_5")) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "dVar11 = dVar9 * dVar7;" (assignment_expression "dVar11 = dVar9 * dVar7" (identifier "dVar11") (= "=") (binary_expression "dVar9 * dVar7" (identifier "dVar9") (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "dVar9 = dVar9 * param_5;" (assignment_expression "dVar9 = dVar9 * param_5" (identifier "dVar9") (= "=") (binary_expression "dVar9 * param_5" (identifier "dVar9") (* "*") (identifier "param_5"))) (; ";")) (expression_statement "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);" (assignment_expression "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11)" (identifier "dVar7") (= "=") (binary_expression "(dVar7 - dVar11) + (dVar9 - dVar11)" (parenthesized_expression "(dVar7 - dVar11)" (( "(") (binary_expression "dVar7 - dVar11" (identifier "dVar7") (- "-") (identifier "dVar11")) () ")")) (+ "+") (parenthesized_expression "(dVar9 - dVar11)" (( "(") (binary_expression "dVar9 - dVar11" (identifier "dVar9") (- "-") (identifier "dVar11")) () ")")))) (; ";")) (expression_statement "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);" (assignment_expression "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11)" (identifier "dVar8") (= "=") (binary_expression "(param_5 - dVar9) - (dVar9 - dVar11)" (parenthesized_expression "(param_5 - dVar9)" (( "(") (binary_expression "param_5 - dVar9" (identifier "param_5") (- "-") (identifier "dVar9")) () ")")) (- "-") (parenthesized_expression "(dVar9 - dVar11)" (( "(") (binary_expression "dVar9 - dVar11" (identifier "dVar9") (- "-") (identifier "dVar11")) () ")")))) (; ";")) (expression_statement "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12)" (( "(") (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35" (binary_expression "dStack_50 * dVar1" (identifier "dStack_50") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_a0 * dVar35" (identifier "dStack_a0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_f0 * dVar13" (identifier "dStack_f0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_140 * dVar12" (identifier "dStack_140") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (parenthesized_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12)" (( "(") (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35" (binary_expression "dStack_190 * dVar1" (identifier "dStack_190") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1e0 * dVar35" (identifier "dStack_1e0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_230 * dVar13" (identifier "dStack_230") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_280 * dVar12" (identifier "dStack_280") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12)" (( "(") (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35" (binary_expression "dStack_2d0 * dVar1" (identifier "dStack_2d0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_320 * dVar35" (identifier "dStack_320") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_370 * dVar13" (identifier "dStack_370") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3c0 * dVar12" (identifier "dStack_3c0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   )" (( "(") (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12" (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13" (binary_expression "local_410 * dVar1 + local_460 * dVar35" (binary_expression "local_410 * dVar1" (identifier "local_410") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_460 * dVar35" (identifier "local_460") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_4b0 * dVar13" (identifier "local_4b0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_500 * dVar12" (identifier "local_500") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (expression_statement "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12)" (( "(") (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35" (binary_expression "dStack_48 * dVar1" (identifier "dStack_48") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_98 * dVar35" (identifier "dStack_98") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_e8 * dVar13" (identifier "dStack_e8") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_138 * dVar12" (identifier "dStack_138") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (parenthesized_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12)" (( "(") (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35" (binary_expression "dStack_188 * dVar1" (identifier "dStack_188") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1d8 * dVar35" (identifier "dStack_1d8") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_228 * dVar13" (identifier "dStack_228") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_278 * dVar12" (identifier "dStack_278") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12)" (( "(") (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35" (binary_expression "dStack_2c8 * dVar1" (identifier "dStack_2c8") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_318 * dVar35" (identifier "dStack_318") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_368 * dVar13" (identifier "dStack_368") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3b8 * dVar12" (identifier "dStack_3b8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   )" (( "(") (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12" (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13" (binary_expression "local_408 * dVar1 + local_458 * dVar35" (binary_expression "local_408 * dVar1" (identifier "local_408") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_458 * dVar35" (identifier "local_458") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_4a8 * dVar13" (identifier "local_4a8") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4f8 * dVar12" (identifier "local_4f8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12)" (( "(") (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35" (binary_expression "dStack_40 * dVar1" (identifier "dStack_40") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_90 * dVar35" (identifier "dStack_90") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_e0 * dVar13" (identifier "dStack_e0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_130 * dVar12" (identifier "dStack_130") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (parenthesized_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12)" (( "(") (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35" (binary_expression "dStack_180 * dVar1" (identifier "dStack_180") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1d0 * dVar35" (identifier "dStack_1d0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_220 * dVar13" (identifier "dStack_220") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_270 * dVar12" (identifier "dStack_270") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12)" (( "(") (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35" (binary_expression "dStack_2c0 * dVar1" (identifier "dStack_2c0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_310 * dVar35" (identifier "dStack_310") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_360 * dVar13" (identifier "dStack_360") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3b0 * dVar12" (identifier "dStack_3b0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   )" (( "(") (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12" (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13" (binary_expression "local_400 * dVar1 + local_450 * dVar35" (binary_expression "local_400 * dVar1" (identifier "local_400") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_450 * dVar35" (identifier "local_450") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_4a0 * dVar13" (identifier "local_4a0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4f0 * dVar12" (identifier "local_4f0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (if_statement "if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" (if "if") (parenthesized_expression "(iVar27 == 2)" (( "(") (binary_expression "iVar27 == 2" (identifier "iVar27") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" ({ "{") (expression_statement "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9" (parenthesized_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12)" (( "(") (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35" (binary_expression "dStack_38 * dVar1" (identifier "dStack_38") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_88 * dVar35" (identifier "dStack_88") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_d8 * dVar13" (identifier "dStack_d8") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_128 * dVar12" (identifier "dStack_128") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (parenthesized_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12)" (( "(") (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35" (binary_expression "dStack_178 * dVar1" (identifier "dStack_178") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1c8 * dVar35" (identifier "dStack_1c8") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_218 * dVar13" (identifier "dStack_218") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_268 * dVar12" (identifier "dStack_268") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12)" (( "(") (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35" (binary_expression "dStack_2b8 * dVar1" (identifier "dStack_2b8") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_308 * dVar35" (identifier "dStack_308") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_358 * dVar13" (identifier "dStack_358") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3a8 * dVar12" (identifier "dStack_3a8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (parenthesized_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12)" (( "(") (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35" (binary_expression "local_3f8 * dVar1" (identifier "local_3f8") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_448 * dVar35" (identifier "local_448") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_498 * dVar13" (identifier "local_498") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4e8 * dVar12" (identifier "local_4e8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9" (parenthesized_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120)" (( "(") (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80" (binary_expression "dVar1 * dStack_30" (identifier "dVar1") (* "*") (identifier "dStack_30")) (+ "+") (binary_expression "dVar35 * dStack_80" (identifier "dVar35") (* "*") (identifier "dStack_80"))) (+ "+") (binary_expression "dVar13 * dStack_d0" (identifier "dVar13") (* "*") (identifier "dStack_d0"))) (+ "+") (binary_expression "dVar12 * dStack_120" (identifier "dVar12") (* "*") (identifier "dStack_120"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (parenthesized_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12)" (( "(") (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35" (binary_expression "dStack_170 * dVar1" (identifier "dStack_170") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1c0 * dVar35" (identifier "dStack_1c0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_210 * dVar13" (identifier "dStack_210") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_260 * dVar12" (identifier "dStack_260") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12)" (( "(") (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35" (binary_expression "dStack_2b0 * dVar1" (identifier "dStack_2b0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_300 * dVar35" (identifier "dStack_300") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_350 * dVar13" (identifier "dStack_350") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3a0 * dVar12" (identifier "dStack_3a0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   )" (( "(") (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35" (binary_expression "local_3f0 * dVar1" (identifier "local_3f0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_440 * dVar35" (identifier "local_440") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_490 * dVar13" (identifier "local_490") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4e0 * dVar12" (identifier "local_4e0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }\n    break;" (case "case") (number_literal "8") (: ":") (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7)" (( "(") (identifier "param_2") (, ",") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (, ",") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\ncode_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);\n      *param_6 = *param_1;\n      uVar24 = param_1[1];\n      *(undefined8 *)(param_6 + 3) = uVar2;\n      param_6[1] = uVar24;\n      param_6[5] = param_1[8];\n      param_6[2] = param_1[0xa5];\n      iVar23 = param_1[0xaa];\n      iVar3 = *(int *)(iVar23 + 0x28);\n      iVar4 = *(int *)(iVar23 + 0x14);\n      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);\n      iVar27 = *(int *)(iVar23 + 0x20);\n      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);\n      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);\n      if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }\n      if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }\n      if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }\n      uVar24 = 1;\n      goto LAB_00134728;\n    }" ({ "{") (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" (identifier "ResetMagickMemory") (argument_list "(param_6,0,0x50)" (( "(") (identifier "param_6") (, ",") (number_literal "0") (, ",") (number_literal "0x50") () ")"))) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (labeled_statement "code_r0x0013517c:\n      uVar2 = *(undefined8 *)(param_1 + 0x88);" (statement_identifier "code_r0x0013517c") (: ":") (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0x88)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x88)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x88)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")"))))) (; ";"))) (expression_statement "*param_6 = *param_1;" (assignment_expression "*param_6 = *param_1" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar24 = param_1[1];" (assignment_expression "uVar24 = param_1[1]" (identifier "uVar24") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined8 *)(param_6 + 3) = uVar2;" (assignment_expression "*(undefined8 *)(param_6 + 3) = uVar2" (pointer_expression "*(undefined8 *)(param_6 + 3)" (* "*") (cast_expression "(undefined8 *)(param_6 + 3)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 3)" (( "(") (binary_expression "param_6 + 3" (identifier "param_6") (+ "+") (number_literal "3")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "param_6[1] = uVar24;" (assignment_expression "param_6[1] = uVar24" (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "param_6[5] = param_1[8];" (assignment_expression "param_6[5] = param_1[8]" (subscript_expression "param_6[5]" (identifier "param_6") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "param_6[2] = param_1[0xa5];" (assignment_expression "param_6[2] = param_1[0xa5]" (subscript_expression "param_6[2]" (identifier "param_6") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "iVar23 = param_1[0xaa];" (assignment_expression "iVar23 = param_1[0xaa]" (identifier "iVar23") (= "=") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar3 = *(int *)(iVar23 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar23 + 0x28)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar23 + 0x28)" (* "*") (cast_expression "(int *)(iVar23 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x28)" (( "(") (binary_expression "iVar23 + 0x28" (identifier "iVar23") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar23 + 0x14);" (assignment_expression "iVar4 = *(int *)(iVar23 + 0x14)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar23 + 0x14)" (* "*") (cast_expression "(int *)(iVar23 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x14)" (( "(") (binary_expression "iVar23 + 0x14" (identifier "iVar23") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 8)" (* "*") (cast_expression "(undefined8 *)(param_6 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 8) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 8) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 8) * 8" (pointer_expression "*(int *)(iVar23 + 8)" (* "*") (cast_expression "(int *)(iVar23 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 8)" (( "(") (binary_expression "iVar23 + 8" (identifier "iVar23") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "iVar27 = *(int *)(iVar23 + 0x20);" (assignment_expression "iVar27 = *(int *)(iVar23 + 0x20)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(iVar23 + 0x20)" (* "*") (cast_expression "(int *)(iVar23 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x20)" (( "(") (binary_expression "iVar23 + 0x20" (identifier "iVar23") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);" (assignment_expression "*(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8)" (pointer_expression "*(undefined8 *)(param_6 + 10)" (* "*") (cast_expression "(undefined8 *)(param_6 + 10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar25 + iVar4 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + iVar4 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar4 * 8)" (( "(") (binary_expression "iVar25 + iVar4 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar4 * 8" (identifier "iVar4") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0xc)" (* "*") (cast_expression "(undefined8 *)(param_6 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar25 + iVar27 * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + iVar27 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar27 * 8)" (( "(") (binary_expression "iVar25 + iVar27 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar27 * 8" (identifier "iVar27") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (iVar3 != 0) {\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);\n      }" ({ "{") (expression_statement "*(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0xe)" (* "*") (cast_expression "(undefined8 *)(param_6 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x2c) * 8" (pointer_expression "*(int *)(iVar23 + 0x2c)" (* "*") (cast_expression "(int *)(iVar23 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x2c)" (( "(") (binary_expression "iVar23 + 0x2c" (identifier "iVar23") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar23 + 0x34) != 0) {\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar23 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar23 + 0x34) != 0" (pointer_expression "*(int *)(iVar23 + 0x34)" (* "*") (cast_expression "(int *)(iVar23 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x34)" (( "(") (binary_expression "iVar23 + 0x34" (identifier "iVar23") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);\n        param_6[2] = 4;\n        *(undefined8 *)(param_6 + 0x10) = uVar2;\n      }" ({ "{") (expression_statement "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);" (assignment_expression "uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x38) * 8" (pointer_expression "*(int *)(iVar23 + 0x38)" (* "*") (cast_expression "(int *)(iVar23 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x38)" (( "(") (binary_expression "iVar23 + 0x38" (identifier "iVar23") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "param_6[2] = 4;" (assignment_expression "param_6[2] = 4" (subscript_expression "param_6[2]" (identifier "param_6") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined8 *)(param_6 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(param_6 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(param_6 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_6 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar23 + 0x40) != 0) {\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar23 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar23 + 0x40) != 0" (pointer_expression "*(int *)(iVar23 + 0x40)" (* "*") (cast_expression "(int *)(iVar23 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x40)" (( "(") (binary_expression "iVar23 + 0x40" (identifier "iVar23") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);\n      }" ({ "{") (expression_statement "*(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);" (assignment_expression "*(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" (pointer_expression "*(undefined8 *)(param_6 + 0x12)" (* "*") (cast_expression "(undefined8 *)(param_6 + 0x12)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x12)" (( "(") (binary_expression "param_6 + 0x12" (identifier "param_6") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" (* "*") (cast_expression "(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar23 + 0x44) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar23 + 0x44) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar23 + 0x44) * 8" (pointer_expression "*(int *)(iVar23 + 0x44)" (* "*") (cast_expression "(int *)(iVar23 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x44)" (( "(") (binary_expression "iVar23 + 0x44" (identifier "iVar23") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);\n    if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }\n    break;" (case "case") (number_literal "9") (: ":") (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7)" (( "(") (identifier "param_2") (, ",") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (, ",") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "2") (, ",") (number_literal "2") (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar25 != 0) {\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      param_4 = param_4 - (double)local_66c._0_4_;\n      iVar5 = param_1[0xaa];\n      param_5 = param_5 - (double)local_664._0_4_;\n      iVar4 = *(int *)(iVar5 + 8) * 8;\n      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);\n      dVar1 = (double)DAT_002f2b64;\n      iVar27 = *(int *)(iVar5 + 0x14) * 8;\n      iVar29 = *(int *)(iVar5 + 0x20) * 8;\n      pdVar28 = (double *)(iVar25 + iVar29);\n      iVar3 = param_1[0xa6];\n      iVar23 = iVar25 + iVar3 * 0x18;\n      pdVar14 = (double *)(iVar23 + iVar4);\n      pdVar15 = (double *)(iVar23 + iVar27);\n      pdVar16 = (double *)(iVar23 + iVar29);\n      dVar8 = (double)DAT_002f2b68;\n      dVar35 = dStack_5ec * dVar8;\n      dVar7 = (double)DAT_002f2b6c;\n      iVar17 = iVar23 + iVar3 * -0x10;\n      pdVar18 = (double *)(iVar17 + iVar4);\n      pdVar19 = (double *)(iVar17 + iVar27);\n      pdVar20 = (double *)(iVar17 + iVar29);\n      iVar3 = iVar17 + iVar3 * 8;\n      pdVar26 = (double *)(iVar27 + iVar3);\n      pdVar21 = (double *)(iVar4 + iVar3);\n      pdVar22 = (double *)(iVar29 + iVar3);\n      iVar4 = *(int *)(iVar5 + 0x34);\n      iVar29 = param_1[1];\n      if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }\n      dVar9 = 1.0 - param_4;\n      local_500 = dStack_5ec;\n      local_3f0 = local_66c;\n      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }\n      goto LAB_00134728;\n    }" ({ "{") (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" (identifier "param_4") (= "=") (binary_expression "param_4 - (double)local_66c._0_4_" (identifier "param_4") (- "-") (cast_expression "(double)local_66c._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "iVar5 = param_1[0xaa];" (assignment_expression "iVar5 = param_1[0xaa]" (identifier "iVar5") (= "=") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" (identifier "param_5") (= "=") (binary_expression "param_5 - (double)local_664._0_4_" (identifier "param_5") (- "-") (cast_expression "(double)local_664._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar5 + 8) * 8;" (assignment_expression "iVar4 = *(int *)(iVar5 + 8) * 8" (identifier "iVar4") (= "=") (binary_expression "*(int *)(iVar5 + 8) * 8" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) (; ";")) (expression_statement "dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);" (assignment_expression "dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" (identifier "dStack_5ec") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 8) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar5 + 8) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar5 + 8) * 8" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "dVar1 = (double)DAT_002f2b64;" (assignment_expression "dVar1 = (double)DAT_002f2b64" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_002f2b64" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f2b64"))) (; ";")) (expression_statement "iVar27 = *(int *)(iVar5 + 0x14) * 8;" (assignment_expression "iVar27 = *(int *)(iVar5 + 0x14) * 8" (identifier "iVar27") (= "=") (binary_expression "*(int *)(iVar5 + 0x14) * 8" (pointer_expression "*(int *)(iVar5 + 0x14)" (* "*") (cast_expression "(int *)(iVar5 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x14)" (( "(") (binary_expression "iVar5 + 0x14" (identifier "iVar5") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) (; ";")) (expression_statement "iVar29 = *(int *)(iVar5 + 0x20) * 8;" (assignment_expression "iVar29 = *(int *)(iVar5 + 0x20) * 8" (identifier "iVar29") (= "=") (binary_expression "*(int *)(iVar5 + 0x20) * 8" (pointer_expression "*(int *)(iVar5 + 0x20)" (* "*") (cast_expression "(int *)(iVar5 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x20)" (( "(") (binary_expression "iVar5 + 0x20" (identifier "iVar5") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) (; ";")) (expression_statement "pdVar28 = (double *)(iVar25 + iVar29);" (assignment_expression "pdVar28 = (double *)(iVar25 + iVar29)" (identifier "pdVar28") (= "=") (cast_expression "(double *)(iVar25 + iVar29)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar29)" (( "(") (binary_expression "iVar25 + iVar29" (identifier "iVar25") (+ "+") (identifier "iVar29")) () ")")))) (; ";")) (expression_statement "iVar3 = param_1[0xa6];" (assignment_expression "iVar3 = param_1[0xa6]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar23 = iVar25 + iVar3 * 0x18;" (assignment_expression "iVar23 = iVar25 + iVar3 * 0x18" (identifier "iVar23") (= "=") (binary_expression "iVar25 + iVar3 * 0x18" (identifier "iVar25") (+ "+") (binary_expression "iVar3 * 0x18" (identifier "iVar3") (* "*") (number_literal "0x18")))) (; ";")) (expression_statement "pdVar14 = (double *)(iVar23 + iVar4);" (assignment_expression "pdVar14 = (double *)(iVar23 + iVar4)" (identifier "pdVar14") (= "=") (cast_expression "(double *)(iVar23 + iVar4)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar4)" (( "(") (binary_expression "iVar23 + iVar4" (identifier "iVar23") (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "pdVar15 = (double *)(iVar23 + iVar27);" (assignment_expression "pdVar15 = (double *)(iVar23 + iVar27)" (identifier "pdVar15") (= "=") (cast_expression "(double *)(iVar23 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar27)" (( "(") (binary_expression "iVar23 + iVar27" (identifier "iVar23") (+ "+") (identifier "iVar27")) () ")")))) (; ";")) (expression_statement "pdVar16 = (double *)(iVar23 + iVar29);" (assignment_expression "pdVar16 = (double *)(iVar23 + iVar29)" (identifier "pdVar16") (= "=") (cast_expression "(double *)(iVar23 + iVar29)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar29)" (( "(") (binary_expression "iVar23 + iVar29" (identifier "iVar23") (+ "+") (identifier "iVar29")) () ")")))) (; ";")) (expression_statement "dVar8 = (double)DAT_002f2b68;" (assignment_expression "dVar8 = (double)DAT_002f2b68" (identifier "dVar8") (= "=") (cast_expression "(double)DAT_002f2b68" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f2b68"))) (; ";")) (expression_statement "dVar35 = dStack_5ec * dVar8;" (assignment_expression "dVar35 = dStack_5ec * dVar8" (identifier "dVar35") (= "=") (binary_expression "dStack_5ec * dVar8" (identifier "dStack_5ec") (* "*") (identifier "dVar8"))) (; ";")) (expression_statement "dVar7 = (double)DAT_002f2b6c;" (assignment_expression "dVar7 = (double)DAT_002f2b6c" (identifier "dVar7") (= "=") (cast_expression "(double)DAT_002f2b6c" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f2b6c"))) (; ";")) (expression_statement "iVar17 = iVar23 + iVar3 * -0x10;" (assignment_expression "iVar17 = iVar23 + iVar3 * -0x10" (identifier "iVar17") (= "=") (binary_expression "iVar23 + iVar3 * -0x10" (identifier "iVar23") (+ "+") (binary_expression "iVar3 * -0x10" (identifier "iVar3") (* "*") (number_literal "-0x10")))) (; ";")) (expression_statement "pdVar18 = (double *)(iVar17 + iVar4);" (assignment_expression "pdVar18 = (double *)(iVar17 + iVar4)" (identifier "pdVar18") (= "=") (cast_expression "(double *)(iVar17 + iVar4)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + iVar4)" (( "(") (binary_expression "iVar17 + iVar4" (identifier "iVar17") (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "pdVar19 = (double *)(iVar17 + iVar27);" (assignment_expression "pdVar19 = (double *)(iVar17 + iVar27)" (identifier "pdVar19") (= "=") (cast_expression "(double *)(iVar17 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + iVar27)" (( "(") (binary_expression "iVar17 + iVar27" (identifier "iVar17") (+ "+") (identifier "iVar27")) () ")")))) (; ";")) (expression_statement "pdVar20 = (double *)(iVar17 + iVar29);" (assignment_expression "pdVar20 = (double *)(iVar17 + iVar29)" (identifier "pdVar20") (= "=") (cast_expression "(double *)(iVar17 + iVar29)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + iVar29)" (( "(") (binary_expression "iVar17 + iVar29" (identifier "iVar17") (+ "+") (identifier "iVar29")) () ")")))) (; ";")) (expression_statement "iVar3 = iVar17 + iVar3 * 8;" (assignment_expression "iVar3 = iVar17 + iVar3 * 8" (identifier "iVar3") (= "=") (binary_expression "iVar17 + iVar3 * 8" (identifier "iVar17") (+ "+") (binary_expression "iVar3 * 8" (identifier "iVar3") (* "*") (number_literal "8")))) (; ";")) (expression_statement "pdVar26 = (double *)(iVar27 + iVar3);" (assignment_expression "pdVar26 = (double *)(iVar27 + iVar3)" (identifier "pdVar26") (= "=") (cast_expression "(double *)(iVar27 + iVar3)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + iVar3)" (( "(") (binary_expression "iVar27 + iVar3" (identifier "iVar27") (+ "+") (identifier "iVar3")) () ")")))) (; ";")) (expression_statement "pdVar21 = (double *)(iVar4 + iVar3);" (assignment_expression "pdVar21 = (double *)(iVar4 + iVar3)" (identifier "pdVar21") (= "=") (cast_expression "(double *)(iVar4 + iVar3)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar3)" (( "(") (binary_expression "iVar4 + iVar3" (identifier "iVar4") (+ "+") (identifier "iVar3")) () ")")))) (; ";")) (expression_statement "pdVar22 = (double *)(iVar29 + iVar3);" (assignment_expression "pdVar22 = (double *)(iVar29 + iVar3)" (identifier "pdVar22") (= "=") (cast_expression "(double *)(iVar29 + iVar3)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + iVar3)" (( "(") (binary_expression "iVar29 + iVar3" (identifier "iVar29") (+ "+") (identifier "iVar3")) () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar5 + 0x34);" (assignment_expression "iVar4 = *(int *)(iVar5 + 0x34)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar5 + 0x34)" (* "*") (cast_expression "(int *)(iVar5 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x34)" (( "(") (binary_expression "iVar5 + 0x34" (identifier "iVar5") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar29 = param_1[1];" (assignment_expression "iVar29 = param_1[1]" (identifier "iVar29") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (param_1[0xa5] == 0) {\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }\n      else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" (if "if") (parenthesized_expression "(param_1[0xa5] == 0)" (( "(") (binary_expression "param_1[0xa5] == 0" (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_5a4[0] = 1.0;\n        local_4f8 = *(double *)(iVar25 + iVar27);\n        local_4f0 = *pdVar28;\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }\n        local_5a4[3] = 1.0;\n        local_5a4[2] = 1.0;\n        local_5a4[1] = 1.0;\n      }" ({ "{") (expression_statement "local_5a4[0] = 1.0;" (assignment_expression "local_5a4[0] = 1.0" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar27);" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar27)" (identifier "local_4f8") (= "=") (pointer_expression "*(double *)(iVar25 + iVar27)" (* "*") (cast_expression "(double *)(iVar25 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar27)" (( "(") (binary_expression "iVar25 + iVar27" (identifier "iVar25") (+ "+") (identifier "iVar27")) () ")"))))) (; ";")) (expression_statement "local_4f0 = *pdVar28;" (assignment_expression "local_4f0 = *pdVar28" (identifier "local_4f0") (= "=") (pointer_expression "*pdVar28" (* "*") (identifier "pdVar28"))) (; ";")) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" (identifier "local_4e8") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 != 0) goto code_r0x0013613f;\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\ncode_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) goto code_r0x0013626b;\ncode_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" ({ "{") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_4e8 = 0.0;\n          }" ({ "{") (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" (identifier "local_4e8") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_4e8") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar4 != 0) goto code_r0x0013613f;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0013613f;" (goto "goto") (statement_identifier "code_r0x0013613f") (; ";"))) (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" (identifier "local_4e0") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" (identifier "local_4b0") (= "=") (pointer_expression "*pdVar18" (* "*") (identifier "pdVar18"))) (; ";")) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" (identifier "local_4a8") (= "=") (pointer_expression "*pdVar19" (* "*") (identifier "pdVar19"))) (; ";")) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" (identifier "local_4a0") (= "=") (pointer_expression "*pdVar20" (* "*") (identifier "pdVar20"))) (; ";")) (labeled_statement "code_r0x00136ae2:\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (statement_identifier "code_r0x00136ae2") (: ":") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_498 = 0.0;\n          }" ({ "{") (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" (identifier "local_498") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_498") (= "=") (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar17 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))))) (if_statement "if (iVar4 == 0) {\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }\n          else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_490 = (double)DAT_002df8a8;\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\ncode_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 == 0) goto code_r0x00136b86;\n          }" ({ "{") (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" (identifier "local_490") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" (identifier "local_460") (= "=") (pointer_expression "*pdVar21" (* "*") (identifier "pdVar21"))) (; ";")) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" (identifier "local_458") (= "=") (pointer_expression "*pdVar26" (* "*") (identifier "pdVar26"))) (; ";")) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" (identifier "local_450") (= "=") (pointer_expression "*pdVar22" (* "*") (identifier "pdVar22"))) (; ";")) (labeled_statement "code_r0x00136b5f:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" (statement_identifier "code_r0x00136b5f") (: ":") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n              local_448 = 0.0;\n            }\n            else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_448 = 0.0;\n            }" ({ "{") (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" (identifier "local_448") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_448") (= "=") (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar3 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar3") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))))) (if_statement "if (iVar4 == 0) goto code_r0x00136b86;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00136b86;" (goto "goto") (statement_identifier "code_r0x00136b86") (; ";"))) (} "}")) (else_clause "else {\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" (else "else") (compound_statement "{\ncode_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n            local_460 = *pdVar21;\n            local_458 = *pdVar26;\n            local_450 = *pdVar22;\n            local_448 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136b5f;\n          }" ({ "{") (labeled_statement "code_r0x001361a4:\n            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (statement_identifier "code_r0x001361a4") (: ":") (expression_statement "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_490") (= "=") (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" (identifier "local_460") (= "=") (pointer_expression "*pdVar21" (* "*") (identifier "pdVar21"))) (; ";")) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" (identifier "local_458") (= "=") (pointer_expression "*pdVar26" (* "*") (identifier "pdVar26"))) (; ";")) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" (identifier "local_450") (= "=") (pointer_expression "*pdVar22" (* "*") (identifier "pdVar22"))) (; ";")) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" (identifier "local_448") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) goto code_r0x00136b5f;" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (goto_statement "goto code_r0x00136b5f;" (goto "goto") (statement_identifier "code_r0x00136b5f") (; ";"))) (} "}")))) (expression_statement "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_440") (= "=") (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar3") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_410 = *pdVar14;" (assignment_expression "local_410 = *pdVar14" (identifier "local_410") (= "=") (pointer_expression "*pdVar14" (* "*") (identifier "pdVar14"))) (; ";")) (expression_statement "local_408 = *pdVar15;" (assignment_expression "local_408 = *pdVar15" (identifier "local_408") (= "=") (pointer_expression "*pdVar15" (* "*") (identifier "pdVar15"))) (; ";")) (expression_statement "local_400 = *pdVar16;" (assignment_expression "local_400 = *pdVar16" (identifier "local_400") (= "=") (pointer_expression "*pdVar16" (* "*") (identifier "pdVar16"))) (; ";")) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" (identifier "local_3f8") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) goto code_r0x0013626b;" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (goto_statement "goto code_r0x0013626b;" (goto "goto") (statement_identifier "code_r0x0013626b") (; ";"))) (labeled_statement "code_r0x00136296:\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (statement_identifier "code_r0x00136296") (: ":") (expression_statement "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_66c") (= "=") (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" (else "else") (compound_statement "{\n          if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }\n          local_4e0 = (double)DAT_002df8a8;\n          local_4b0 = *pdVar18;\n          local_4a8 = *pdVar19;\n          local_4a0 = *pdVar20;\n          local_498 = 0.0;\n          local_490 = (double)DAT_002df8a8;\n          local_460 = *pdVar21;\n          local_458 = *pdVar26;\n          local_450 = *pdVar22;\n          local_448 = 0.0;\ncode_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;\n          local_410 = *pdVar14;\n          local_408 = *pdVar15;\n          local_400 = *pdVar16;\n          local_3f8 = 0.0;\n          if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }\n        }" ({ "{") (if_statement "if (iVar4 != 0) {\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n            local_4b0 = *pdVar18;\n            local_4a8 = *pdVar19;\n            local_4a0 = *pdVar20;\n            local_498 = 0.0;\n            if (iVar29 == 2) goto code_r0x00136ae2;\n            goto code_r0x001361a4;\n          }" ({ "{") (labeled_statement "code_r0x0013613f:\n            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (statement_identifier "code_r0x0013613f") (: ":") (expression_statement "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_4e0") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" (identifier "local_4b0") (= "=") (pointer_expression "*pdVar18" (* "*") (identifier "pdVar18"))) (; ";")) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" (identifier "local_4a8") (= "=") (pointer_expression "*pdVar19" (* "*") (identifier "pdVar19"))) (; ";")) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" (identifier "local_4a0") (= "=") (pointer_expression "*pdVar20" (* "*") (identifier "pdVar20"))) (; ";")) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" (identifier "local_498") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) goto code_r0x00136ae2;" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (goto_statement "goto code_r0x00136ae2;" (goto "goto") (statement_identifier "code_r0x00136ae2") (; ";"))) (goto_statement "goto code_r0x001361a4;" (goto "goto") (statement_identifier "code_r0x001361a4") (; ";")) (} "}"))) (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" (identifier "local_4e0") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "local_4b0 = *pdVar18;" (assignment_expression "local_4b0 = *pdVar18" (identifier "local_4b0") (= "=") (pointer_expression "*pdVar18" (* "*") (identifier "pdVar18"))) (; ";")) (expression_statement "local_4a8 = *pdVar19;" (assignment_expression "local_4a8 = *pdVar19" (identifier "local_4a8") (= "=") (pointer_expression "*pdVar19" (* "*") (identifier "pdVar19"))) (; ";")) (expression_statement "local_4a0 = *pdVar20;" (assignment_expression "local_4a0 = *pdVar20" (identifier "local_4a0") (= "=") (pointer_expression "*pdVar20" (* "*") (identifier "pdVar20"))) (; ";")) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" (identifier "local_498") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" (identifier "local_490") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "local_460 = *pdVar21;" (assignment_expression "local_460 = *pdVar21" (identifier "local_460") (= "=") (pointer_expression "*pdVar21" (* "*") (identifier "pdVar21"))) (; ";")) (expression_statement "local_458 = *pdVar26;" (assignment_expression "local_458 = *pdVar26" (identifier "local_458") (= "=") (pointer_expression "*pdVar26" (* "*") (identifier "pdVar26"))) (; ";")) (expression_statement "local_450 = *pdVar22;" (assignment_expression "local_450 = *pdVar22" (identifier "local_450") (= "=") (pointer_expression "*pdVar22" (* "*") (identifier "pdVar22"))) (; ";")) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" (identifier "local_448") (= "=") (number_literal "0.0")) (; ";")) (labeled_statement "code_r0x00136b86:\n          local_440 = (double)DAT_002df8a8;" (statement_identifier "code_r0x00136b86") (: ":") (expression_statement "local_440 = (double)DAT_002df8a8;" (assignment_expression "local_440 = (double)DAT_002df8a8" (identifier "local_440") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";"))) (expression_statement "local_410 = *pdVar14;" (assignment_expression "local_410 = *pdVar14" (identifier "local_410") (= "=") (pointer_expression "*pdVar14" (* "*") (identifier "pdVar14"))) (; ";")) (expression_statement "local_408 = *pdVar15;" (assignment_expression "local_408 = *pdVar15" (identifier "local_408") (= "=") (pointer_expression "*pdVar15" (* "*") (identifier "pdVar15"))) (; ";")) (expression_statement "local_400 = *pdVar16;" (assignment_expression "local_400 = *pdVar16" (identifier "local_400") (= "=") (pointer_expression "*pdVar16" (* "*") (identifier "pdVar16"))) (; ";")) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" (identifier "local_3f8") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) {\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }\n          else {\n            local_66c = (double)DAT_002df8a8;\n          }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\ncode_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }\n            if (iVar4 != 0) goto code_r0x00136296;\n            local_66c = (double)DAT_002df8a8;\n          }" ({ "{") (labeled_statement "code_r0x0013626b:\n            if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" (statement_identifier "code_r0x0013626b") (: ":") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n              local_3f8 = 0.0;\n            }\n            else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_3f8 = 0.0;\n            }" ({ "{") (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" (identifier "local_3f8") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_3f8") (= "=") (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))))) (if_statement "if (iVar4 != 0) goto code_r0x00136296;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00136296;" (goto "goto") (statement_identifier "code_r0x00136296") (; ";"))) (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" (identifier "local_66c") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (} "}")) (else_clause "else {\n            local_66c = (double)DAT_002df8a8;\n          }" (else "else") (compound_statement "{\n            local_66c = (double)DAT_002df8a8;\n          }" ({ "{") (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" (identifier "local_66c") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "local_5a4[3] = 1.0;" (assignment_expression "local_5a4[3] = 1.0" (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (expression_statement "local_5a4[2] = 1.0;" (assignment_expression "local_5a4[2] = 1.0" (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (expression_statement "local_5a4[1] = 1.0;" (assignment_expression "local_5a4[1] = 1.0" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }\n        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];\n        local_4f0 = *pdVar28 * local_5a4[0];\n        local_4e8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }\n        if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_4b0 = *pdVar18 * local_5a4[1];\n        local_4a8 = *pdVar19 * local_5a4[1];\n        local_4a0 = *pdVar20 * local_5a4[1];\n        local_498 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }\n        if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_460 = *pdVar21 * local_5a4[2];\n        local_458 = *pdVar26 * local_5a4[2];\n        local_450 = *pdVar22 * local_5a4[2];\n        local_448 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }\n        if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n        local_410 = *pdVar14 * local_5a4[3];\n        local_408 = *pdVar15 * local_5a4[3];\n        local_400 = *pdVar16 * local_5a4[3];\n        local_3f8 = 0.0;\n        if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }\n        if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }\n      }" ({ "{") (if_statement "if (iVar4 == 0) {\n          local_5a4[0] = 1.0;\n        }\n        else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_5a4[0] = 1.0;\n        }" ({ "{") (expression_statement "local_5a4[0] = 1.0;" (assignment_expression "local_5a4[0] = 1.0" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" (else "else") (compound_statement "{\n          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          dStack_5ec = dStack_5ec * local_5a4[0];\n        }" ({ "{") (expression_statement "local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "_DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (identifier "_DAT_002df2e0") (* "*") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (expression_statement "dStack_5ec = dStack_5ec * local_5a4[0];" (assignment_expression "dStack_5ec = dStack_5ec * local_5a4[0]" (identifier "dStack_5ec") (= "=") (binary_expression "dStack_5ec * local_5a4[0]" (identifier "dStack_5ec") (* "*") (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")))) (; ";")) (} "}")))) (expression_statement "local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];" (assignment_expression "local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0]" (identifier "local_4f8") (= "=") (binary_expression "*(double *)(iVar25 + iVar27) * local_5a4[0]" (pointer_expression "*(double *)(iVar25 + iVar27)" (* "*") (cast_expression "(double *)(iVar25 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar27)" (( "(") (binary_expression "iVar25 + iVar27" (identifier "iVar25") (+ "+") (identifier "iVar27")) () ")")))) (* "*") (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "local_4f0 = *pdVar28 * local_5a4[0];" (assignment_expression "local_4f0 = *pdVar28 * local_5a4[0]" (identifier "local_4f0") (= "=") (binary_expression "*pdVar28 * local_5a4[0]" (pointer_expression "*pdVar28" (* "*") (identifier "pdVar28")) (* "*") (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" (identifier "local_4e8") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_4e8 = local_4e8 * local_5a4[0];\n        }" ({ "{") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_4e8 = 0.0;\n          }\n          else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_4e8 = 0.0;\n          }" ({ "{") (expression_statement "local_4e8 = 0.0;" (assignment_expression "local_4e8 = 0.0" (identifier "local_4e8") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_4e8") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_4e8 = local_4e8 * local_5a4[0];" (assignment_expression "local_4e8 = local_4e8 * local_5a4[0]" (identifier "local_4e8") (= "=") (binary_expression "local_4e8 * local_5a4[0]" (identifier "local_4e8") (* "*") (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iVar4 == 0) {\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }\n        else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_4e0 = (double)DAT_002df8a8;\n          local_5a4[1] = 1.0;\n        }" ({ "{") (expression_statement "local_4e0 = (double)DAT_002df8a8;" (assignment_expression "local_4e0 = (double)DAT_002df8a8" (identifier "local_4e0") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "local_5a4[1] = 1.0;" (assignment_expression "local_5a4[1] = 1.0" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" (else "else") (compound_statement "{\n          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n        }" ({ "{") (expression_statement "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_4e0") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "_DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (identifier "_DAT_002df2e0") (* "*") (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (} "}")))) (expression_statement "local_4b0 = *pdVar18 * local_5a4[1];" (assignment_expression "local_4b0 = *pdVar18 * local_5a4[1]" (identifier "local_4b0") (= "=") (binary_expression "*pdVar18 * local_5a4[1]" (pointer_expression "*pdVar18" (* "*") (identifier "pdVar18")) (* "*") (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_4a8 = *pdVar19 * local_5a4[1];" (assignment_expression "local_4a8 = *pdVar19 * local_5a4[1]" (identifier "local_4a8") (= "=") (binary_expression "*pdVar19 * local_5a4[1]" (pointer_expression "*pdVar19" (* "*") (identifier "pdVar19")) (* "*") (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_4a0 = *pdVar20 * local_5a4[1];" (assignment_expression "local_4a0 = *pdVar20 * local_5a4[1]" (identifier "local_4a0") (= "=") (binary_expression "*pdVar20 * local_5a4[1]" (pointer_expression "*pdVar20" (* "*") (identifier "pdVar20")) (* "*") (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" (identifier "local_498") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_498 = local_498 * local_5a4[1];\n        }" ({ "{") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_498 = 0.0;\n          }\n          else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_498 = 0.0;\n          }" ({ "{") (expression_statement "local_498 = 0.0;" (assignment_expression "local_498 = 0.0" (identifier "local_498") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_498") (= "=") (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar17 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_498 = local_498 * local_5a4[1];" (assignment_expression "local_498 = local_498 * local_5a4[1]" (identifier "local_498") (= "=") (binary_expression "local_498 * local_5a4[1]" (identifier "local_498") (* "*") (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iVar4 == 0) {\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }\n        else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_490 = (double)DAT_002df8a8;\n          local_5a4[2] = 1.0;\n        }" ({ "{") (expression_statement "local_490 = (double)DAT_002df8a8;" (assignment_expression "local_490 = (double)DAT_002df8a8" (identifier "local_490") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "local_5a4[2] = 1.0;" (assignment_expression "local_5a4[2] = 1.0" (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" (else "else") (compound_statement "{\n          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n        }" ({ "{") (expression_statement "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_490") (= "=") (pointer_expression "*(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar17 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "_DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (identifier "_DAT_002df2e0") (* "*") (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar3") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (} "}")))) (expression_statement "local_460 = *pdVar21 * local_5a4[2];" (assignment_expression "local_460 = *pdVar21 * local_5a4[2]" (identifier "local_460") (= "=") (binary_expression "*pdVar21 * local_5a4[2]" (pointer_expression "*pdVar21" (* "*") (identifier "pdVar21")) (* "*") (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_458 = *pdVar26 * local_5a4[2];" (assignment_expression "local_458 = *pdVar26 * local_5a4[2]" (identifier "local_458") (= "=") (binary_expression "*pdVar26 * local_5a4[2]" (pointer_expression "*pdVar26" (* "*") (identifier "pdVar26")) (* "*") (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_450 = *pdVar22 * local_5a4[2];" (assignment_expression "local_450 = *pdVar22 * local_5a4[2]" (identifier "local_450") (= "=") (binary_expression "*pdVar22 * local_5a4[2]" (pointer_expression "*pdVar22" (* "*") (identifier "pdVar22")) (* "*") (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" (identifier "local_448") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_448 = local_448 * local_5a4[2];\n        }" ({ "{") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_448 = 0.0;\n          }\n          else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_448 = 0.0;\n          }" ({ "{") (expression_statement "local_448 = 0.0;" (assignment_expression "local_448 = 0.0" (identifier "local_448") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_448") (= "=") (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar3 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar3") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_448 = local_448 * local_5a4[2];" (assignment_expression "local_448 = local_448 * local_5a4[2]" (identifier "local_448") (= "=") (binary_expression "local_448 * local_5a4[2]" (identifier "local_448") (* "*") (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iVar4 == 0) {\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }\n        else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_440 = (double)DAT_002df8a8;\n          local_5a4[3] = 1.0;\n        }" ({ "{") (expression_statement "local_440 = (double)DAT_002df8a8;" (assignment_expression "local_440 = (double)DAT_002df8a8" (identifier "local_440") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "local_5a4[3] = 1.0;" (assignment_expression "local_5a4[3] = 1.0" (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" (else "else") (compound_statement "{\n          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);\n          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" ({ "{") (expression_statement "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_440") (= "=") (pointer_expression "*(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar3 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar3") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "_DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (identifier "_DAT_002df2e0") (* "*") (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))))) (; ";")) (} "}")))) (expression_statement "local_410 = *pdVar14 * local_5a4[3];" (assignment_expression "local_410 = *pdVar14 * local_5a4[3]" (identifier "local_410") (= "=") (binary_expression "*pdVar14 * local_5a4[3]" (pointer_expression "*pdVar14" (* "*") (identifier "pdVar14")) (* "*") (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_408 = *pdVar15 * local_5a4[3];" (assignment_expression "local_408 = *pdVar15 * local_5a4[3]" (identifier "local_408") (= "=") (binary_expression "*pdVar15 * local_5a4[3]" (pointer_expression "*pdVar15" (* "*") (identifier "pdVar15")) (* "*") (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_400 = *pdVar16 * local_5a4[3];" (assignment_expression "local_400 = *pdVar16 * local_5a4[3]" (identifier "local_400") (= "=") (binary_expression "*pdVar16 * local_5a4[3]" (pointer_expression "*pdVar16" (* "*") (identifier "pdVar16")) (* "*") (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" (identifier "local_3f8") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar29 == 2) {\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }\n          local_3f8 = local_3f8 * local_5a4[3];\n        }" ({ "{") (if_statement "if (*(int *)(iVar5 + 0x28) == 0) {\n            local_3f8 = 0.0;\n          }\n          else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x28) == 0" (pointer_expression "*(int *)(iVar5 + 0x28)" (* "*") (cast_expression "(int *)(iVar5 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_3f8 = 0.0;\n          }" ({ "{") (expression_statement "local_3f8 = 0.0;" (assignment_expression "local_3f8 = 0.0" (identifier "local_3f8") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);" (assignment_expression "local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (identifier "local_3f8") (= "=") (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x2c) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar5 + 0x2c) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar5 + 0x2c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_3f8 = local_3f8 * local_5a4[3];" (assignment_expression "local_3f8 = local_3f8 * local_5a4[3]" (identifier "local_3f8") (= "=") (binary_expression "local_3f8 * local_5a4[3]" (identifier "local_3f8") (* "*") (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iVar4 == 0) {\n          local_66c = (double)DAT_002df8a8;\n        }\n        else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_66c = (double)DAT_002df8a8;\n        }" ({ "{") (expression_statement "local_66c = (double)DAT_002df8a8;" (assignment_expression "local_66c = (double)DAT_002df8a8" (identifier "local_66c") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (} "}")) (else_clause "else {\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" (else "else") (compound_statement "{\n          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);\n        }" ({ "{") (expression_statement "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);" (assignment_expression "local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (identifier "local_66c") (= "=") (pointer_expression "*(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + *(int *)(iVar5 + 0x38) * 8)" (( "(") (binary_expression "iVar23 + *(int *)(iVar5 + 0x38) * 8" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar5 + 0x38) * 8" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (} "}")))) (expression_statement "dVar9 = 1.0 - param_4;" (assignment_expression "dVar9 = 1.0 - param_4" (identifier "dVar9") (= "=") (binary_expression "1.0 - param_4" (number_literal "1.0") (- "-") (identifier "param_4"))) (; ";")) (expression_statement "local_500 = dStack_5ec;" (assignment_expression "local_500 = dStack_5ec" (identifier "local_500") (= "=") (identifier "dStack_5ec")) (; ";")) (expression_statement "local_3f0 = local_66c;" (assignment_expression "local_3f0 = local_66c" (identifier "local_3f0") (= "=") (identifier "local_66c")) (; ";")) (if_statement "if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }\n      else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" (if "if") (parenthesized_expression "(ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)))" (( "(") (binary_expression "ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=\n          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" (call_expression "ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21))" (identifier "ABS") (argument_list "((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21))" (( "(") (binary_expression "(*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -\n              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)" (parenthesized_expression "(*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8)" (( "(") (binary_expression "*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8" (binary_expression "*pdVar20 * dVar7 + *pdVar19 * dVar1" (binary_expression "*pdVar20 * dVar7" (pointer_expression "*pdVar20" (* "*") (identifier "pdVar20")) (* "*") (identifier "dVar7")) (+ "+") (binary_expression "*pdVar19 * dVar1" (pointer_expression "*pdVar19" (* "*") (identifier "pdVar19")) (* "*") (identifier "dVar1"))) (+ "+") (binary_expression "*pdVar18 * dVar8" (pointer_expression "*pdVar18" (* "*") (identifier "pdVar18")) (* "*") (identifier "dVar8"))) () ")")) (- "-") (parenthesized_expression "(dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)" (( "(") (binary_expression "dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21" (binary_expression "dVar7 * *pdVar22 + dVar1 * *pdVar26" (binary_expression "dVar7 * *pdVar22" (identifier "dVar7") (* "*") (pointer_expression "*pdVar22" (* "*") (identifier "pdVar22"))) (+ "+") (binary_expression "dVar1 * *pdVar26" (identifier "dVar1") (* "*") (pointer_expression "*pdVar26" (* "*") (identifier "pdVar26")))) (+ "+") (binary_expression "dVar8 * *pdVar21" (identifier "dVar8") (* "*") (pointer_expression "*pdVar21" (* "*") (identifier "pdVar21")))) () ")"))) () ")"))) (<= "<=") (call_expression "ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" (identifier "ABS") (argument_list "((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))" (( "(") (binary_expression "(*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -\n              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)" (parenthesized_expression "(*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1)" (( "(") (binary_expression "*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1" (binary_expression "*pdVar28 * dVar7 + dVar35" (binary_expression "*pdVar28 * dVar7" (pointer_expression "*pdVar28" (* "*") (identifier "pdVar28")) (* "*") (identifier "dVar7")) (+ "+") (identifier "dVar35")) (+ "+") (binary_expression "*(double *)(iVar25 + iVar27) * dVar1" (pointer_expression "*(double *)(iVar25 + iVar27)" (* "*") (cast_expression "(double *)(iVar25 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar27)" (( "(") (binary_expression "iVar25 + iVar27" (identifier "iVar25") (+ "+") (identifier "iVar27")) () ")")))) (* "*") (identifier "dVar1"))) () ")")) (- "-") (parenthesized_expression "(*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8)" (( "(") (binary_expression "*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8" (binary_expression "*pdVar16 * dVar7 + *pdVar15 * dVar1" (binary_expression "*pdVar16 * dVar7" (pointer_expression "*pdVar16" (* "*") (identifier "pdVar16")) (* "*") (identifier "dVar7")) (+ "+") (binary_expression "*pdVar15 * dVar1" (pointer_expression "*pdVar15" (* "*") (identifier "pdVar15")) (* "*") (identifier "dVar1"))) (+ "+") (binary_expression "*pdVar14 * dVar8" (pointer_expression "*pdVar14" (* "*") (identifier "pdVar14")) (* "*") (identifier "dVar8"))) () ")"))) () ")")))) () ")")) (compound_statement "{\n        dVar35 = 1.0 - param_5;\n        if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }\n      }" ({ "{") (expression_statement "dVar35 = 1.0 - param_5;" (assignment_expression "dVar35 = 1.0 - param_5" (identifier "dVar35") (= "=") (binary_expression "1.0 - param_5" (number_literal "1.0") (- "-") (identifier "param_5"))) (; ";")) (if_statement "if (dVar35 < param_4) {\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }\n        else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" (if "if") (parenthesized_expression "(dVar35 < param_4)" (( "(") (binary_expression "dVar35 < param_4" (identifier "dVar35") (< "<") (identifier "param_4")) () ")")) (compound_statement "{\n          dVar8 = (1.0 - dVar9) - dVar35;\n          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;\n          dVar7 = DAT_002df8d8;\n          dVar11 = dVar1;\n          if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }\n          if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }\n          *(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;\n          *(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;\n          *(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);\n        }" ({ "{") (expression_statement "dVar8 = (1.0 - dVar9) - dVar35;" (assignment_expression "dVar8 = (1.0 - dVar9) - dVar35" (identifier "dVar8") (= "=") (binary_expression "(1.0 - dVar9) - dVar35" (parenthesized_expression "(1.0 - dVar9)" (( "(") (binary_expression "1.0 - dVar9" (number_literal "1.0") (- "-") (identifier "dVar9")) () ")")) (- "-") (identifier "dVar35"))) (; ";")) (expression_statement "dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;" (assignment_expression "dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9" (identifier "dVar1") (= "=") (binary_expression "local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9" (binary_expression "local_5a4[3] * dVar8 + local_5a4[1] * dVar35" (binary_expression "local_5a4[3] * dVar8" (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")) (* "*") (identifier "dVar8")) (+ "+") (binary_expression "local_5a4[1] * dVar35" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_5a4[2] * dVar9" (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")) (* "*") (identifier "dVar9")))) (; ";")) (expression_statement "dVar7 = DAT_002df8d8;" (assignment_expression "dVar7 = DAT_002df8d8" (identifier "dVar7") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar11 = dVar1;" (assignment_expression "dVar11 = dVar1" (identifier "dVar11") (= "=") (identifier "dVar1")) (; ";")) (if_statement "if (dVar1 < 0.0) {\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }" (if "if") (parenthesized_expression "(dVar1 < 0.0)" (( "(") (binary_expression "dVar1 < 0.0" (identifier "dVar1") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n            dVar7 = DAT_002df8e0;\n            dVar11 = -dVar1;\n          }" ({ "{") (expression_statement "dVar7 = DAT_002df8e0;" (assignment_expression "dVar7 = DAT_002df8e0" (identifier "dVar7") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar11 = -dVar1;" (assignment_expression "dVar11 = -dVar1" (identifier "dVar11") (= "=") (unary_expression "-dVar1" (- "-") (identifier "dVar1"))) (; ";")) (} "}"))) (if_statement "if (DAT_002df2d0 <= dVar11) {\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }" (if "if") (parenthesized_expression "(DAT_002df2d0 <= dVar11)" (( "(") (binary_expression "DAT_002df2d0 <= dVar11" (identifier "DAT_002df2d0") (<= "<=") (identifier "dVar11")) () ")")) (compound_statement "{\n            dVar7 = (double)DAT_002df8b4 / dVar1;\n          }" ({ "{") (expression_statement "dVar7 = (double)DAT_002df8b4 / dVar1;" (assignment_expression "dVar7 = (double)DAT_002df8b4 / dVar1" (identifier "dVar7") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar1" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar1"))) (; ";")) (} "}"))) (expression_statement "*(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 8) =\n               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7" (parenthesized_expression "(local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9)" (( "(") (binary_expression "local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9" (binary_expression "local_410 * dVar8 + local_4b0 * dVar35" (binary_expression "local_410 * dVar8" (identifier "local_410") (* "*") (identifier "dVar8")) (+ "+") (binary_expression "local_4b0 * dVar35" (identifier "local_4b0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_460 * dVar9" (identifier "local_460") (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "*(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 10) =\n               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7" (parenthesized_expression "(local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9)" (( "(") (binary_expression "local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9" (binary_expression "local_408 * dVar8 + local_4a8 * dVar35" (binary_expression "local_408 * dVar8" (identifier "local_408") (* "*") (identifier "dVar8")) (+ "+") (binary_expression "local_4a8 * dVar35" (identifier "local_4a8") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_458 * dVar9" (identifier "local_458") (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xc) =\n               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7" (parenthesized_expression "(local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9)" (( "(") (binary_expression "local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9" (binary_expression "local_400 * dVar8 + local_4a0 * dVar35" (binary_expression "local_400 * dVar8" (identifier "local_400") (* "*") (identifier "dVar8")) (+ "+") (binary_expression "local_4a0 * dVar35" (identifier "local_4a0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_450 * dVar9" (identifier "local_450") (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (if_statement "if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            *(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;\n          }" ({ "{") (expression_statement "*(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;" (assignment_expression "*(double *)(param_6 + 0xe) =\n                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "(local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7" (parenthesized_expression "(local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9)" (( "(") (binary_expression "local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9" (binary_expression "local_3f8 * dVar8 + local_498 * dVar35" (binary_expression "local_3f8 * dVar8" (identifier "local_3f8") (* "*") (identifier "dVar8")) (+ "+") (binary_expression "local_498 * dVar35" (identifier "local_498") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_448 * dVar9" (identifier "local_448") (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar7"))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);" (assignment_expression "*(double *)(param_6 + 0x10) =\n               (dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(dVar9 + dVar35 + dVar8) *\n               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" (parenthesized_expression "(dVar9 + dVar35 + dVar8)" (( "(") (binary_expression "dVar9 + dVar35 + dVar8" (binary_expression "dVar9 + dVar35" (identifier "dVar9") (+ "+") (identifier "dVar35")) (+ "+") (identifier "dVar8")) () ")")) (* "*") (parenthesized_expression "(local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9)" (( "(") (binary_expression "local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9" (binary_expression "local_66c * dVar8 + local_490 * dVar35" (binary_expression "local_66c * dVar8" (identifier "local_66c") (* "*") (identifier "dVar8")) (+ "+") (binary_expression "local_490 * dVar35" (identifier "local_490") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_440 * dVar9" (identifier "local_440") (* "*") (identifier "dVar9"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" (else "else") (compound_statement "{\n          dVar9 = dVar9 - param_5;\n          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;\n          dVar1 = DAT_002df8d8;\n          dVar7 = dVar35;\n          if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }\n          if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }\n          *(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;\n          *(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;\n          *(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;\n          if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }\n          uVar24 = 1;\n          *(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);\n        }" ({ "{") (expression_statement "dVar9 = dVar9 - param_5;" (assignment_expression "dVar9 = dVar9 - param_5" (identifier "dVar9") (= "=") (binary_expression "dVar9 - param_5" (identifier "dVar9") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;" (assignment_expression "dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4" (identifier "dVar35") (= "=") (binary_expression "local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4" (binary_expression "local_5a4[0] * dVar9 + param_5 * local_5a4[2]" (binary_expression "local_5a4[0] * dVar9" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "param_5 * local_5a4[2]" (identifier "param_5") (* "*") (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")))) (+ "+") (binary_expression "local_5a4[1] * param_4" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (* "*") (identifier "param_4")))) (; ";")) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" (identifier "dVar1") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar7 = dVar35;" (assignment_expression "dVar7 = dVar35" (identifier "dVar7") (= "=") (identifier "dVar35")) (; ";")) (if_statement "if (dVar35 < 0.0) {\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }" (if "if") (parenthesized_expression "(dVar35 < 0.0)" (( "(") (binary_expression "dVar35 < 0.0" (identifier "dVar35") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n            dVar1 = DAT_002df8e0;\n            dVar7 = -dVar35;\n          }" ({ "{") (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" (identifier "dVar1") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar7 = -dVar35;" (assignment_expression "dVar7 = -dVar35" (identifier "dVar7") (= "=") (unary_expression "-dVar35" (- "-") (identifier "dVar35"))) (; ";")) (} "}"))) (if_statement "if (DAT_002df2d0 <= dVar7) {\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }" (if "if") (parenthesized_expression "(DAT_002df2d0 <= dVar7)" (( "(") (binary_expression "DAT_002df2d0 <= dVar7" (identifier "DAT_002df2d0") (<= "<=") (identifier "dVar7")) () ")")) (compound_statement "{\n            dVar1 = (double)DAT_002df8b4 / dVar35;\n          }" ({ "{") (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" (identifier "dVar1") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar35"))) (; ";")) (} "}"))) (expression_statement "*(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1" (parenthesized_expression "(dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4)" (( "(") (binary_expression "dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4" (binary_expression "dStack_5ec * dVar9 + local_460 * param_5" (binary_expression "dStack_5ec * dVar9" (identifier "dStack_5ec") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_460 * param_5" (identifier "local_460") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_4b0 * param_4" (identifier "local_4b0") (* "*") (identifier "param_4"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1" (parenthesized_expression "(local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4)" (( "(") (binary_expression "local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4" (binary_expression "local_4f8 * dVar9 + local_458 * param_5" (binary_expression "local_4f8 * dVar9" (identifier "local_4f8") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_458 * param_5" (identifier "local_458") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_4a8 * param_4" (identifier "local_4a8") (* "*") (identifier "param_4"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1" (parenthesized_expression "(local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4)" (( "(") (binary_expression "local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4" (binary_expression "local_4f0 * dVar9 + local_450 * param_5" (binary_expression "local_4f0 * dVar9" (identifier "local_4f0") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_450 * param_5" (identifier "local_450") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_4a0 * param_4" (identifier "local_4a0") (* "*") (identifier "param_4"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (if_statement "if (iVar29 == 2) {\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            *(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;\n          }" ({ "{") (expression_statement "*(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "(local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1" (parenthesized_expression "(local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5)" (( "(") (binary_expression "local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5" (binary_expression "local_4e8 * dVar9 + param_4 * local_498" (binary_expression "local_4e8 * dVar9" (identifier "local_4e8") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "param_4 * local_498" (identifier "param_4") (* "*") (identifier "local_498"))) (+ "+") (binary_expression "local_448 * param_5" (identifier "local_448") (* "*") (identifier "param_5"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);" (assignment_expression "*(double *)(param_6 + 0x10) =\n               (dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(dVar9 + param_4 + param_5) *\n               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" (parenthesized_expression "(dVar9 + param_4 + param_5)" (( "(") (binary_expression "dVar9 + param_4 + param_5" (binary_expression "dVar9 + param_4" (identifier "dVar9") (+ "+") (identifier "param_4")) (+ "+") (identifier "param_5")) () ")")) (* "*") (parenthesized_expression "(local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5)" (( "(") (binary_expression "local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5" (binary_expression "local_4e0 * dVar9 + local_490 * param_4" (binary_expression "local_4e0 * dVar9" (identifier "local_4e0") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_490 * param_4" (identifier "local_490") (* "*") (identifier "param_4"))) (+ "+") (binary_expression "local_440 * param_5" (identifier "local_440") (* "*") (identifier "param_5"))) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" (else "else") (if_statement "if (param_5 < param_4) {\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }\n      else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" (if "if") (parenthesized_expression "(param_5 < param_4)" (( "(") (binary_expression "param_5 < param_4" (identifier "param_5") (< "<") (identifier "param_4")) () ")")) (compound_statement "{\n        dVar7 = (1.0 - dVar9) - param_5;\n        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;\n        dVar1 = DAT_002df8d8;\n        dVar8 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);\n      }" ({ "{") (expression_statement "dVar7 = (1.0 - dVar9) - param_5;" (assignment_expression "dVar7 = (1.0 - dVar9) - param_5" (identifier "dVar7") (= "=") (binary_expression "(1.0 - dVar9) - param_5" (parenthesized_expression "(1.0 - dVar9)" (( "(") (binary_expression "1.0 - dVar9" (number_literal "1.0") (- "-") (identifier "dVar9")) () ")")) (- "-") (identifier "param_5"))) (; ";")) (expression_statement "dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;" (assignment_expression "dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5" (identifier "dVar35") (= "=") (binary_expression "local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5" (binary_expression "local_5a4[1] * dVar7 + local_5a4[0] * dVar9" (binary_expression "local_5a4[1] * dVar7" (subscript_expression "local_5a4[1]" (identifier "local_5a4") ([ "[") (number_literal "1") (] "]")) (* "*") (identifier "dVar7")) (+ "+") (binary_expression "local_5a4[0] * dVar9" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (* "*") (identifier "dVar9"))) (+ "+") (binary_expression "local_5a4[3] * param_5" (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")) (* "*") (identifier "param_5")))) (; ";")) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" (identifier "dVar1") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar8 = dVar35;" (assignment_expression "dVar8 = dVar35" (identifier "dVar8") (= "=") (identifier "dVar35")) (; ";")) (if_statement "if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }" (if "if") (parenthesized_expression "(dVar35 < 0.0)" (( "(") (binary_expression "dVar35 < 0.0" (identifier "dVar35") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n          dVar1 = DAT_002df8e0;\n          dVar8 = -dVar35;\n        }" ({ "{") (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" (identifier "dVar1") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar8 = -dVar35;" (assignment_expression "dVar8 = -dVar35" (identifier "dVar8") (= "=") (unary_expression "-dVar35" (- "-") (identifier "dVar35"))) (; ";")) (} "}"))) (if_statement "if (DAT_002df2d0 <= dVar8) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" (if "if") (parenthesized_expression "(DAT_002df2d0 <= dVar8)" (( "(") (binary_expression "DAT_002df2d0 <= dVar8" (identifier "DAT_002df2d0") (<= "<=") (identifier "dVar8")) () ")")) (compound_statement "{\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" ({ "{") (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" (identifier "dVar1") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar35"))) (; ";")) (} "}"))) (expression_statement "*(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1" (parenthesized_expression "(local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9)" (( "(") (binary_expression "local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9" (binary_expression "local_4b0 * dVar7 + local_410 * param_5" (binary_expression "local_4b0 * dVar7" (identifier "local_4b0") (* "*") (identifier "dVar7")) (+ "+") (binary_expression "local_410 * param_5" (identifier "local_410") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "dStack_5ec * dVar9" (identifier "dStack_5ec") (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1" (parenthesized_expression "(local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9)" (( "(") (binary_expression "local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9" (binary_expression "local_4a8 * dVar7 + local_408 * param_5" (binary_expression "local_4a8 * dVar7" (identifier "local_4a8") (* "*") (identifier "dVar7")) (+ "+") (binary_expression "local_408 * param_5" (identifier "local_408") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_4f8 * dVar9" (identifier "local_4f8") (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1" (parenthesized_expression "(local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9)" (( "(") (binary_expression "local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9" (binary_expression "local_4a0 * dVar7 + local_400 * param_5" (binary_expression "local_4a0 * dVar7" (identifier "local_4a0") (* "*") (identifier "dVar7")) (+ "+") (binary_expression "local_400 * param_5" (identifier "local_400") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_4f0 * dVar9" (identifier "local_4f0") (* "*") (identifier "dVar9"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (if_statement "if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          *(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;\n        }" ({ "{") (expression_statement "*(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "(local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1" (parenthesized_expression "(local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5)" (( "(") (binary_expression "local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5" (binary_expression "local_498 * dVar7 + local_4e8 * dVar9" (binary_expression "local_498 * dVar7" (identifier "local_498") (* "*") (identifier "dVar7")) (+ "+") (binary_expression "local_4e8 * dVar9" (identifier "local_4e8") (* "*") (identifier "dVar9"))) (+ "+") (binary_expression "local_3f8 * param_5" (identifier "local_3f8") (* "*") (identifier "param_5"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);" (assignment_expression "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(dVar9 + param_5 + dVar7) *\n             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" (parenthesized_expression "(dVar9 + param_5 + dVar7)" (( "(") (binary_expression "dVar9 + param_5 + dVar7" (binary_expression "dVar9 + param_5" (identifier "dVar9") (+ "+") (identifier "param_5")) (+ "+") (identifier "dVar7")) () ")")) (* "*") (parenthesized_expression "(local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5)" (( "(") (binary_expression "local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5" (binary_expression "local_490 * dVar7 + local_4e0 * dVar9" (binary_expression "local_490 * dVar7" (identifier "local_490") (* "*") (identifier "dVar7")) (+ "+") (binary_expression "local_4e0 * dVar9" (identifier "local_4e0") (* "*") (identifier "dVar9"))) (+ "+") (binary_expression "local_66c * param_5" (identifier "local_66c") (* "*") (identifier "param_5"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" (else "else") (compound_statement "{\n        param_5 = 1.0 - param_5;\n        dVar9 = dVar9 - param_5;\n        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;\n        dVar1 = DAT_002df8d8;\n        dVar7 = dVar35;\n        if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }\n        if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }\n        *(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;\n        *(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;\n        *(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;\n        if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }\n        uVar24 = 1;\n        *(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);\n      }" ({ "{") (expression_statement "param_5 = 1.0 - param_5;" (assignment_expression "param_5 = 1.0 - param_5" (identifier "param_5") (= "=") (binary_expression "1.0 - param_5" (number_literal "1.0") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "dVar9 = dVar9 - param_5;" (assignment_expression "dVar9 = dVar9 - param_5" (identifier "dVar9") (= "=") (binary_expression "dVar9 - param_5" (identifier "dVar9") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;" (assignment_expression "dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4" (identifier "dVar35") (= "=") (binary_expression "local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4" (binary_expression "local_5a4[2] * dVar9 + local_5a4[0] * param_5" (binary_expression "local_5a4[2] * dVar9" (subscript_expression "local_5a4[2]" (identifier "local_5a4") ([ "[") (number_literal "2") (] "]")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_5a4[0] * param_5" (subscript_expression "local_5a4[0]" (identifier "local_5a4") ([ "[") (number_literal "0") (] "]")) (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_5a4[3] * param_4" (subscript_expression "local_5a4[3]" (identifier "local_5a4") ([ "[") (number_literal "3") (] "]")) (* "*") (identifier "param_4")))) (; ";")) (expression_statement "dVar1 = DAT_002df8d8;" (assignment_expression "dVar1 = DAT_002df8d8" (identifier "dVar1") (= "=") (identifier "DAT_002df8d8")) (; ";")) (expression_statement "dVar7 = dVar35;" (assignment_expression "dVar7 = dVar35" (identifier "dVar7") (= "=") (identifier "dVar35")) (; ";")) (if_statement "if (dVar35 < 0.0) {\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }" (if "if") (parenthesized_expression "(dVar35 < 0.0)" (( "(") (binary_expression "dVar35 < 0.0" (identifier "dVar35") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n          dVar1 = DAT_002df8e0;\n          dVar7 = -dVar35;\n        }" ({ "{") (expression_statement "dVar1 = DAT_002df8e0;" (assignment_expression "dVar1 = DAT_002df8e0" (identifier "dVar1") (= "=") (identifier "DAT_002df8e0")) (; ";")) (expression_statement "dVar7 = -dVar35;" (assignment_expression "dVar7 = -dVar35" (identifier "dVar7") (= "=") (unary_expression "-dVar35" (- "-") (identifier "dVar35"))) (; ";")) (} "}"))) (if_statement "if (DAT_002df2d0 <= dVar7) {\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" (if "if") (parenthesized_expression "(DAT_002df2d0 <= dVar7)" (( "(") (binary_expression "DAT_002df2d0 <= dVar7" (identifier "DAT_002df2d0") (<= "<=") (identifier "dVar7")) () ")")) (compound_statement "{\n          dVar1 = (double)DAT_002df8b4 / dVar35;\n        }" ({ "{") (expression_statement "dVar1 = (double)DAT_002df8b4 / dVar35;" (assignment_expression "dVar1 = (double)DAT_002df8b4 / dVar35" (identifier "dVar1") (= "=") (binary_expression "(double)DAT_002df8b4 / dVar35" (cast_expression "(double)DAT_002df8b4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8b4")) (/ "/") (identifier "dVar35"))) (; ";")) (} "}"))) (expression_statement "*(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 8) =\n             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1" (parenthesized_expression "(local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4)" (( "(") (binary_expression "local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4" (binary_expression "local_460 * dVar9 + dStack_5ec * param_5" (binary_expression "local_460 * dVar9" (identifier "local_460") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "dStack_5ec * param_5" (identifier "dStack_5ec") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_410 * param_4" (identifier "local_410") (* "*") (identifier "param_4"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 10) =\n             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1" (parenthesized_expression "(local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4)" (( "(") (binary_expression "local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4" (binary_expression "local_458 * dVar9 + local_4f8 * param_5" (binary_expression "local_458 * dVar9" (identifier "local_458") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_4f8 * param_5" (identifier "local_4f8") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_408 * param_4" (identifier "local_408") (* "*") (identifier "param_4"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xc) =\n             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1" (parenthesized_expression "(local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4)" (( "(") (binary_expression "local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4" (binary_expression "local_450 * dVar9 + local_4f0 * param_5" (binary_expression "local_450 * dVar9" (identifier "local_450") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_4f0 * param_5" (identifier "local_4f0") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_400 * param_4" (identifier "local_400") (* "*") (identifier "param_4"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (if_statement "if (iVar29 == 2) {\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }" (if "if") (parenthesized_expression "(iVar29 == 2)" (( "(") (binary_expression "iVar29 == 2" (identifier "iVar29") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          *(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;\n        }" ({ "{") (expression_statement "*(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;" (assignment_expression "*(double *)(param_6 + 0xe) =\n               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "(local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1" (parenthesized_expression "(local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4)" (( "(") (binary_expression "local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4" (binary_expression "local_448 * dVar9 + local_4e8 * param_5" (binary_expression "local_448 * dVar9" (identifier "local_448") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_4e8 * param_5" (identifier "local_4e8") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_3f8 * param_4" (identifier "local_3f8") (* "*") (identifier "param_4"))) () ")")) (* "*") (identifier "dVar1"))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);" (assignment_expression "*(double *)(param_6 + 0x10) =\n             (dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(dVar9 + param_4 + param_5) *\n             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" (parenthesized_expression "(dVar9 + param_4 + param_5)" (( "(") (binary_expression "dVar9 + param_4 + param_5" (binary_expression "dVar9 + param_4" (identifier "dVar9") (+ "+") (identifier "param_4")) (+ "+") (identifier "param_5")) () ")")) (* "*") (parenthesized_expression "(local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4)" (( "(") (binary_expression "local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4" (binary_expression "local_440 * dVar9 + local_4e0 * param_5" (binary_expression "local_440 * dVar9" (identifier "local_440") (* "*") (identifier "dVar9")) (+ "+") (binary_expression "local_4e0 * param_5" (identifier "local_4e0") (* "*") (identifier "param_5"))) (+ "+") (binary_expression "local_66c * param_4" (identifier "local_66c") (* "*") (identifier "param_4"))) () ")")))) (; ";")) (} "}")))))) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n    iVar25 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }\n    iVar23 = -0x7ffffdff;\n    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }\n    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);\n    if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }\n    break;" (case "case") (number_literal "10") (: ":") (expression_statement "iVar25 = -0x7ffffdff;" (assignment_expression "iVar25 = -0x7ffffdff" (identifier "iVar25") (= "=") (number_literal "-0x7ffffdff")) (; ";")) (if_statement "if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }" (if "if") (parenthesized_expression "((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498))" (( "(") (binary_expression "(DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_4)" (( "(") (binary_expression "DAT_002f2490 <= param_4" (identifier "DAT_002f2490") (<= "<=") (identifier "param_4")) () ")")) (&& "&&") (parenthesized_expression "(iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)" (( "(") (comma_expression "iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498" (assignment_expression "iVar25 = 0x7ffffdff" (identifier "iVar25") (= "=") (number_literal "0x7ffffdff")) (, ",") (binary_expression "param_4 <= DAT_002f2498" (identifier "param_4") (<= "<=") (identifier "DAT_002f2498"))) () ")"))) () ")")) (compound_statement "{\n      dVar35 = floor(param_4 + (double)DAT_002df2b8);\n      iVar25 = (int)ROUND(dVar35);\n    }" ({ "{") (expression_statement "dVar35 = floor(param_4 + (double)DAT_002df2b8);" (assignment_expression "dVar35 = floor(param_4 + (double)DAT_002df2b8)" (identifier "dVar35") (= "=") (call_expression "floor(param_4 + (double)DAT_002df2b8)" (identifier "floor") (argument_list "(param_4 + (double)DAT_002df2b8)" (( "(") (binary_expression "param_4 + (double)DAT_002df2b8" (identifier "param_4") (+ "+") (cast_expression "(double)DAT_002df2b8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df2b8"))) () ")")))) (; ";")) (expression_statement "iVar25 = (int)ROUND(dVar35);" (assignment_expression "iVar25 = (int)ROUND(dVar35)" (identifier "iVar25") (= "=") (cast_expression "(int)ROUND(dVar35)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar35)" (identifier "ROUND") (argument_list "(dVar35)" (( "(") (identifier "dVar35") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar23 = -0x7ffffdff;" (assignment_expression "iVar23 = -0x7ffffdff" (identifier "iVar23") (= "=") (number_literal "-0x7ffffdff")) (; ";")) (if_statement "if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }" (if "if") (parenthesized_expression "((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498))" (( "(") (binary_expression "(DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)" (parenthesized_expression "(DAT_002f2490 <= param_5)" (( "(") (binary_expression "DAT_002f2490 <= param_5" (identifier "DAT_002f2490") (<= "<=") (identifier "param_5")) () ")")) (&& "&&") (parenthesized_expression "(iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)" (( "(") (comma_expression "iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498" (assignment_expression "iVar23 = 0x7ffffdff" (identifier "iVar23") (= "=") (number_literal "0x7ffffdff")) (, ",") (binary_expression "param_5 <= DAT_002f2498" (identifier "param_5") (<= "<=") (identifier "DAT_002f2498"))) () ")"))) () ")")) (compound_statement "{\n      dVar35 = floor(param_5 + (double)DAT_002df2b8);\n      iVar23 = (int)ROUND(dVar35);\n    }" ({ "{") (expression_statement "dVar35 = floor(param_5 + (double)DAT_002df2b8);" (assignment_expression "dVar35 = floor(param_5 + (double)DAT_002df2b8)" (identifier "dVar35") (= "=") (call_expression "floor(param_5 + (double)DAT_002df2b8)" (identifier "floor") (argument_list "(param_5 + (double)DAT_002df2b8)" (( "(") (binary_expression "param_5 + (double)DAT_002df2b8" (identifier "param_5") (+ "+") (cast_expression "(double)DAT_002df2b8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df2b8"))) () ")")))) (; ";")) (expression_statement "iVar23 = (int)ROUND(dVar35);" (assignment_expression "iVar23 = (int)ROUND(dVar35)" (identifier "iVar23") (= "=") (cast_expression "(int)ROUND(dVar35)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(dVar35)" (identifier "ROUND") (argument_list "(dVar35)" (( "(") (identifier "dVar35") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,iVar25,iVar23,1,1,param_7)" (( "(") (identifier "param_2") (, ",") (identifier "iVar25") (, ",") (identifier "iVar23") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar25 != 0) {\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      ResetMagickMemory(param_6,0,0x50);\n      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;\n      goto code_r0x0013517c;\n    }" ({ "{") (expression_statement "ResetMagickMemory(param_6,0,0x50);" (call_expression "ResetMagickMemory(param_6,0,0x50)" (identifier "ResetMagickMemory") (argument_list "(param_6,0,0x50)" (( "(") (identifier "param_6") (, ",") (number_literal "0") (, ",") (number_literal "0x50") () ")"))) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(param_6 + 0x10) = (double)DAT_002df8a8" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (goto_statement "goto code_r0x0013517c;" (goto "goto") (statement_identifier "code_r0x0013517c") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n    iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);\n    dVar35 = _DAT_002df2e0;\n    if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" (case "case") (number_literal "0xb") (: ":") (expression_statement "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);" (assignment_expression "iVar25 = GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" (identifier "iVar25") (= "=") (call_expression "GetCacheViewVirtualPixels\n                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7)" (( "(") (identifier "param_2") (, ",") (binary_expression "local_66c._0_4_ + -1" (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "-1")) (, ",") (binary_expression "local_664._0_4_ + -1" (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "-1")) (, ",") (number_literal "4") (, ",") (number_literal "4") (, ",") (identifier "param_7") () ")")))) (; ";")) (expression_statement "dVar35 = _DAT_002df2e0;" (assignment_expression "dVar35 = _DAT_002df2e0" (identifier "dVar35") (= "=") (identifier "_DAT_002df2e0")) (; ";")) (if_statement "if (iVar25 != 0) {\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar23 = param_1[0xa6];\n      iVar3 = param_1[0xa5];\n      iVar4 = param_1[0xaa];\n      iVar27 = param_1[1];\n      iVar29 = *(int *)(iVar4 + 0x34);\n      iVar5 = *(int *)(iVar4 + 0x20);\n      pdVar28 = &local_500;\n      iVar17 = *(int *)(iVar4 + 8);\n      iVar6 = *(int *)(iVar4 + 0x14);\n      iVar32 = 0;\n      do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);\n      param_4 = param_4 - (double)local_66c._0_4_;\n      dVar35 = 1.0 - param_4;\n      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;\n      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;\n      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);\n      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);\n      param_5 = param_5 - (double)local_664._0_4_;\n      dVar7 = 1.0 - param_5;\n      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;\n      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;\n      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);\n      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);\n      *(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;\n      *(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;\n      if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }\n      uVar24 = 1;\n      *(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;\n      goto LAB_00134728;\n    }" ({ "{") (expression_statement "iVar23 = param_1[0xa6];" (assignment_expression "iVar23 = param_1[0xa6]" (identifier "iVar23") (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar3 = param_1[0xa5];" (assignment_expression "iVar3 = param_1[0xa5]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "iVar4 = param_1[0xaa];" (assignment_expression "iVar4 = param_1[0xaa]" (identifier "iVar4") (= "=") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "iVar27 = param_1[1];" (assignment_expression "iVar27 = param_1[1]" (identifier "iVar27") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar29 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar29 = *(int *)(iVar4 + 0x34)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar4 + 0x20);" (assignment_expression "iVar5 = *(int *)(iVar4 + 0x20)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pdVar28 = &local_500;" (assignment_expression "pdVar28 = &local_500" (identifier "pdVar28") (= "=") (pointer_expression "&local_500" (& "&") (identifier "local_500"))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar4 + 8);" (assignment_expression "iVar17 = *(int *)(iVar4 + 8)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar4 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x14)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      } while (iVar32 != 0x10);" (do "do") (compound_statement "{\n        dVar1 = *(double *)(iVar25 + iVar17 * 8);\n        if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }\n        iVar32 = iVar32 + 1;\n        pdVar28[4] = dVar1;\n        iVar25 = iVar25 + iVar23 * 8;\n        pdVar28 = pdVar28 + 10;\n      }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + iVar17 * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + iVar17 * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + iVar17 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar17 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar17 * 8)" (( "(") (binary_expression "iVar25 + iVar17 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar17 * 8" (identifier "iVar17") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }\n        else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_5a4[iVar32] = 1.0;\n          *pdVar28 = dVar1;\n          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);\n          pdVar28[3] = 0.0;\n          if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }\ncode_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;\ncode_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);\n        }" ({ "{") (expression_statement "local_5a4[iVar32] = 1.0;" (assignment_expression "local_5a4[iVar32] = 1.0" (subscript_expression "local_5a4[iVar32]" (identifier "local_5a4") ([ "[") (identifier "iVar32") (] "]")) (= "=") (number_literal "1.0")) (; ";")) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" (* "*") (identifier "pdVar28")) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" (identifier "pdVar28") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8)" (subscript_expression "pdVar28[2]" (identifier "pdVar28") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar5 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar5 * 8)" (( "(") (binary_expression "iVar25 + iVar5 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar27 == 2) {\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" (if "if") (parenthesized_expression "(iVar27 == 2)" (( "(") (binary_expression "iVar27 == 2" (identifier "iVar27") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }\n            pdVar28[3] = dVar1;\n          }" ({ "{") (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n              dVar1 = 0.0;\n            }\n            else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              dVar1 = 0.0;\n            }" ({ "{") (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" (identifier "dVar1") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" (else "else") (compound_statement "{\n              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n            }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "pdVar28[3] = dVar1;" (assignment_expression "pdVar28[3] = dVar1" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "dVar1")) (; ";")) (} "}"))) (labeled_statement "code_r0x0013429a:\n          if (iVar29 == 0) goto code_r0x00134330;" (statement_identifier "code_r0x0013429a") (: ":") (if_statement "if (iVar29 == 0) goto code_r0x00134330;" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00134330;" (goto "goto") (statement_identifier "code_r0x00134330") (; ";")))) (labeled_statement "code_r0x001342a2:\n          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (statement_identifier "code_r0x001342a2") (: ":") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" (else "else") (compound_statement "{\n          if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }\n          local_5a4[iVar32] = dVar7;\n          *pdVar28 = dVar1;\n          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);\n          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;\n          pdVar28[3] = 0.0;\n          if (iVar27 != 2) goto code_r0x0013429a;\n          if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }\n          pdVar28[3] = dVar1 * dVar7;\n          if (iVar29 != 0) goto code_r0x001342a2;\ncode_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;\n        }" ({ "{") (if_statement "if (iVar29 == 0) {\n            dVar7 = 1.0;\n          }\n          else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar7 = 1.0;\n          }" ({ "{") (expression_statement "dVar7 = 1.0;" (assignment_expression "dVar7 = 1.0" (identifier "dVar7") (= "=") (number_literal "1.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" (else "else") (compound_statement "{\n            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;\n            dVar1 = dVar1 * dVar7;\n          }" ({ "{") (expression_statement "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;" (assignment_expression "dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (identifier "dVar7") (= "=") (binary_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35" (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x38) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x38) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 8" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar7;" (assignment_expression "dVar1 = dVar1 * dVar7" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar7" (identifier "dVar1") (* "*") (identifier "dVar7"))) (; ";")) (} "}")))) (expression_statement "local_5a4[iVar32] = dVar7;" (assignment_expression "local_5a4[iVar32] = dVar7" (subscript_expression "local_5a4[iVar32]" (identifier "local_5a4") ([ "[") (identifier "iVar32") (] "]")) (= "=") (identifier "dVar7")) (; ";")) (expression_statement "*pdVar28 = dVar1;" (assignment_expression "*pdVar28 = dVar1" (pointer_expression "*pdVar28" (* "*") (identifier "pdVar28")) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);" (assignment_expression "pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8)" (subscript_expression "pdVar28[1]" (identifier "pdVar28") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "dVar7 * *(double *)(iVar25 + iVar6 * 8)" (identifier "dVar7") (* "*") (pointer_expression "*(double *)(iVar25 + iVar6 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar6 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar6 * 8)" (( "(") (binary_expression "iVar25 + iVar6 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar6 * 8" (identifier "iVar6") (* "*") (number_literal "8"))) () ")")))))) (; ";")) (expression_statement "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;" (assignment_expression "pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7" (subscript_expression "pdVar28[2]" (identifier "pdVar28") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "*(double *)(iVar25 + iVar5 * 8) * dVar7" (pointer_expression "*(double *)(iVar25 + iVar5 * 8)" (* "*") (cast_expression "(double *)(iVar25 + iVar5 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + iVar5 * 8)" (( "(") (binary_expression "iVar25 + iVar5 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")")))) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "pdVar28[3] = 0.0;" (assignment_expression "pdVar28[3] = 0.0" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (iVar27 != 2) goto code_r0x0013429a;" (if "if") (parenthesized_expression "(iVar27 != 2)" (( "(") (binary_expression "iVar27 != 2" (identifier "iVar27") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto code_r0x0013429a;" (goto "goto") (statement_identifier "code_r0x0013429a") (; ";"))) (if_statement "if (*(int *)(iVar4 + 0x28) == 0) {\n            dVar1 = 0.0;\n          }\n          else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) == 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            dVar1 = 0.0;\n          }" ({ "{") (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" (identifier "dVar1") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" (else "else") (compound_statement "{\n            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);\n          }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);" (assignment_expression "dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + *(int *)(iVar4 + 0x2c) * 8)" (( "(") (binary_expression "iVar25 + *(int *)(iVar4 + 0x2c) * 8" (identifier "iVar25") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 8" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "pdVar28[3] = dVar1 * dVar7;" (assignment_expression "pdVar28[3] = dVar1 * dVar7" (subscript_expression "pdVar28[3]" (identifier "pdVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "dVar1 * dVar7" (identifier "dVar1") (* "*") (identifier "dVar7"))) (; ";")) (if_statement "if (iVar29 != 0) goto code_r0x001342a2;" (if "if") (parenthesized_expression "(iVar29 != 0)" (( "(") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x001342a2;" (goto "goto") (statement_identifier "code_r0x001342a2") (; ";"))) (labeled_statement "code_r0x00134330:\n          dVar1 = (double)DAT_002df8a8;" (statement_identifier "code_r0x00134330") (: ":") (expression_statement "dVar1 = (double)DAT_002df8a8;" (assignment_expression "dVar1 = (double)DAT_002df8a8" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";"))) (} "}")))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar28[4] = dVar1;" (assignment_expression "pdVar28[4] = dVar1" (subscript_expression "pdVar28[4]" (identifier "pdVar28") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "iVar25 = iVar25 + iVar23 * 8;" (assignment_expression "iVar25 = iVar25 + iVar23 * 8" (identifier "iVar25") (= "=") (binary_expression "iVar25 + iVar23 * 8" (identifier "iVar25") (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8")))) (; ";")) (expression_statement "pdVar28 = pdVar28 + 10;" (assignment_expression "pdVar28 = pdVar28 + 10" (identifier "pdVar28") (= "=") (binary_expression "pdVar28 + 10" (identifier "pdVar28") (+ "+") (number_literal "10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar32 != 0x10)" (( "(") (binary_expression "iVar32 != 0x10" (identifier "iVar32") (!= "!=") (number_literal "0x10")) () ")")) (; ";")) (expression_statement "param_4 = param_4 - (double)local_66c._0_4_;" (assignment_expression "param_4 = param_4 - (double)local_66c._0_4_" (identifier "param_4") (= "=") (binary_expression "param_4 - (double)local_66c._0_4_" (identifier "param_4") (- "-") (cast_expression "(double)local_66c._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_66c._0_4_" (identifier "local_66c") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "dVar35 = 1.0 - param_4;" (assignment_expression "dVar35 = 1.0 - param_4" (identifier "dVar35") (= "=") (binary_expression "1.0 - param_4" (number_literal "1.0") (- "-") (identifier "param_4"))) (; ";")) (expression_statement "dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;" (assignment_expression "dVar1 = param_4 * DAT_002f5568 * param_4 * param_4" (identifier "dVar1") (= "=") (binary_expression "param_4 * DAT_002f5568 * param_4 * param_4" (binary_expression "param_4 * DAT_002f5568 * param_4" (binary_expression "param_4 * DAT_002f5568" (identifier "param_4") (* "*") (identifier "DAT_002f5568")) (* "*") (identifier "param_4")) (* "*") (identifier "param_4"))) (; ";")) (expression_statement "dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;" (assignment_expression "dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35" (identifier "dVar12") (= "=") (binary_expression "dVar35 * DAT_002f5568 * dVar35 * dVar35" (binary_expression "dVar35 * DAT_002f5568 * dVar35" (binary_expression "dVar35 * DAT_002f5568" (identifier "dVar35") (* "*") (identifier "DAT_002f5568")) (* "*") (identifier "dVar35")) (* "*") (identifier "dVar35"))) (; ";")) (expression_statement "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);" (assignment_expression "dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12)" (identifier "dVar13") (= "=") (binary_expression "(dVar35 - dVar12) + (dVar1 - dVar12)" (parenthesized_expression "(dVar35 - dVar12)" (( "(") (binary_expression "dVar35 - dVar12" (identifier "dVar35") (- "-") (identifier "dVar12")) () ")")) (+ "+") (parenthesized_expression "(dVar1 - dVar12)" (( "(") (binary_expression "dVar1 - dVar12" (identifier "dVar1") (- "-") (identifier "dVar12")) () ")")))) (; ";")) (expression_statement "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);" (assignment_expression "dVar35 = (param_4 - dVar1) - (dVar1 - dVar12)" (identifier "dVar35") (= "=") (binary_expression "(param_4 - dVar1) - (dVar1 - dVar12)" (parenthesized_expression "(param_4 - dVar1)" (( "(") (binary_expression "param_4 - dVar1" (identifier "param_4") (- "-") (identifier "dVar1")) () ")")) (- "-") (parenthesized_expression "(dVar1 - dVar12)" (( "(") (binary_expression "dVar1 - dVar12" (identifier "dVar1") (- "-") (identifier "dVar12")) () ")")))) (; ";")) (expression_statement "param_5 = param_5 - (double)local_664._0_4_;" (assignment_expression "param_5 = param_5 - (double)local_664._0_4_" (identifier "param_5") (= "=") (binary_expression "param_5 - (double)local_664._0_4_" (identifier "param_5") (- "-") (cast_expression "(double)local_664._0_4_" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (field_expression "local_664._0_4_" (identifier "local_664") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "dVar7 = 1.0 - param_5;" (assignment_expression "dVar7 = 1.0 - param_5" (identifier "dVar7") (= "=") (binary_expression "1.0 - param_5" (number_literal "1.0") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;" (assignment_expression "dVar9 = param_5 * DAT_002f5568 * param_5 * param_5" (identifier "dVar9") (= "=") (binary_expression "param_5 * DAT_002f5568 * param_5 * param_5" (binary_expression "param_5 * DAT_002f5568 * param_5" (binary_expression "param_5 * DAT_002f5568" (identifier "param_5") (* "*") (identifier "DAT_002f5568")) (* "*") (identifier "param_5")) (* "*") (identifier "param_5"))) (; ";")) (expression_statement "dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;" (assignment_expression "dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7" (identifier "dVar11") (= "=") (binary_expression "DAT_002f5568 * dVar7 * dVar7 * dVar7" (binary_expression "DAT_002f5568 * dVar7 * dVar7" (binary_expression "DAT_002f5568 * dVar7" (identifier "DAT_002f5568") (* "*") (identifier "dVar7")) (* "*") (identifier "dVar7")) (* "*") (identifier "dVar7"))) (; ";")) (expression_statement "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);" (assignment_expression "dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11)" (identifier "dVar7") (= "=") (binary_expression "(dVar7 - dVar11) + (dVar9 - dVar11)" (parenthesized_expression "(dVar7 - dVar11)" (( "(") (binary_expression "dVar7 - dVar11" (identifier "dVar7") (- "-") (identifier "dVar11")) () ")")) (+ "+") (parenthesized_expression "(dVar9 - dVar11)" (( "(") (binary_expression "dVar9 - dVar11" (identifier "dVar9") (- "-") (identifier "dVar11")) () ")")))) (; ";")) (expression_statement "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);" (assignment_expression "dVar8 = (param_5 - dVar9) - (dVar9 - dVar11)" (identifier "dVar8") (= "=") (binary_expression "(param_5 - dVar9) - (dVar9 - dVar11)" (parenthesized_expression "(param_5 - dVar9)" (( "(") (binary_expression "param_5 - dVar9" (identifier "param_5") (- "-") (identifier "dVar9")) () ")")) (- "-") (parenthesized_expression "(dVar9 - dVar11)" (( "(") (binary_expression "dVar9 - dVar11" (identifier "dVar9") (- "-") (identifier "dVar11")) () ")")))) (; ";")) (expression_statement "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 8) =\n           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 8)" (* "*") (cast_expression "(double *)(param_6 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +\n                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +\n                   (dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9 + (dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (binary_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12)" (( "(") (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13" (binary_expression "dStack_50 * dVar1 + dStack_a0 * dVar35" (binary_expression "dStack_50 * dVar1" (identifier "dStack_50") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_a0 * dVar35" (identifier "dStack_a0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_f0 * dVar13" (identifier "dStack_f0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_140 * dVar12" (identifier "dStack_140") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8" (parenthesized_expression "(dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12)" (( "(") (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35 + dStack_230 * dVar13" (binary_expression "dStack_190 * dVar1 +\n                   dStack_1e0 * dVar35" (binary_expression "dStack_190 * dVar1" (identifier "dStack_190") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1e0 * dVar35" (identifier "dStack_1e0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_230 * dVar13" (identifier "dStack_230") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_280 * dVar12" (identifier "dStack_280") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12)" (( "(") (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35 + dStack_370 * dVar13" (binary_expression "dStack_2d0 * dVar1 +\n                   dStack_320 * dVar35" (binary_expression "dStack_2d0 * dVar1" (identifier "dStack_2d0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_320 * dVar35" (identifier "dStack_320") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_370 * dVar13" (identifier "dStack_370") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3c0 * dVar12" (identifier "dStack_3c0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12\n                   )" (( "(") (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12" (binary_expression "local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13" (binary_expression "local_410 * dVar1 + local_460 * dVar35" (binary_expression "local_410 * dVar1" (identifier "local_410") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_460 * dVar35" (identifier "local_460") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_4b0 * dVar13" (identifier "local_4b0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_500 * dVar12" (identifier "local_500") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (expression_statement "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 10) =\n           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 10)" (* "*") (cast_expression "(double *)(param_6 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 10)" (( "(") (binary_expression "param_6 + 10" (identifier "param_6") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +\n                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +\n                   (dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9 + (dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (binary_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12)" (( "(") (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13" (binary_expression "dStack_48 * dVar1 + dStack_98 * dVar35" (binary_expression "dStack_48 * dVar1" (identifier "dStack_48") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_98 * dVar35" (identifier "dStack_98") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_e8 * dVar13" (identifier "dStack_e8") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_138 * dVar12" (identifier "dStack_138") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8" (parenthesized_expression "(dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12)" (( "(") (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35 + dStack_228 * dVar13" (binary_expression "dStack_188 * dVar1 +\n                   dStack_1d8 * dVar35" (binary_expression "dStack_188 * dVar1" (identifier "dStack_188") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1d8 * dVar35" (identifier "dStack_1d8") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_228 * dVar13" (identifier "dStack_228") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_278 * dVar12" (identifier "dStack_278") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12)" (( "(") (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35 + dStack_368 * dVar13" (binary_expression "dStack_2c8 * dVar1 +\n                   dStack_318 * dVar35" (binary_expression "dStack_2c8 * dVar1" (identifier "dStack_2c8") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_318 * dVar35" (identifier "dStack_318") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_368 * dVar13" (identifier "dStack_368") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3b8 * dVar12" (identifier "dStack_3b8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12\n                   )" (( "(") (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12" (binary_expression "local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13" (binary_expression "local_408 * dVar1 + local_458 * dVar35" (binary_expression "local_408 * dVar1" (identifier "local_408") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_458 * dVar35" (identifier "local_458") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_4a8 * dVar13" (identifier "local_4a8") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4f8 * dVar12" (identifier "local_4f8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (expression_statement "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xc) =\n           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0xc)" (* "*") (cast_expression "(double *)(param_6 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +\n                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +\n                   (dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9 + (dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (binary_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *\n           dVar9" (parenthesized_expression "(dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12)" (( "(") (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13" (binary_expression "dStack_40 * dVar1 + dStack_90 * dVar35" (binary_expression "dStack_40 * dVar1" (identifier "dStack_40") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_90 * dVar35" (identifier "dStack_90") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_e0 * dVar13" (identifier "dStack_e0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_130 * dVar12" (identifier "dStack_130") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8" (parenthesized_expression "(dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12)" (( "(") (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35 + dStack_220 * dVar13" (binary_expression "dStack_180 * dVar1 +\n                   dStack_1d0 * dVar35" (binary_expression "dStack_180 * dVar1" (identifier "dStack_180") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1d0 * dVar35" (identifier "dStack_1d0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_220 * dVar13" (identifier "dStack_220") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_270 * dVar12" (identifier "dStack_270") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12)" (( "(") (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35 + dStack_360 * dVar13" (binary_expression "dStack_2c0 * dVar1 +\n                   dStack_310 * dVar35" (binary_expression "dStack_2c0 * dVar1" (identifier "dStack_2c0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_310 * dVar35" (identifier "dStack_310") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_360 * dVar13" (identifier "dStack_360") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3b0 * dVar12" (identifier "dStack_3b0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12\n                   )" (( "(") (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12" (binary_expression "local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13" (binary_expression "local_400 * dVar1 + local_450 * dVar35" (binary_expression "local_400 * dVar1" (identifier "local_400") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_450 * dVar35" (identifier "local_450") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_4a0 * dVar13" (identifier "local_4a0") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4f0 * dVar12" (identifier "local_4f0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (if_statement "if (iVar27 == 2) {\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" (if "if") (parenthesized_expression "(iVar27 == 2)" (( "(") (binary_expression "iVar27 == 2" (identifier "iVar27") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        *(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;\n      }" ({ "{") (expression_statement "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;" (assignment_expression "*(double *)(param_6 + 0xe) =\n             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (pointer_expression "*(double *)(param_6 + 0xe)" (* "*") (cast_expression "(double *)(param_6 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xe)" (( "(") (binary_expression "param_6 + 0xe" (identifier "param_6") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +\n                     (local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +\n                     (dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9 + (dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (binary_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *\n             dVar9" (parenthesized_expression "(dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12)" (( "(") (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13" (binary_expression "dStack_38 * dVar1 + dStack_88 * dVar35" (binary_expression "dStack_38 * dVar1" (identifier "dStack_38") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_88 * dVar35" (identifier "dStack_88") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_d8 * dVar13" (identifier "dStack_d8") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_128 * dVar12" (identifier "dStack_128") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8" (parenthesized_expression "(dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12)" (( "(") (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35 + dStack_218 * dVar13" (binary_expression "dStack_178 * dVar1 +\n                     dStack_1c8 * dVar35" (binary_expression "dStack_178 * dVar1" (identifier "dStack_178") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1c8 * dVar35" (identifier "dStack_1c8") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_218 * dVar13" (identifier "dStack_218") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_268 * dVar12" (identifier "dStack_268") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12)" (( "(") (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35 + dStack_358 * dVar13" (binary_expression "dStack_2b8 * dVar1 +\n                     dStack_308 * dVar35" (binary_expression "dStack_2b8 * dVar1" (identifier "dStack_2b8") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_308 * dVar35" (identifier "dStack_308") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_358 * dVar13" (identifier "dStack_358") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3a8 * dVar12" (identifier "dStack_3a8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11" (parenthesized_expression "(local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12)" (( "(") (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35 + local_498 * dVar13" (binary_expression "local_3f8 * dVar1 +\n                     local_448 * dVar35" (binary_expression "local_3f8 * dVar1" (identifier "local_3f8") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_448 * dVar35" (identifier "local_448") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_498 * dVar13" (identifier "local_498") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4e8 * dVar12" (identifier "local_4e8") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (} "}"))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11;" (assignment_expression "*(double *)(param_6 + 0x10) =\n           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (pointer_expression "*(double *)(param_6 + 0x10)" (* "*") (cast_expression "(double *)(param_6 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +\n                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +\n                   (dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9 + (dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (binary_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *\n           dVar9" (parenthesized_expression "(dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120)" (( "(") (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0" (binary_expression "dVar1 * dStack_30 + dVar35 * dStack_80" (binary_expression "dVar1 * dStack_30" (identifier "dVar1") (* "*") (identifier "dStack_30")) (+ "+") (binary_expression "dVar35 * dStack_80" (identifier "dVar35") (* "*") (identifier "dStack_80"))) (+ "+") (binary_expression "dVar13 * dStack_d0" (identifier "dVar13") (* "*") (identifier "dStack_d0"))) (+ "+") (binary_expression "dVar12 * dStack_120" (identifier "dVar12") (* "*") (identifier "dStack_120"))) () ")")) (* "*") (identifier "dVar9")) (+ "+") (binary_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8" (parenthesized_expression "(dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12)" (( "(") (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35 + dStack_210 * dVar13" (binary_expression "dStack_170 * dVar1 +\n                   dStack_1c0 * dVar35" (binary_expression "dStack_170 * dVar1" (identifier "dStack_170") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_1c0 * dVar35" (identifier "dStack_1c0") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_210 * dVar13" (identifier "dStack_210") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_260 * dVar12" (identifier "dStack_260") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar8"))) (+ "+") (binary_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7" (parenthesized_expression "(dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12)" (( "(") (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35 + dStack_350 * dVar13" (binary_expression "dStack_2b0 * dVar1 +\n                   dStack_300 * dVar35" (binary_expression "dStack_2b0 * dVar1" (identifier "dStack_2b0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "dStack_300 * dVar35" (identifier "dStack_300") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "dStack_350 * dVar13" (identifier "dStack_350") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "dStack_3a0 * dVar12" (identifier "dStack_3a0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar7"))) (+ "+") (binary_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   ) * dVar11" (parenthesized_expression "(local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12\n                   )" (( "(") (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13" (binary_expression "local_3f0 * dVar1 + local_440 * dVar35" (binary_expression "local_3f0 * dVar1" (identifier "local_3f0") (* "*") (identifier "dVar1")) (+ "+") (binary_expression "local_440 * dVar35" (identifier "local_440") (* "*") (identifier "dVar35"))) (+ "+") (binary_expression "local_490 * dVar13" (identifier "local_490") (* "*") (identifier "dVar13"))) (+ "+") (binary_expression "local_4e0 * dVar12" (identifier "local_4e0") (* "*") (identifier "dVar12"))) () ")")) (* "*") (identifier "dVar11")))) (; ";")) (goto_statement "goto LAB_00134728;" (goto "goto") (statement_identifier "LAB_00134728") (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00134728:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\n  }" (statement_identifier "LAB_00134728") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar24;\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    return uVar24;\n  }" ({ "{") (return_statement "return uVar24;" (return "return") (identifier "uVar24") (; ";")) (} "}")))) (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" (identifier "FUN_002decd0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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 */

type_1
function_1
          (type_2 *var_2,type_3 *var_4,type_4 var_11,double var_6,double var_10,
          type_5 *pixel,type_6 *exception)

{
  double var_23;
  double var_32;
  type_7 QVar3;
  double var_28;
  int var_56;
  type_8 CVar6;
  type_9 *pPVar7;
  type_10 var_17;
  type_10 var_21;
  type_11 var_19;
  int var_43;
  double var_24;
  double var_31;
  float var_48;
  double var_29;
  double var_52;
  size_t var_26;
  double *pdVar18;
  double *pdVar19;
  double *pdVar20;
  double *pdVar21;
  double *pdVar22;
  double *pdVar23;
  double *pdVar24;
  int var_42;
  type_7 *var_16;
  type_1 MVar27;
  int var_14;
  double *pdVar29;
  type_12 *var_51;
  type_7 *var_41;
  type_5 *var_27;
  double *pdVar33;
  double *pdVar34;
  type_5 *var_46;
  int var_25;
  type_5 *pPVar37;
  int var_1;
  type_13 bVar38;
  double var_22;
  double var_50;
  double var_36;
  double var_39;
  double var_37;
  double var_38;
  type_7 local_644;
  int var_40;
  int var_44;
  int var_45;
  double var_53;
  type_14 __cw;
  type_14 __cwtmp;
  double alpha [16];
  type_5 var_47 [16];
  
  bVar38 = 0;
  var_56 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"InterpolatePixelInfo");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,
                  "InterpolatePixelInfo");
  }
  if (var_4 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,
                  "InterpolatePixelInfo");
  }
  var_50._0_4_ = -0x7ffffdff;
  if ((var_5 <= var_6) && (var_50._0_4_ = 0x7ffffdff, var_6 <= var_7)) {
    var_22 = var_8(var_6);
    var_50._0_4_ = (int)var_9(var_22);
  }
  var_36._0_4_ = -0x7ffffdff;
  if ((var_5 <= var_10) && (var_36._0_4_ = 0x7ffffdff, var_10 <= var_7)) {
    var_22 = var_8(var_10);
    var_36._0_4_ = (int)var_9(var_22);
  }
  if (var_11 == var_12) {
    var_11 = var_2->interpolate;
  }
  var_13(pixel,0,0x50);
  var_27 = var_47;
  pixel->alpha = (double)DAT_002df8a8;
  CVar6 = var_2->storage_class;
  pixel->fuzz = var_2->fuzz;
  pixel->storage_class = CVar6;
  pixel->colorspace = var_2->colorspace;
  pixel->depth = var_2->depth;
  pixel->alpha_trait = var_2->alpha_trait;
  var_46 = var_27;
  for (var_14 = 0x140; var_14 != 0; var_14 = var_14 + -1) {
    var_46->storage_class = UndefinedClass;
    var_46 = (type_5 *)((int)var_46 + (type_15)bVar38 * -8 + 4);
  }
  switch(var_11) {
  default:
    var_16 = var_15(var_4,var_50._0_4_,var_36._0_4_,2,2,exception);
    var_22 = var_35;
    if (var_16 != (type_7 *)0x0) {
      var_26 = var_2->number_channels;
      pPVar7 = var_2->channel_map;
      var_17 = var_2->alpha_trait;
      var_14 = pPVar7[2].offset;
      var_21 = pPVar7[4].traits;
      var_19 = var_2->colorspace;
      var_42 = pPVar7->offset;
      var_43 = pPVar7[1].offset;
      var_25 = 0;
      do {
        var_23 = var_16[var_42];
        if (var_17 == var_18) {
          alpha[var_25] = 1.0;
          var_27->red = var_23;
          var_27->green = var_16[var_43];
          var_27->blue = var_16[var_14];
          var_27->black = 0.0;
          if (var_19 == var_20) {
            if (pPVar7[3].traits == var_18) {
              QVar3 = 0.0;
            }
            else {
              QVar3 = var_16[pPVar7[3].offset];
            }
            var_27->black = QVar3;
          }
        }
        else {
          if (var_21 == var_18) {
            var_24 = 1.0;
          }
          else {
            var_24 = var_16[pPVar7[4].offset] * var_22;
            var_23 = var_23 * var_24;
          }
          alpha[var_25] = var_24;
          var_27->red = var_23;
          var_27->green = var_16[var_43] * var_24;
          var_27->blue = var_16[var_14] * var_24;
          var_27->black = 0.0;
          if (var_19 == var_20) {
            if (pPVar7[3].traits == var_18) {
              var_23 = 0.0;
            }
            else {
              var_23 = var_16[pPVar7[3].offset];
            }
            var_27->black = var_23 * var_24;
          }
        }
        if (var_21 == var_18) {
          var_23 = (double)DAT_002df8a8;
        }
        else {
          var_23 = var_16[pPVar7[4].offset];
        }
        var_25 = var_25 + 1;
        var_27->alpha = var_23;
        var_16 = var_16 + var_26;
        var_27 = var_27 + 1;
      } while (var_25 != 4);
      var_22 = var_6 - (double)var_50._0_4_;
      var_28 = var_10 - (double)var_36._0_4_;
      var_23 = 1.0 - var_22;
      var_29 = 1.0 - var_28;
      var_24 = (alpha[3] * var_22 + alpha[2] * var_23) * var_28 +
               (alpha[1] * var_22 + alpha[0] * var_23) * var_29;
      var_32 = DAT_002df8d8;
      var_31 = var_24;
      if (var_24 < 0.0) {
        var_32 = DAT_002df8e0;
        var_31 = -var_24;
      }
      if (var_30 <= var_31) {
        var_32 = (double)var_49 / var_24;
      }
      pixel->red = ((var_47[3].red * var_22 + var_47[2].red * var_23) * var_28 +
                   (var_47[1].red * var_22 + var_47[0].red * var_23) * var_29) * var_32;
      pixel->green = ((var_47[3].green * var_22 + var_47[2].green * var_23) * var_28 +
                     (var_47[1].green * var_22 + var_47[0].green * var_23) * var_29) * var_32;
      pixel->blue = ((var_47[3].blue * var_22 + var_47[2].blue * var_23) * var_28 +
                    (var_47[1].blue * var_22 + var_47[0].blue * var_23) * var_29) * var_32;
      if (var_19 == var_20) {
        pixel->black = ((var_47[3].black * var_22 + var_47[2].black * var_23) * var_28 +
                       (var_47[1].black * var_22 + var_47[0].black * var_23) * var_29) * var_32;
      }
      var_31 = (var_22 + var_23) * var_28 + var_29 * (var_22 + var_23);
      var_24 = DAT_002df8d8;
      var_32 = var_31;
      if (var_31 < 0.0) {
        var_24 = DAT_002df8e0;
        var_32 = -var_31;
      }
      if (var_30 <= var_32) {
        var_24 = (double)var_49 / var_31;
      }
      MVar27 = MagickTrue;
      pixel->alpha = var_24 * ((var_22 * var_47[3].alpha + var_23 * var_47[2].alpha) * var_28 +
                              (var_47[1].alpha * var_22 + var_47[0].alpha * var_23) * var_29);
      goto LAB_00134728;
    }
    break;
  case AverageInterpolatePixel:
  case var_33:
  case var_34:
    if (var_11 == var_33) {
      var_22 = DAT_00300760;
      if ((var_5 <= var_6) && (var_22 = _DAT_00300768, var_6 <= var_7)) {
        var_22 = var_6 + (double)DAT_002df2b8;
      }
      var_50._0_4_ = (int)var_9(var_9(var_22) - (double)var_49);
      var_22 = DAT_00300760;
      if ((var_5 <= var_10) && (var_22 = _DAT_00300768, var_10 <= var_7)) {
        var_22 = var_10 + (double)DAT_002df2b8;
      }
      var_40 = 9;
      var_26 = 3;
      var_36._0_4_ = (int)var_9(var_9(var_22) - (double)var_49);
    }
    else {
      var_40 = 4;
      var_26 = 2;
      if (var_11 == var_34) {
        var_50._0_4_ = var_50._0_4_ + -1;
        var_40 = 0x10;
        var_26 = 4;
        var_36._0_4_ = var_36._0_4_ + -1;
      }
    }
    var_16 = var_15
                        (var_4,var_50._0_4_,var_36._0_4_,var_26,var_26,exception);
    var_22 = var_30;
    if (var_16 != (type_7 *)0x0) {
      pPVar7 = var_2->channel_map;
      var_17 = var_2->alpha_trait;
      var_26 = var_2->number_channels;
      var_19 = var_2->colorspace;
      var_39 = pixel->alpha;
      var_38 = pixel->black;
      var_23 = pixel->blue;
      var_14 = pPVar7->offset;
      var_37 = pixel->green;
      var_36 = pixel->red;
      var_42 = pPVar7[1].offset;
      var_21 = pPVar7[4].traits;
      var_43 = pPVar7[2].offset;
      var_25 = 0;
      do {
        var_47[0].red = var_16[var_14];
        if (var_17 == var_18) {
          var_47[0].green = var_16[var_42];
          var_47[0].blue = var_16[var_43];
          var_47[0].black = 0.0;
          if (var_19 == var_20) {
            if (pPVar7[3].traits == var_18) {
              local_644 = 0.0;
            }
            else {
              local_644 = var_16[pPVar7[3].offset];
            }
            var_47[0].black = local_644;
          }
          if (var_21 == var_18) {
            var_50 = (double)DAT_002df8a8;
          }
          else {
            var_50 = var_16[pPVar7[4].offset];
          }
          var_24 = 1.0;
LAB_00134460:
          var_32 = (double)var_49 / var_24;
          var_47[0].alpha = var_50;
        }
        else {
          if (var_21 == var_18) {
            var_24 = 1.0;
          }
          else {
            var_24 = var_35 * var_16[pPVar7[4].offset];
            var_47[0].red = var_47[0].red * var_24;
          }
          var_47[0].green = var_16[var_42] * var_24;
          var_47[0].blue = var_16[var_43] * var_24;
          var_47[0].black = 0.0;
          if (var_19 == var_20) {
            if (pPVar7[3].traits == var_18) {
              var_32 = 0.0;
            }
            else {
              var_32 = var_16[pPVar7[3].offset];
            }
            var_47[0].black = var_32 * var_24;
          }
          if (var_21 == var_18) {
            var_50 = (double)DAT_002df8a8;
          }
          else {
            var_50 = var_16[pPVar7[4].offset];
          }
          var_47[0].alpha = var_50;
          var_32 = DAT_002df8d8;
          var_31 = var_24;
          if (var_24 < 0.0) {
            var_32 = DAT_002df8e0;
            var_31 = -var_24;
          }
          if (var_22 <= var_31) goto LAB_00134460;
        }
        var_16 = var_16 + var_26;
        var_25 = var_25 + 1;
        var_36 = var_47[0].red * var_32 + var_36;
        pixel->red = var_36;
        var_37 = var_37 + var_47[0].green * var_32;
        pixel->green = var_37;
        var_23 = var_47[0].blue * var_32 + var_23;
        pixel->blue = var_23;
        var_38 = var_32 * var_47[0].black + var_38;
        pixel->black = var_38;
        var_39 = var_39 + var_47[0].alpha;
        pixel->alpha = var_39;
      } while (var_25 < var_40);
      MVar27 = MagickTrue;
      var_22 = (double)var_49 / (double)var_40;
      pixel->red = var_36 * var_22;
      pixel->green = var_37 * var_22;
      pixel->blue = var_23 * var_22;
      pixel->black = var_38 * var_22;
      pixel->alpha = var_39 * var_22;
      goto LAB_00134728;
    }
    break;
  case BackgroundInterpolatePixel:
    var_27 = &var_2->background_color;
    for (var_14 = 0x14; var_14 != 0; var_14 = var_14 + -1) {
      pixel->storage_class = var_27->storage_class;
      var_27 = (type_5 *)((int)var_27 + (type_15)bVar38 * -8 + 4);
      pixel = (type_5 *)((int)pixel + (type_15)bVar38 * -8 + 4);
    }
    MVar27 = MagickTrue;
    goto LAB_00134728;
  case BlendInterpolatePixel:
    var_16 = var_15(var_4,var_50._0_4_,var_36._0_4_,2,2,exception);
    if (var_16 != (type_7 *)0x0) {
      var_38._0_4_ = 0;
      local_644._0_4_ = var_2->number_channels;
      var_46 = var_27;
      do {
        var_41 = (type_7 *)(var_38._0_4_ * 8 * local_644._0_4_ + (int)var_16);
        var_13(var_46,0,0x50);
        CVar6 = var_2->storage_class;
        var_46->alpha = (double)DAT_002df8a8;
        var_46->fuzz = var_2->fuzz;
        var_46->storage_class = CVar6;
        var_19 = var_2->colorspace;
        var_46->colorspace = var_19;
        var_46->depth = var_2->depth;
        var_17 = var_2->alpha_trait;
        var_46->alpha_trait = var_17;
        pPVar7 = var_2->channel_map;
        var_14 = pPVar7->offset;
        if (var_41 == (type_7 *)0x0) {
          var_44 = var_14 << 3;
          var_45 = pPVar7[1].offset << 3;
          var_14 = pPVar7[2].offset << 3;
          var_21 = pPVar7[4].traits;
        }
        else {
          var_44 = var_14 * 8;
          var_42 = pPVar7[1].offset;
          var_46->red = var_41[var_14];
          var_45 = var_42 * 8;
          var_43 = pPVar7[2].offset;
          var_46->green = var_41[var_42];
          var_14 = var_43 * 8;
          var_21 = pPVar7[3].traits;
          var_46->blue = var_41[var_43];
          if (var_21 != var_18) {
            var_46->black = var_41[pPVar7[3].offset];
          }
          var_21 = pPVar7[4].traits;
          if (var_21 != var_18) {
            QVar3 = var_41[pPVar7[4].offset];
            var_46->alpha_trait = BlendPixelTrait;
            var_46->alpha = QVar3;
          }
          if (pPVar7[5].traits != var_18) {
            var_46->index = var_41[pPVar7[5].offset];
          }
        }
        local_644._0_4_ = var_2->number_channels;
        var_42 = local_644._0_4_ * 8 * var_38._0_4_;
        var_22 = *(double *)((int)var_16 + var_44 + var_42);
        pdVar33 = (double *)((int)var_16 + var_45 + var_42);
        pdVar34 = (double *)((int)var_16 + var_14 + var_42);
        if (var_17 == var_18) {
          alpha[var_38._0_4_] = 1.0;
          var_46->red = var_22;
          var_46->green = *pdVar33;
          var_46->blue = *pdVar34;
          var_46->black = 0.0;
          if (var_19 != var_20) goto LAB_0013490a;
          if (pPVar7[3].traits == var_18) {
            var_22 = 0.0;
          }
          else {
            var_22 = *(double *)((int)var_16 + pPVar7[3].offset * 8 + var_42);
          }
LAB_0013559e:
          var_46->black = var_22;
          if (var_21 == var_18) goto LAB_001355ad;
LAB_00134916:
          var_22 = *(double *)((int)var_16 + pPVar7[4].offset * 8 + var_42);
        }
        else {
          if (var_21 == var_18) {
            var_23 = 1.0;
          }
          else {
            var_23 = var_35 * *(double *)((int)var_16 + pPVar7[4].offset * 8 + var_42);
            var_22 = var_22 * var_23;
          }
          alpha[var_38._0_4_] = var_23;
          var_46->red = var_22;
          var_46->green = *pdVar33 * var_23;
          var_46->blue = *pdVar34 * var_23;
          var_46->black = 0.0;
          if (var_19 == var_20) {
            if (pPVar7[3].traits == var_18) {
              var_22 = 0.0;
            }
            else {
              var_22 = *(double *)((int)var_16 + pPVar7[3].offset * 8 + var_42);
            }
            var_22 = var_22 * var_23;
            goto LAB_0013559e;
          }
LAB_0013490a:
          if (var_21 != var_18) goto LAB_00134916;
LAB_001355ad:
          var_22 = (double)DAT_002df8a8;
        }
        var_38._0_4_ = var_38._0_4_ + 1;
        var_46->alpha = var_22;
        var_46 = var_46 + 1;
      } while (var_38._0_4_ != 4);
      var_22 = var_10 - (double)var_36._0_4_;
      var_23 = (double)DAT_003006a4;
      if (var_23 <= var_22) {
        var_46 = var_47 + 2;
        pPVar37 = var_27;
        for (var_14 = 0x14; var_14 != 0; var_14 = var_14 + -1) {
          pPVar37->storage_class = var_46->storage_class;
          var_46 = (type_5 *)((int)var_46 + (type_15)bVar38 * -8 + 4);
          pPVar37 = (type_5 *)((int)pPVar37 + (type_15)bVar38 * -8 + 4);
        }
        alpha[0] = alpha[2];
        var_48 = 1.0;
LAB_00136096:
        alpha[1] = alpha[3];
        var_46 = var_47 + 3;
        pPVar37 = var_47 + 1;
        for (var_14 = 0x14; var_14 != 0; var_14 = var_14 + -1) {
          pPVar37->storage_class = var_46->storage_class;
          var_46 = (type_5 *)((int)var_46 + (type_15)bVar38 * -8 + 4);
          pPVar37 = (type_5 *)((int)pPVar37 + (type_15)bVar38 * -8 + 4);
        }
      }
      else {
        var_48 = DAT_002eb21c;
        if (var_22 <= (double)DAT_002eb220) {
          if (var_23 <= var_22) {
            var_48 = 1.0;
            goto LAB_00136096;
          }
          if ((double)DAT_002eb220 < var_22) goto LAB_001349ea;
          var_48 = 1.0;
        }
        else {
          alpha[0] = alpha[0] + alpha[2];
          var_47[0].red = var_47[0].red + var_47[2].red;
          var_47[0].green = var_47[0].green + var_47[2].green;
          var_47[0].blue = var_47[0].blue + var_47[2].blue;
          var_47[0].black = var_47[0].black + var_47[2].black;
          var_47[0].alpha = var_47[0].alpha + var_47[2].alpha;
          if (var_23 <= var_22) goto LAB_00136096;
LAB_001349ea:
          alpha[1] = alpha[1] + alpha[3];
          var_47[1].red = var_47[1].red + var_47[3].red;
          var_47[1].green = var_47[1].green + var_47[3].green;
          var_47[1].blue = var_47[1].blue + var_47[3].blue;
          var_47[1].black = var_47[1].black + var_47[3].black;
          var_47[1].alpha = var_47[1].alpha + var_47[3].alpha;
        }
      }
      var_22 = (double)var_50._0_4_;
      var_23 = var_47[0].black;
      var_24 = var_47[0].green;
      var_32 = var_47[0].red;
      if (var_6 - var_22 < (double)DAT_003006a4) {
        var_50 = var_47[0].blue;
        var_36 = var_47[0].alpha;
        var_31 = alpha[0];
        if ((double)DAT_002eb220 < var_6 - var_22) {
          var_48 = var_48 + var_48;
          var_31 = alpha[0] + alpha[1];
          var_50 = var_47[0].blue + var_47[1].blue;
          var_36 = var_47[1].alpha + var_47[0].alpha;
          var_23 = var_47[0].black + var_47[1].black;
          var_24 = var_47[0].green + var_47[1].green;
          var_32 = var_47[0].red + var_47[1].red;
        }
      }
      else {
        var_46 = var_47 + 1;
        for (var_14 = 0x14; var_14 != 0; var_14 = var_14 + -1) {
          var_27->storage_class = var_46->storage_class;
          var_46 = (type_5 *)((int)var_46 + (type_15)bVar38 * -8 + 4);
          var_27 = (type_5 *)((int)var_27 + (type_15)bVar38 * -8 + 4);
        }
        var_50 = var_47[0].blue;
        var_36 = var_47[0].alpha;
        var_31 = alpha[1];
      }
      var_48 = var_49 / var_48;
      var_22 = DAT_002df8d8;
      var_29 = var_31;
      if (var_31 < 0.0) {
        var_22 = DAT_002df8e0;
        var_29 = -var_31;
      }
      if (var_30 <= var_29) {
        var_22 = (double)var_49 / var_31;
      }
      MVar27 = MagickTrue;
      pixel->red = var_32 * var_22;
      pixel->green = var_24 * var_22;
      pixel->blue = var_50 * var_22;
      pixel->black = var_22 * var_23;
      pixel->alpha = (double)(var_48 * (float)var_36);
      goto LAB_00134728;
    }
    break;
  case CatromInterpolatePixel:
    var_16 = var_15
                        (var_4,var_50._0_4_ + -1,var_36._0_4_ + -1,4,4,exception);
    var_22 = var_35;
    if (var_16 != (type_7 *)0x0) {
      var_26 = var_2->number_channels;
      var_17 = var_2->alpha_trait;
      pPVar7 = var_2->channel_map;
      var_19 = var_2->colorspace;
      var_21 = pPVar7[4].traits;
      var_14 = pPVar7[2].offset;
      var_51 = &var_47[0].red;
      var_42 = pPVar7->offset;
      var_43 = pPVar7[1].offset;
      var_25 = 0;
      do {
        var_23 = var_16[var_42];
        if (var_17 == var_18) {
          alpha[var_25] = 1.0;
          *var_51 = var_23;
          var_51[1] = var_16[var_43];
          var_51[2] = var_16[var_14];
          var_51[3] = 0.0;
          if (var_19 == var_20) {
            if (pPVar7[3].traits == var_18) {
              var_23 = 0.0;
            }
            else {
              var_23 = var_16[pPVar7[3].offset];
            }
            var_51[3] = var_23;
          }
LAB_0013466a:
          if (var_21 == var_18) goto LAB_00134700;
LAB_00134672:
          var_23 = var_16[pPVar7[4].offset];
        }
        else {
          if (var_21 == var_18) {
            var_24 = 1.0;
          }
          else {
            var_24 = var_16[pPVar7[4].offset] * var_22;
            var_23 = var_23 * var_24;
          }
          alpha[var_25] = var_24;
          *var_51 = var_23;
          var_51[1] = var_24 * var_16[var_43];
          var_51[2] = var_16[var_14] * var_24;
          var_51[3] = 0.0;
          if (var_19 != var_20) goto LAB_0013466a;
          if (pPVar7[3].traits == var_18) {
            var_23 = 0.0;
          }
          else {
            var_23 = var_16[pPVar7[3].offset];
          }
          var_51[3] = var_23 * var_24;
          if (var_21 != var_18) goto LAB_00134672;
LAB_00134700:
          var_23 = (double)DAT_002df8a8;
        }
        var_25 = var_25 + 1;
        var_51[4] = var_23;
        var_16 = var_16 + var_26;
        var_51 = var_51 + 10;
      } while (var_25 != 0x10);
      var_22 = var_6 - (double)var_50._0_4_;
      var_23 = 1.0 - var_22;
      var_24 = var_22 * (double)DAT_002e9cb4 * var_23;
      var_28 = var_23 * var_24;
      var_24 = var_24 * var_22;
      var_52 = (var_23 - var_28) + (var_24 - var_28);
      var_22 = (var_22 - var_24) - (var_24 - var_28);
      var_32 = var_10 - (double)var_36._0_4_;
      var_23 = 1.0 - var_32;
      var_31 = (double)DAT_002e9cb4 * var_32 * var_23;
      var_29 = var_31 * var_23;
      var_31 = var_31 * var_32;
      var_23 = (var_23 - var_29) + (var_31 - var_29);
      var_32 = (var_32 - var_31) - (var_31 - var_29);
      pixel->red = (var_47[0xf].red * var_24 +
                   var_47[0xe].red * var_22 + var_47[0xd].red * var_52 + var_47[0xc].red * var_28) *
                   var_31 + (var_47[0xb].red * var_24 +
                            var_47[10].red * var_22 + var_47[9].red * var_52 + var_47[8].red * var_28
                            ) * var_32 +
                            (var_47[7].red * var_24 +
                            var_47[6].red * var_22 + var_47[5].red * var_52 + var_47[4].red * var_28)
                            * var_23 + (var_47[3].red * var_24 +
                                      var_47[2].red * var_22 +
                                      var_47[1].red * var_52 + var_47[0].red * var_28) * var_29;
      pixel->green = (var_47[0xf].green * var_24 +
                     var_47[0xe].green * var_22 +
                     var_47[0xd].green * var_52 + var_47[0xc].green * var_28) * var_31 +
                     (var_47[0xb].green * var_24 +
                     var_47[10].green * var_22 + var_47[9].green * var_52 + var_47[8].green * var_28)
                     * var_32 + (var_47[7].green * var_24 +
                               var_47[6].green * var_22 +
                               var_47[5].green * var_52 + var_47[4].green * var_28) * var_23 +
                               (var_47[3].green * var_24 +
                               var_47[2].green * var_22 +
                               var_47[1].green * var_52 + var_47[0].green * var_28) * var_29;
      pixel->blue = (var_47[0xf].blue * var_24 +
                    var_47[0xe].blue * var_22 + var_47[0xd].blue * var_52 + var_47[0xc].blue * var_28
                    ) * var_31 +
                    (var_47[0xb].blue * var_24 +
                    var_47[10].blue * var_22 + var_47[9].blue * var_52 + var_47[8].blue * var_28) *
                    var_32 + (var_47[7].blue * var_24 +
                            var_47[6].blue * var_22 +
                            var_47[5].blue * var_52 + var_47[4].blue * var_28) * var_23 +
                            (var_47[3].blue * var_24 +
                            var_47[2].blue * var_22 +
                            var_47[1].blue * var_52 + var_47[0].blue * var_28) * var_29;
      if (var_19 == var_20) {
        pixel->black = (var_47[0xf].black * var_24 +
                       var_47[0xe].black * var_22 +
                       var_47[0xd].black * var_52 + var_47[0xc].black * var_28) * var_31 +
                       (var_47[0xb].black * var_24 +
                       var_47[10].black * var_22 +
                       var_47[9].black * var_52 + var_47[8].black * var_28) * var_32 +
                       (var_47[7].black * var_24 +
                       var_47[6].black * var_22 + var_47[5].black * var_52 + var_47[4].black * var_28
                       ) * var_23 +
                       (var_47[3].black * var_24 +
                       var_47[2].black * var_22 + var_47[1].black * var_52 + var_47[0].black * var_28
                       ) * var_29;
      }
      MVar27 = MagickTrue;
      pixel->alpha = (var_24 * var_47[0xf].alpha +
                     var_22 * var_47[0xe].alpha +
                     var_52 * var_47[0xd].alpha + var_28 * var_47[0xc].alpha) * var_31 +
                     (var_47[0xb].alpha * var_24 +
                     var_47[10].alpha * var_22 + var_47[9].alpha * var_52 + var_47[8].alpha * var_28)
                     * var_32 + (var_47[7].alpha * var_24 +
                               var_47[6].alpha * var_22 +
                               var_47[5].alpha * var_52 + var_47[4].alpha * var_28) * var_23 +
                               (var_47[3].alpha * var_24 +
                               var_47[2].alpha * var_22 +
                               var_47[1].alpha * var_52 + var_47[0].alpha * var_28) * var_29;
      goto LAB_00134728;
    }
    break;
  case IntegerInterpolatePixel:
    var_16 = var_15(var_4,var_50._0_4_,var_36._0_4_,1,1,exception);
    if (var_16 != (type_7 *)0x0) {
      var_13(pixel,0,0x50);
      pixel->alpha = (double)DAT_002df8a8;
LAB_0013517c:
      var_22 = var_2->fuzz;
      pixel->storage_class = var_2->storage_class;
      var_19 = var_2->colorspace;
      pixel->fuzz = var_22;
      pixel->colorspace = var_19;
      pixel->depth = var_2->depth;
      pixel->alpha_trait = var_2->alpha_trait;
      pPVar7 = var_2->channel_map;
      var_17 = pPVar7[3].traits;
      var_14 = pPVar7[1].offset;
      pixel->red = var_16[pPVar7->offset];
      var_42 = pPVar7[2].offset;
      pixel->green = var_16[var_14];
      pixel->blue = var_16[var_42];
      if (var_17 != var_18) {
        pixel->black = var_16[pPVar7[3].offset];
      }
      if (pPVar7[4].traits != var_18) {
        QVar3 = var_16[pPVar7[4].offset];
        pixel->alpha_trait = BlendPixelTrait;
        pixel->alpha = QVar3;
      }
      if (pPVar7[5].traits != var_18) {
        pixel->index = var_16[pPVar7[5].offset];
      }
      MVar27 = MagickTrue;
      goto LAB_00134728;
    }
    break;
  case MeshInterpolatePixel:
    var_16 = var_15(var_4,var_50._0_4_,var_36._0_4_,2,2,exception);
    if (var_16 != (type_7 *)0x0) {
      var_22 = var_6 - (double)var_50._0_4_;
      pPVar7 = var_2->channel_map;
      var_23 = var_10 - (double)var_36._0_4_;
      var_14 = pPVar7->offset;
      var_53 = var_16[var_14];
      var_42 = pPVar7[1].offset;
      var_32 = (double)DAT_002f2b64;
      var_43 = pPVar7[2].offset;
      pdVar33 = var_16 + var_43;
      var_26 = var_2->number_channels;
      pdVar34 = var_16 + var_26 * 3 + var_14;
      pdVar18 = var_16 + var_26 * 3 + var_42;
      pdVar19 = var_16 + var_26 * 3 + var_43;
      var_29 = (double)DAT_002f2b68;
      var_24 = var_53 * var_29;
      var_31 = (double)DAT_002f2b6c;
      pdVar20 = var_16 + var_26 + var_14;
      pdVar21 = var_16 + var_26 + var_42;
      pdVar22 = var_16 + var_26 + var_43;
      pdVar29 = var_16 + var_26 * 2 + var_42;
      pdVar23 = var_16 + var_26 * 2 + var_14;
      pdVar24 = var_16 + var_26 * 2 + var_43;
      var_17 = pPVar7[4].traits;
      var_19 = var_2->colorspace;
      if (var_2->alpha_trait == var_18) {
        alpha[0] = 1.0;
        var_47[0].green = var_16[var_42];
        var_47[0].blue = *pdVar33;
        var_47[0].black = 0.0;
        if (var_19 == var_20) {
          if (pPVar7[3].traits == var_18) {
            var_47[0].black = 0.0;
          }
          else {
            var_47[0].black = var_16[pPVar7[3].offset];
          }
          if (var_17 != var_18) goto LAB_0013613f;
          var_47[0].alpha = (type_12)DAT_002df8a8;
          var_47[1].red = *pdVar20;
          var_47[1].green = *pdVar21;
          var_47[1].blue = *pdVar22;
LAB_00136ae2:
          if (pPVar7[3].traits == var_18) {
            var_47[1].black = 0.0;
          }
          else {
            var_47[1].black = var_16[var_26 + pPVar7[3].offset];
          }
          if (var_17 == var_18) {
            var_47[1].alpha = (type_12)DAT_002df8a8;
            var_47[2].red = *pdVar23;
            var_47[2].green = *pdVar29;
            var_47[2].blue = *pdVar24;
LAB_00136b5f:
            if (pPVar7[3].traits == var_18) {
              var_47[2].black = 0.0;
            }
            else {
              var_47[2].black = var_16[var_26 * 2 + pPVar7[3].offset];
            }
            if (var_17 == var_18) goto LAB_00136b86;
          }
          else {
LAB_001361a4:
            var_47[1].alpha = var_16[var_26 + pPVar7[4].offset];
            var_47[2].red = *pdVar23;
            var_47[2].green = *pdVar29;
            var_47[2].blue = *pdVar24;
            var_47[2].black = 0.0;
            if (var_19 == var_20) goto LAB_00136b5f;
          }
          var_47[2].alpha = var_16[var_26 * 2 + pPVar7[4].offset];
          var_47[3].red = *pdVar34;
          var_47[3].green = *pdVar18;
          var_47[3].blue = *pdVar19;
          var_47[3].black = 0.0;
          if (var_19 == var_20) goto LAB_0013626b;
LAB_00136296:
          var_50 = var_16[var_26 * 3 + pPVar7[4].offset];
        }
        else {
          if (var_17 != var_18) {
LAB_0013613f:
            var_47[0].alpha = var_16[pPVar7[4].offset];
            var_47[1].red = *pdVar20;
            var_47[1].green = *pdVar21;
            var_47[1].blue = *pdVar22;
            var_47[1].black = 0.0;
            if (var_19 == var_20) goto LAB_00136ae2;
            goto LAB_001361a4;
          }
          var_47[0].alpha = (type_12)DAT_002df8a8;
          var_47[1].red = *pdVar20;
          var_47[1].green = *pdVar21;
          var_47[1].blue = *pdVar22;
          var_47[1].black = 0.0;
          var_47[1].alpha = (type_12)DAT_002df8a8;
          var_47[2].red = *pdVar23;
          var_47[2].green = *pdVar29;
          var_47[2].blue = *pdVar24;
          var_47[2].black = 0.0;
LAB_00136b86:
          var_47[2].alpha = (type_12)DAT_002df8a8;
          var_47[3].red = *pdVar34;
          var_47[3].green = *pdVar18;
          var_47[3].blue = *pdVar19;
          var_47[3].black = 0.0;
          if (var_19 == var_20) {
LAB_0013626b:
            if (pPVar7[3].traits == var_18) {
              var_47[3].black = 0.0;
            }
            else {
              var_47[3].black = var_16[var_26 * 3 + pPVar7[3].offset];
            }
            if (var_17 != var_18) goto LAB_00136296;
            var_50 = (double)DAT_002df8a8;
          }
          else {
            var_50 = (double)DAT_002df8a8;
          }
        }
        alpha[3] = 1.0;
        alpha[2] = 1.0;
        alpha[1] = 1.0;
      }
      else {
        if (var_17 == var_18) {
          alpha[0] = 1.0;
        }
        else {
          alpha[0] = var_35 * var_16[pPVar7[4].offset];
          var_53 = var_53 * alpha[0];
        }
        var_47[0].green = var_16[var_42] * alpha[0];
        var_47[0].blue = *pdVar33 * alpha[0];
        var_47[0].black = 0.0;
        if (var_19 == var_20) {
          if (pPVar7[3].traits == var_18) {
            var_28 = 0.0;
          }
          else {
            var_28 = var_16[pPVar7[3].offset];
          }
          var_47[0].black = var_28 * alpha[0];
        }
        if (var_17 == var_18) {
          var_47[0].alpha = (type_12)DAT_002df8a8;
          alpha[1] = 1.0;
        }
        else {
          var_47[0].alpha = var_16[pPVar7[4].offset];
          alpha[1] = var_35 * var_16[var_26 + pPVar7[4].offset];
        }
        var_47[1].red = *pdVar20 * alpha[1];
        var_47[1].green = *pdVar21 * alpha[1];
        var_47[1].blue = *pdVar22 * alpha[1];
        var_47[1].black = 0.0;
        if (var_19 == var_20) {
          if (pPVar7[3].traits == var_18) {
            var_28 = 0.0;
          }
          else {
            var_28 = var_16[var_26 + pPVar7[3].offset];
          }
          var_47[1].black = var_28 * alpha[1];
        }
        if (var_17 == var_18) {
          var_47[1].alpha = (type_12)DAT_002df8a8;
          alpha[2] = 1.0;
        }
        else {
          var_47[1].alpha = var_16[var_26 + pPVar7[4].offset];
          alpha[2] = var_35 * var_16[var_26 * 2 + pPVar7[4].offset];
        }
        var_47[2].red = *pdVar23 * alpha[2];
        var_47[2].green = *pdVar29 * alpha[2];
        var_47[2].blue = *pdVar24 * alpha[2];
        var_47[2].black = 0.0;
        if (var_19 == var_20) {
          if (pPVar7[3].traits == var_18) {
            var_28 = 0.0;
          }
          else {
            var_28 = var_16[var_26 * 2 + pPVar7[3].offset];
          }
          var_47[2].black = var_28 * alpha[2];
        }
        if (var_17 == var_18) {
          var_47[2].alpha = (type_12)DAT_002df8a8;
          alpha[3] = 1.0;
        }
        else {
          var_47[2].alpha = var_16[var_26 * 2 + pPVar7[4].offset];
          alpha[3] = var_35 * var_16[var_26 * 3 + pPVar7[4].offset];
        }
        var_47[3].red = *pdVar34 * alpha[3];
        var_47[3].green = *pdVar18 * alpha[3];
        var_47[3].blue = *pdVar19 * alpha[3];
        var_47[3].black = 0.0;
        if (var_19 == var_20) {
          if (pPVar7[3].traits == var_18) {
            var_28 = 0.0;
          }
          else {
            var_28 = var_16[var_26 * 3 + pPVar7[3].offset];
          }
          var_47[3].black = var_28 * alpha[3];
        }
        if (var_17 == var_18) {
          var_50 = (double)DAT_002df8a8;
        }
        else {
          var_50 = var_16[var_26 * 3 + pPVar7[4].offset];
        }
      }
      var_28 = 1.0 - var_22;
      var_47[0].red = var_53;
      var_47[3].alpha = var_50;
      if (var_54((*pdVar22 * var_31 + *pdVar21 * var_32 + *pdVar20 * var_29) -
              (var_31 * *pdVar24 + var_32 * *pdVar29 + var_29 * *pdVar23)) <=
          var_54((*pdVar33 * var_31 + var_24 + var_16[var_42] * var_32) -
              (*pdVar19 * var_31 + *pdVar18 * var_32 + *pdVar34 * var_29))) {
        var_24 = 1.0 - var_23;
        if (var_24 < var_22) {
          var_32 = (1.0 - var_28) - var_24;
          var_22 = alpha[3] * var_32 + alpha[1] * var_24 + alpha[2] * var_28;
          var_23 = DAT_002df8d8;
          var_31 = var_22;
          if (var_22 < 0.0) {
            var_23 = DAT_002df8e0;
            var_31 = -var_22;
          }
          if (var_30 <= var_31) {
            var_23 = (double)var_49 / var_22;
          }
          pixel->red = (var_47[3].red * var_32 + var_47[1].red * var_24 + var_47[2].red * var_28) *
                       var_23;
          pixel->green = (var_47[3].green * var_32 +
                         var_47[1].green * var_24 + var_47[2].green * var_28) * var_23;
          pixel->blue = (var_47[3].blue * var_32 + var_47[1].blue * var_24 + var_47[2].blue * var_28)
                        * var_23;
          if (var_19 == var_20) {
            pixel->black = (var_47[3].black * var_32 +
                           var_47[1].black * var_24 + var_47[2].black * var_28) * var_23;
          }
          MVar27 = MagickTrue;
          pixel->alpha = (var_28 + var_24 + var_32) *
                         (var_50 * var_32 + var_47[1].alpha * var_24 + var_47[2].alpha * var_28);
        }
        else {
          var_28 = var_28 - var_23;
          var_24 = alpha[0] * var_28 + var_23 * alpha[2] + alpha[1] * var_22;
          var_32 = DAT_002df8d8;
          var_31 = var_24;
          if (var_24 < 0.0) {
            var_32 = DAT_002df8e0;
            var_31 = -var_24;
          }
          if (var_30 <= var_31) {
            var_32 = (double)var_49 / var_24;
          }
          pixel->red = (var_53 * var_28 + var_47[2].red * var_23 + var_47[1].red * var_22) * var_32;
          pixel->green = (var_47[0].green * var_28 +
                         var_47[2].green * var_23 + var_47[1].green * var_22) * var_32;
          pixel->blue = (var_47[0].blue * var_28 + var_47[2].blue * var_23 + var_47[1].blue * var_22)
                        * var_32;
          if (var_19 == var_20) {
            pixel->black = (var_47[0].black * var_28 +
                           var_22 * var_47[1].black + var_47[2].black * var_23) * var_32;
          }
          MVar27 = MagickTrue;
          pixel->alpha = (var_28 + var_22 + var_23) *
                         (var_47[0].alpha * var_28 +
                         var_47[1].alpha * var_22 + var_47[2].alpha * var_23);
        }
      }
      else if (var_23 < var_22) {
        var_32 = (1.0 - var_28) - var_23;
        var_22 = alpha[1] * var_32 + alpha[0] * var_28 + alpha[3] * var_23;
        var_24 = DAT_002df8d8;
        var_31 = var_22;
        if (var_22 < 0.0) {
          var_24 = DAT_002df8e0;
          var_31 = -var_22;
        }
        if (var_30 <= var_31) {
          var_24 = (double)var_49 / var_22;
        }
        pixel->red = (var_47[1].red * var_32 + var_47[3].red * var_23 + var_53 * var_28) * var_24;
        pixel->green = (var_47[1].green * var_32 + var_47[3].green * var_23 + var_47[0].green * var_28)
                       * var_24;
        pixel->blue = (var_47[1].blue * var_32 + var_47[3].blue * var_23 + var_47[0].blue * var_28) *
                      var_24;
        if (var_19 == var_20) {
          pixel->black = (var_47[1].black * var_32 +
                         var_47[0].black * var_28 + var_47[3].black * var_23) * var_24;
        }
        MVar27 = MagickTrue;
        pixel->alpha = (var_28 + var_23 + var_32) *
                       (var_47[1].alpha * var_32 + var_47[0].alpha * var_28 + var_50 * var_23);
      }
      else {
        var_23 = 1.0 - var_23;
        var_28 = var_28 - var_23;
        var_24 = alpha[2] * var_28 + alpha[0] * var_23 + alpha[3] * var_22;
        var_32 = DAT_002df8d8;
        var_31 = var_24;
        if (var_24 < 0.0) {
          var_32 = DAT_002df8e0;
          var_31 = -var_24;
        }
        if (var_30 <= var_31) {
          var_32 = (double)var_49 / var_24;
        }
        pixel->red = (var_47[2].red * var_28 + var_53 * var_23 + var_47[3].red * var_22) * var_32;
        pixel->green = (var_47[2].green * var_28 + var_47[0].green * var_23 + var_47[3].green * var_22
                       ) * var_32;
        pixel->blue = (var_47[2].blue * var_28 + var_47[0].blue * var_23 + var_47[3].blue * var_22) *
                      var_32;
        if (var_19 == var_20) {
          pixel->black = (var_47[2].black * var_28 +
                         var_47[0].black * var_23 + var_47[3].black * var_22) * var_32;
        }
        MVar27 = MagickTrue;
        pixel->alpha = (var_28 + var_22 + var_23) *
                       (var_47[2].alpha * var_28 + var_47[0].alpha * var_23 + var_50 * var_22);
      }
      goto LAB_00134728;
    }
    break;
  case NearestInterpolatePixel:
    var_14 = -0x7ffffdff;
    if ((var_5 <= var_6) && (var_14 = 0x7ffffdff, var_6 <= var_7)) {
      var_22 = var_8(var_6 + (double)DAT_002df2b8);
      var_14 = (int)var_9(var_22);
    }
    var_42 = -0x7ffffdff;
    if ((var_5 <= var_10) && (var_42 = 0x7ffffdff, var_10 <= var_7)) {
      var_22 = var_8(var_10 + (double)DAT_002df2b8);
      var_42 = (int)var_9(var_22);
    }
    var_16 = var_15(var_4,var_14,var_42,1,1,exception);
    if (var_16 != (type_7 *)0x0) {
      var_13(pixel,0,0x50);
      pixel->alpha = (double)DAT_002df8a8;
      goto LAB_0013517c;
    }
    break;
  case SplineInterpolatePixel:
    var_16 = var_15
                        (var_4,var_50._0_4_ + -1,var_36._0_4_ + -1,4,4,exception);
    var_22 = var_35;
    if (var_16 != (type_7 *)0x0) {
      var_26 = var_2->number_channels;
      var_17 = var_2->alpha_trait;
      pPVar7 = var_2->channel_map;
      var_19 = var_2->colorspace;
      var_21 = pPVar7[4].traits;
      var_14 = pPVar7[2].offset;
      var_51 = &var_47[0].red;
      var_42 = pPVar7->offset;
      var_43 = pPVar7[1].offset;
      var_25 = 0;
      do {
        var_23 = var_16[var_42];
        if (var_17 == var_18) {
          alpha[var_25] = 1.0;
          *var_51 = var_23;
          var_51[1] = var_16[var_43];
          var_51[2] = var_16[var_14];
          var_51[3] = 0.0;
          if (var_19 == var_20) {
            if (pPVar7[3].traits == var_18) {
              var_23 = 0.0;
            }
            else {
              var_23 = var_16[pPVar7[3].offset];
            }
            var_51[3] = var_23;
          }
LAB_0013429a:
          if (var_21 == var_18) goto LAB_00134330;
LAB_001342a2:
          var_23 = var_16[pPVar7[4].offset];
        }
        else {
          if (var_21 == var_18) {
            var_24 = 1.0;
          }
          else {
            var_24 = var_16[pPVar7[4].offset] * var_22;
            var_23 = var_23 * var_24;
          }
          alpha[var_25] = var_24;
          *var_51 = var_23;
          var_51[1] = var_24 * var_16[var_43];
          var_51[2] = var_16[var_14] * var_24;
          var_51[3] = 0.0;
          if (var_19 != var_20) goto LAB_0013429a;
          if (pPVar7[3].traits == var_18) {
            var_23 = 0.0;
          }
          else {
            var_23 = var_16[pPVar7[3].offset];
          }
          var_51[3] = var_23 * var_24;
          if (var_21 != var_18) goto LAB_001342a2;
LAB_00134330:
          var_23 = (double)DAT_002df8a8;
        }
        var_25 = var_25 + 1;
        var_51[4] = var_23;
        var_16 = var_16 + var_26;
        var_51 = var_51 + 10;
      } while (var_25 != 0x10);
      var_22 = var_6 - (double)var_50._0_4_;
      var_23 = 1.0 - var_22;
      var_24 = var_22 * var_55 * var_22 * var_22;
      var_28 = var_23 * var_55 * var_23 * var_23;
      var_52 = (var_23 - var_28) + (var_24 - var_28);
      var_22 = (var_22 - var_24) - (var_24 - var_28);
      var_32 = var_10 - (double)var_36._0_4_;
      var_23 = 1.0 - var_32;
      var_31 = var_32 * var_55 * var_32 * var_32;
      var_29 = var_55 * var_23 * var_23 * var_23;
      var_23 = (var_23 - var_29) + (var_31 - var_29);
      var_32 = (var_32 - var_31) - (var_31 - var_29);
      pixel->red = (var_47[0xf].red * var_24 +
                   var_47[0xe].red * var_22 + var_47[0xd].red * var_52 + var_47[0xc].red * var_28) *
                   var_31 + (var_47[0xb].red * var_24 +
                            var_47[10].red * var_22 + var_47[9].red * var_52 + var_47[8].red * var_28
                            ) * var_32 +
                            (var_47[7].red * var_24 +
                            var_47[6].red * var_22 + var_47[5].red * var_52 + var_47[4].red * var_28)
                            * var_23 + (var_47[3].red * var_24 +
                                      var_47[2].red * var_22 +
                                      var_47[1].red * var_52 + var_47[0].red * var_28) * var_29;
      pixel->green = (var_47[0xf].green * var_24 +
                     var_47[0xe].green * var_22 +
                     var_47[0xd].green * var_52 + var_47[0xc].green * var_28) * var_31 +
                     (var_47[0xb].green * var_24 +
                     var_47[10].green * var_22 + var_47[9].green * var_52 + var_47[8].green * var_28)
                     * var_32 + (var_47[7].green * var_24 +
                               var_47[6].green * var_22 +
                               var_47[5].green * var_52 + var_47[4].green * var_28) * var_23 +
                               (var_47[3].green * var_24 +
                               var_47[2].green * var_22 +
                               var_47[1].green * var_52 + var_47[0].green * var_28) * var_29;
      pixel->blue = (var_47[0xf].blue * var_24 +
                    var_47[0xe].blue * var_22 + var_47[0xd].blue * var_52 + var_47[0xc].blue * var_28
                    ) * var_31 +
                    (var_47[0xb].blue * var_24 +
                    var_47[10].blue * var_22 + var_47[9].blue * var_52 + var_47[8].blue * var_28) *
                    var_32 + (var_47[7].blue * var_24 +
                            var_47[6].blue * var_22 +
                            var_47[5].blue * var_52 + var_47[4].blue * var_28) * var_23 +
                            (var_47[3].blue * var_24 +
                            var_47[2].blue * var_22 +
                            var_47[1].blue * var_52 + var_47[0].blue * var_28) * var_29;
      if (var_19 == var_20) {
        pixel->black = (var_47[0xf].black * var_24 +
                       var_47[0xe].black * var_22 +
                       var_47[0xd].black * var_52 + var_47[0xc].black * var_28) * var_31 +
                       (var_47[0xb].black * var_24 +
                       var_47[10].black * var_22 +
                       var_47[9].black * var_52 + var_47[8].black * var_28) * var_32 +
                       (var_47[7].black * var_24 +
                       var_47[6].black * var_22 + var_47[5].black * var_52 + var_47[4].black * var_28
                       ) * var_23 +
                       (var_47[3].black * var_24 +
                       var_47[2].black * var_22 + var_47[1].black * var_52 + var_47[0].black * var_28
                       ) * var_29;
      }
      MVar27 = MagickTrue;
      pixel->alpha = (var_24 * var_47[0xf].alpha +
                     var_22 * var_47[0xe].alpha +
                     var_52 * var_47[0xd].alpha + var_28 * var_47[0xc].alpha) * var_31 +
                     (var_47[0xb].alpha * var_24 +
                     var_47[10].alpha * var_22 + var_47[9].alpha * var_52 + var_47[8].alpha * var_28)
                     * var_32 + (var_47[7].alpha * var_24 +
                               var_47[6].alpha * var_22 +
                               var_47[5].alpha * var_52 + var_47[4].alpha * var_28) * var_23 +
                               (var_47[3].alpha * var_24 +
                               var_47[2].alpha * var_22 +
                               var_47[1].alpha * var_52 + var_47[0].alpha * var_28) * var_29;
      goto LAB_00134728;
    }
  }
  MVar27 = MagickFalse;
LAB_00134728:
  if (var_56 == *(int *)(var_1 + 0x14)) {
    return MVar27;
  }
                    /* WARNING: Subroutine does not return */
  var_57();
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (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: (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: (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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)) (number_literal) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) alternative: (else_clause (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)))) 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: (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: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (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: (identifier)) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement 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: (identifier)) right: (binary_expression left: (identifier) right: (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: (identifier))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement 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: (identifier)) right: (binary_expression left: (identifier) right: (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: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (identifier))))) (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: (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: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (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)))) 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: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_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)))) 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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (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: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)) (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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (field_expression argument: (identifier) field: (field_identifier))) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (field_expression argument: (identifier) field: (field_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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))))) alternative: (else_clause (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)))) 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: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (field_expression argument: (identifier) field: (field_identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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: (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: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) (number_literal) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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)))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))))) alternative: (else_clause (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)))) 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: (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: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (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: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (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: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)) (number_literal) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (number_literal))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)) (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: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) 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: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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)))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_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)))) 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))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (goto_statement label: (statement_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))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) (expression_statement (assignment_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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (identifier))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))))))))))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (goto_statement label: (statement_identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) (number_literal) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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)))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))))) alternative: (else_clause (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)))) 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: (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: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (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: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (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: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) right: (identifier))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (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 (return_statement (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

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

{
  double dVar1;
  undefined8 uVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  double dVar7;
  double dVar8;
  double dVar9;
  float fVar10;
  double dVar11;
  double dVar12;
  double dVar13;
  double *pdVar14;
  double *pdVar15;
  double *pdVar16;
  int iVar17;
  double *pdVar18;
  double *pdVar19;
  double *pdVar20;
  double *pdVar21;
  double *pdVar22;
  int iVar23;
  undefined4 uVar24;
  int iVar25;
  double *pdVar26;
  int iVar27;
  double *pdVar28;
  int iVar29;
  undefined4 *puVar30;
  undefined4 *puVar31;
  int iVar32;
  undefined4 *puVar33;
  int in_GS_OFFSET;
  byte bVar34;
  double dVar35;
  double local_66c;
  double local_664;
  double local_65c;
  double local_654;
  double local_64c;
  double local_644;
  int local_63c;
  int local_614;
  int iStack_60c;
  double dStack_5ec;
  double local_5a4 [16];
  undefined4 local_520 [8];
  double local_500;
  double local_4f8;
  double local_4f0;
  double local_4e8;
  double local_4e0;
  undefined4 auStack_4d0 [8];
  double local_4b0;
  double local_4a8;
  double local_4a0;
  double local_498;
  double local_490;
  undefined4 auStack_480 [8];
  double local_460;
  double local_458;
  double local_450;
  double local_448;
  double local_440;
  undefined4 auStack_430 [8];
  double local_410;
  double local_408;
  double local_400;
  double local_3f8;
  double local_3f0;
  double dStack_3c0;
  double dStack_3b8;
  double dStack_3b0;
  double dStack_3a8;
  double dStack_3a0;
  double dStack_370;
  double dStack_368;
  double dStack_360;
  double dStack_358;
  double dStack_350;
  double dStack_320;
  double dStack_318;
  double dStack_310;
  double dStack_308;
  double dStack_300;
  double dStack_2d0;
  double dStack_2c8;
  double dStack_2c0;
  double dStack_2b8;
  double dStack_2b0;
  double dStack_280;
  double dStack_278;
  double dStack_270;
  double dStack_268;
  double dStack_260;
  double dStack_230;
  double dStack_228;
  double dStack_220;
  double dStack_218;
  double dStack_210;
  double dStack_1e0;
  double dStack_1d8;
  double dStack_1d0;
  double dStack_1c8;
  double dStack_1c0;
  double dStack_190;
  double dStack_188;
  double dStack_180;
  double dStack_178;
  double dStack_170;
  double dStack_140;
  double dStack_138;
  double dStack_130;
  double dStack_128;
  double dStack_120;
  double dStack_f0;
  double dStack_e8;
  double dStack_e0;
  double dStack_d8;
  double dStack_d0;
  double dStack_a0;
  double dStack_98;
  double dStack_90;
  double dStack_88;
  double dStack_80;
  double dStack_50;
  double dStack_48;
  double dStack_40;
  double dStack_38;
  double dStack_30;
  int local_20;
  undefined4 uStack_14;
  
  bVar34 = 0;
  uStack_14 = 0x133fb9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/pixel.c",0x1586,"MASKED");
  }
  if (param_1[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/pixel.c",0x1587,
                  "MASKED");
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_view != (CacheView *) NULL","MagickCore/pixel.c",0x1588,
                  "MASKED");
  }
  local_66c._0_4_ = -0x7ffffdff;
  if ((DAT_002f2490 <= param_4) && (local_66c._0_4_ = 0x7ffffdff, param_4 <= DAT_002f2498)) {
    dVar35 = floor(param_4);
    local_66c._0_4_ = (int)ROUND(dVar35);
  }
  local_664._0_4_ = -0x7ffffdff;
  if ((DAT_002f2490 <= param_5) && (local_664._0_4_ = 0x7ffffdff, param_5 <= DAT_002f2498)) {
    dVar35 = floor(param_5);
    local_664._0_4_ = (int)ROUND(dVar35);
  }
  if (param_3 == 0) {
    param_3 = param_1[0x98];
  }
  ResetMagickMemory(param_6,0,0x50);
  puVar30 = local_520;
  *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;
  uVar24 = *param_1;
  *(undefined8 *)(param_6 + 3) = *(undefined8 *)(param_1 + 0x88);
  *param_6 = uVar24;
  param_6[1] = param_1[1];
  param_6[5] = param_1[8];
  param_6[2] = param_1[0xa5];
  puVar31 = puVar30;
  for (iVar25 = 0x140; iVar25 != 0; iVar25 = iVar25 + -1) {
    *puVar31 = 0;
    puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
  }
  switch(param_3) {
  default:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);
    dVar35 = _DAT_002df2e0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xa6];
      iVar3 = param_1[0xaa];
      iVar4 = param_1[0xa5];
      iVar27 = *(int *)(iVar3 + 0x20);
      iVar29 = *(int *)(iVar3 + 0x34);
      iVar5 = param_1[1];
      iVar17 = *(int *)(iVar3 + 8);
      iVar6 = *(int *)(iVar3 + 0x14);
      iVar32 = 0;
      do {
        dVar1 = *(double *)(iVar25 + iVar17 * 8);
        if (iVar4 == 0) {
          local_5a4[iVar32] = 1.0;
          *(double *)(puVar30 + 8) = dVar1;
          *(undefined8 *)(puVar30 + 10) = *(undefined8 *)(iVar25 + iVar6 * 8);
          *(undefined8 *)(puVar30 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);
          *(undefined8 *)(puVar30 + 0xe) = 0;
          if (iVar5 == 2) {
            if (*(int *)(iVar3 + 0x28) == 0) {
              uVar2 = 0;
            }
            else {
              uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);
            }
            *(undefined8 *)(puVar30 + 0xe) = uVar2;
          }
        }
        else {
          if (iVar29 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8) * dVar35;
            dVar1 = dVar1 * dVar7;
          }
          local_5a4[iVar32] = dVar7;
          *(double *)(puVar30 + 8) = dVar1;
          *(double *)(puVar30 + 10) = *(double *)(iVar25 + iVar6 * 8) * dVar7;
          *(double *)(puVar30 + 0xc) = *(double *)(iVar25 + iVar27 * 8) * dVar7;
          *(undefined8 *)(puVar30 + 0xe) = 0;
          if (iVar5 == 2) {
            if (*(int *)(iVar3 + 0x28) == 0) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x2c) * 8);
            }
            *(double *)(puVar30 + 0xe) = dVar1 * dVar7;
          }
        }
        if (iVar29 == 0) {
          dVar1 = (double)DAT_002df8a8;
        }
        else {
          dVar1 = *(double *)(iVar25 + *(int *)(iVar3 + 0x38) * 8);
        }
        iVar32 = iVar32 + 1;
        *(double *)(puVar30 + 0x10) = dVar1;
        iVar25 = iVar25 + iVar23 * 8;
        puVar30 = puVar30 + 0x14;
      } while (iVar32 != 4);
      param_4 = param_4 - (double)local_66c._0_4_;
      param_5 = param_5 - (double)local_664._0_4_;
      dVar35 = 1.0 - param_4;
      dVar9 = 1.0 - param_5;
      dVar1 = (local_5a4[3] * param_4 + local_5a4[2] * dVar35) * param_5 +
              (local_5a4[1] * param_4 + local_5a4[0] * dVar35) * dVar9;
      dVar7 = DAT_002df8d8;
      dVar8 = dVar1;
      if (dVar1 < 0.0) {
        dVar7 = DAT_002df8e0;
        dVar8 = -dVar1;
      }
      if (DAT_002df2d0 <= dVar8) {
        dVar7 = (double)DAT_002df8b4 / dVar1;
      }
      *(double *)(param_6 + 8) =
           ((local_410 * param_4 + local_460 * dVar35) * param_5 +
           (local_4b0 * param_4 + local_500 * dVar35) * dVar9) * dVar7;
      *(double *)(param_6 + 10) =
           ((local_408 * param_4 + local_458 * dVar35) * param_5 +
           (local_4a8 * param_4 + local_4f8 * dVar35) * dVar9) * dVar7;
      *(double *)(param_6 + 0xc) =
           ((local_400 * param_4 + local_450 * dVar35) * param_5 +
           (local_4a0 * param_4 + local_4f0 * dVar35) * dVar9) * dVar7;
      if (iVar5 == 2) {
        *(double *)(param_6 + 0xe) =
             ((local_3f8 * param_4 + local_448 * dVar35) * param_5 +
             (local_498 * param_4 + local_4e8 * dVar35) * dVar9) * dVar7;
      }
      dVar8 = (param_4 + dVar35) * param_5 + dVar9 * (param_4 + dVar35);
      dVar1 = DAT_002df8d8;
      dVar7 = dVar8;
      if (dVar8 < 0.0) {
        dVar1 = DAT_002df8e0;
        dVar7 = -dVar8;
      }
      if (DAT_002df2d0 <= dVar7) {
        dVar1 = (double)DAT_002df8b4 / dVar8;
      }
      uVar24 = 1;
      *(double *)(param_6 + 0x10) =
           dVar1 * ((param_4 * local_3f0 + dVar35 * local_440) * param_5 +
                   (local_490 * param_4 + local_4e0 * dVar35) * dVar9);
      goto LAB_00134728;
    }
    break;
  case 1:
  case 2:
  case 3:
    if (param_3 == 2) {
      dVar35 = _UNK_00300760;
      if ((DAT_002f2490 <= param_4) && (dVar35 = _UNK_00300768, param_4 <= DAT_002f2498)) {
        dVar35 = param_4 + (double)DAT_002df2b8;
      }
      local_66c._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);
      dVar35 = _UNK_00300760;
      if ((DAT_002f2490 <= param_5) && (dVar35 = _UNK_00300768, param_5 <= DAT_002f2498)) {
        dVar35 = param_5 + (double)DAT_002df2b8;
      }
      local_63c = 9;
      uVar24 = 3;
      local_664._0_4_ = (int)ROUND(ROUND(dVar35) - (double)DAT_002df8b4);
    }
    else {
      local_63c = 4;
      uVar24 = 2;
      if (param_3 == 3) {
        local_66c._0_4_ = local_66c._0_4_ + -1;
        local_63c = 0x10;
        uVar24 = 4;
        local_664._0_4_ = local_664._0_4_ + -1;
      }
    }
    iVar25 = GetCacheViewVirtualPixels
                       (param_2,local_66c._0_4_,local_664._0_4_,uVar24,uVar24,param_7);
    dVar35 = DAT_002df2d0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xaa];
      iVar3 = param_1[0xa5];
      iVar4 = param_1[0xa6];
      iVar27 = param_1[1];
      local_65c = *(double *)(param_6 + 0x10);
      local_64c = *(double *)(param_6 + 0xe);
      dVar1 = *(double *)(param_6 + 0xc);
      iVar29 = *(int *)(iVar23 + 8);
      local_654 = *(double *)(param_6 + 10);
      local_664 = *(double *)(param_6 + 8);
      iVar5 = *(int *)(iVar23 + 0x14);
      iVar17 = *(int *)(iVar23 + 0x34);
      iVar6 = *(int *)(iVar23 + 0x20);
      iVar32 = 0;
      do {
        local_500 = *(double *)(iVar25 + iVar29 * 8);
        if (iVar3 == 0) {
          local_4f8 = *(double *)(iVar25 + iVar5 * 8);
          local_4f0 = *(double *)(iVar25 + iVar6 * 8);
          local_4e8 = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar23 + 0x28) == 0) {
              local_644 = 0.0;
            }
            else {
              local_644 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);
            }
            local_4e8 = local_644;
          }
          if (iVar17 == 0) {
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
          }
          dVar7 = 1.0;
code_r0x00134460:
          dVar8 = (double)DAT_002df8b4 / dVar7;
          local_4e0 = local_66c;
        }
        else {
          if (iVar17 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
            local_500 = local_500 * dVar7;
          }
          local_4f8 = *(double *)(iVar25 + iVar5 * 8) * dVar7;
          local_4f0 = *(double *)(iVar25 + iVar6 * 8) * dVar7;
          local_4e8 = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar23 + 0x28) == 0) {
              local_4e8 = 0.0;
            }
            else {
              local_4e8 = *(double *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);
            }
            local_4e8 = local_4e8 * dVar7;
          }
          if (iVar17 == 0) {
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = *(double *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
          }
          local_4e0 = local_66c;
          dVar8 = DAT_002df8d8;
          dVar9 = dVar7;
          if (dVar7 < 0.0) {
            dVar8 = DAT_002df8e0;
            dVar9 = -dVar7;
          }
          if (dVar35 <= dVar9) goto code_r0x00134460;
        }
        iVar25 = iVar25 + iVar4 * 8;
        iVar32 = iVar32 + 1;
        local_664 = local_500 * dVar8 + local_664;
        *(double *)(param_6 + 8) = local_664;
        local_654 = local_654 + local_4f8 * dVar8;
        *(double *)(param_6 + 10) = local_654;
        dVar1 = local_4f0 * dVar8 + dVar1;
        *(double *)(param_6 + 0xc) = dVar1;
        local_64c = dVar8 * local_4e8 + local_64c;
        *(double *)(param_6 + 0xe) = local_64c;
        local_65c = local_65c + local_4e0;
        *(double *)(param_6 + 0x10) = local_65c;
      } while (iVar32 < local_63c);
      uVar24 = 1;
      dVar35 = (double)DAT_002df8b4 / (double)local_63c;
      *(double *)(param_6 + 8) = local_664 * dVar35;
      *(double *)(param_6 + 10) = local_654 * dVar35;
      *(double *)(param_6 + 0xc) = dVar1 * dVar35;
      *(double *)(param_6 + 0xe) = local_64c * dVar35;
      *(double *)(param_6 + 0x10) = local_65c * dVar35;
      goto LAB_00134728;
    }
    break;
  case 4:
    puVar30 = param_1 + 0x1f;
    for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
      *param_6 = *puVar30;
      puVar30 = puVar30 + (uint)bVar34 * -2 + 1;
      param_6 = param_6 + (uint)bVar34 * -2 + 1;
    }
    uVar24 = 1;
    goto LAB_00134728;
  case 6:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);
    if (iVar25 != 0) {
      local_64c._0_4_ = 0;
      local_644._0_4_ = param_1[0xa6];
      puVar31 = puVar30;
      do {
        iVar29 = local_64c._0_4_ * 8 * local_644._0_4_ + iVar25;
        ResetMagickMemory(puVar31,0,0x50);
        uVar24 = *param_1;
        *(double *)(puVar31 + 0x10) = (double)DAT_002df8a8;
        *(undefined8 *)(puVar31 + 3) = *(undefined8 *)(param_1 + 0x88);
        *puVar31 = uVar24;
        iVar23 = param_1[1];
        puVar31[1] = iVar23;
        puVar31[5] = param_1[8];
        iVar3 = param_1[0xa5];
        puVar31[2] = iVar3;
        iVar4 = param_1[0xaa];
        iVar27 = *(int *)(iVar4 + 8);
        if (iVar29 == 0) {
          local_614 = iVar27 << 3;
          iStack_60c = *(int *)(iVar4 + 0x14) << 3;
          iVar27 = *(int *)(iVar4 + 0x20) << 3;
          iVar5 = *(int *)(iVar4 + 0x34);
        }
        else {
          local_614 = iVar27 * 8;
          iVar5 = *(int *)(iVar4 + 0x14);
          *(undefined8 *)(puVar31 + 8) = *(undefined8 *)(iVar29 + iVar27 * 8);
          iStack_60c = iVar5 * 8;
          iVar17 = *(int *)(iVar4 + 0x20);
          *(undefined8 *)(puVar31 + 10) = *(undefined8 *)(iVar29 + iVar5 * 8);
          iVar27 = iVar17 * 8;
          iVar5 = *(int *)(iVar4 + 0x28);
          *(undefined8 *)(puVar31 + 0xc) = *(undefined8 *)(iVar29 + iVar17 * 8);
          if (iVar5 != 0) {
            *(undefined8 *)(puVar31 + 0xe) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);
          }
          iVar5 = *(int *)(iVar4 + 0x34);
          if (iVar5 != 0) {
            uVar2 = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);
            puVar31[2] = 4;
            *(undefined8 *)(puVar31 + 0x10) = uVar2;
          }
          if (*(int *)(iVar4 + 0x40) != 0) {
            *(undefined8 *)(puVar31 + 0x12) = *(undefined8 *)(iVar29 + *(int *)(iVar4 + 0x44) * 8);
          }
        }
        local_644._0_4_ = param_1[0xa6];
        iVar29 = local_644._0_4_ * 8 * local_64c._0_4_ + iVar25;
        dVar35 = *(double *)(iVar29 + local_614);
        if (iVar3 == 0) {
          local_5a4[local_64c._0_4_] = 1.0;
          *(double *)(puVar31 + 8) = dVar35;
          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29);
          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29);
          *(undefined8 *)(puVar31 + 0xe) = 0;
          if (iVar23 != 2) goto code_r0x0013490a;
          if (*(int *)(iVar4 + 0x28) == 0) {
            dVar35 = 0.0;
          }
          else {
            dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);
          }
code_r0x0013559e:
          *(double *)(puVar31 + 0xe) = dVar35;
          if (iVar5 == 0) goto code_r0x001355ad;
code_r0x00134916:
          dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);
        }
        else {
          if (iVar5 == 0) {
            dVar1 = 1.0;
          }
          else {
            dVar1 = _DAT_002df2e0 * *(double *)(iVar29 + *(int *)(iVar4 + 0x38) * 8);
            dVar35 = dVar35 * dVar1;
          }
          local_5a4[local_64c._0_4_] = dVar1;
          *(double *)(puVar31 + 8) = dVar35;
          *(double *)(puVar31 + 10) = *(double *)(iStack_60c + iVar29) * dVar1;
          *(double *)(puVar31 + 0xc) = *(double *)(iVar27 + iVar29) * dVar1;
          *(undefined8 *)(puVar31 + 0xe) = 0;
          if (iVar23 == 2) {
            if (*(int *)(iVar4 + 0x28) == 0) {
              dVar35 = 0.0;
            }
            else {
              dVar35 = *(double *)(iVar29 + *(int *)(iVar4 + 0x2c) * 8);
            }
            dVar35 = dVar35 * dVar1;
            goto code_r0x0013559e;
          }
code_r0x0013490a:
          if (iVar5 != 0) goto code_r0x00134916;
code_r0x001355ad:
          dVar35 = (double)DAT_002df8a8;
        }
        local_64c._0_4_ = local_64c._0_4_ + 1;
        *(double *)(puVar31 + 0x10) = dVar35;
        puVar31 = puVar31 + 0x14;
      } while (local_64c._0_4_ != 4);
      param_5 = param_5 - (double)local_664._0_4_;
      dVar35 = (double)DAT_003006a4;
      if (dVar35 <= param_5) {
        puVar31 = auStack_480;
        puVar33 = puVar30;
        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
          *puVar33 = *puVar31;
          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;
        }
        local_5a4[0] = local_5a4[2];
        fVar10 = 1.0;
code_r0x00136096:
        local_5a4[1] = local_5a4[3];
        puVar31 = auStack_430;
        puVar33 = auStack_4d0;
        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
          *puVar33 = *puVar31;
          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
          puVar33 = puVar33 + (uint)bVar34 * -2 + 1;
        }
      }
      else {
        fVar10 = DAT_002eb21c;
        if (param_5 <= (double)DAT_002eb220) {
          if (dVar35 <= param_5) {
            fVar10 = 1.0;
            goto code_r0x00136096;
          }
          if ((double)DAT_002eb220 < param_5) goto code_r0x001349ea;
          fVar10 = 1.0;
        }
        else {
          local_5a4[0] = local_5a4[0] + local_5a4[2];
          local_500 = local_500 + local_460;
          local_4f8 = local_4f8 + local_458;
          local_4f0 = local_4f0 + local_450;
          local_4e8 = local_4e8 + local_448;
          local_4e0 = local_4e0 + local_440;
          if (dVar35 <= param_5) goto code_r0x00136096;
code_r0x001349ea:
          local_5a4[1] = local_5a4[1] + local_5a4[3];
          local_4b0 = local_4b0 + local_410;
          local_4a8 = local_4a8 + local_408;
          local_4a0 = local_4a0 + local_400;
          local_498 = local_498 + local_3f8;
          local_490 = local_490 + local_3f0;
        }
      }
      dVar35 = (double)local_66c._0_4_;
      dVar1 = local_4e8;
      dVar7 = local_4f8;
      dVar8 = local_500;
      if (param_4 - dVar35 < (double)DAT_003006a4) {
        local_66c = local_4f0;
        local_664 = local_4e0;
        dVar9 = local_5a4[0];
        if ((double)DAT_002eb220 < param_4 - dVar35) {
          fVar10 = fVar10 + fVar10;
          dVar9 = local_5a4[0] + local_5a4[1];
          local_66c = local_4f0 + local_4a0;
          local_664 = local_490 + local_4e0;
          dVar1 = local_4e8 + local_498;
          dVar7 = local_4f8 + local_4a8;
          dVar8 = local_500 + local_4b0;
        }
      }
      else {
        puVar31 = auStack_4d0;
        for (iVar25 = 0x14; iVar25 != 0; iVar25 = iVar25 + -1) {
          *puVar30 = *puVar31;
          puVar31 = puVar31 + (uint)bVar34 * -2 + 1;
          puVar30 = puVar30 + (uint)bVar34 * -2 + 1;
        }
        local_66c = local_4f0;
        local_664 = local_4e0;
        dVar9 = local_5a4[1];
      }
      fVar10 = DAT_002df8b4 / fVar10;
      dVar35 = DAT_002df8d8;
      dVar11 = dVar9;
      if (dVar9 < 0.0) {
        dVar35 = DAT_002df8e0;
        dVar11 = -dVar9;
      }
      if (DAT_002df2d0 <= dVar11) {
        dVar35 = (double)DAT_002df8b4 / dVar9;
      }
      uVar24 = 1;
      *(double *)(param_6 + 8) = dVar8 * dVar35;
      *(double *)(param_6 + 10) = dVar7 * dVar35;
      *(double *)(param_6 + 0xc) = local_66c * dVar35;
      *(double *)(param_6 + 0xe) = dVar35 * dVar1;
      *(double *)(param_6 + 0x10) = (double)(fVar10 * (float)local_664);
      goto LAB_00134728;
    }
    break;
  case 7:
    iVar25 = GetCacheViewVirtualPixels
                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);
    dVar35 = _DAT_002df2e0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xa6];
      iVar3 = param_1[0xa5];
      iVar4 = param_1[0xaa];
      iVar27 = param_1[1];
      iVar29 = *(int *)(iVar4 + 0x34);
      iVar5 = *(int *)(iVar4 + 0x20);
      pdVar28 = &local_500;
      iVar17 = *(int *)(iVar4 + 8);
      iVar6 = *(int *)(iVar4 + 0x14);
      iVar32 = 0;
      do {
        dVar1 = *(double *)(iVar25 + iVar17 * 8);
        if (iVar3 == 0) {
          local_5a4[iVar32] = 1.0;
          *pdVar28 = dVar1;
          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);
          pdVar28[3] = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar4 + 0x28) == 0) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
            }
            pdVar28[3] = dVar1;
          }
code_r0x0013466a:
          if (iVar29 == 0) goto code_r0x00134700;
code_r0x00134672:
          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);
        }
        else {
          if (iVar29 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;
            dVar1 = dVar1 * dVar7;
          }
          local_5a4[iVar32] = dVar7;
          *pdVar28 = dVar1;
          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;
          pdVar28[3] = 0.0;
          if (iVar27 != 2) goto code_r0x0013466a;
          if (*(int *)(iVar4 + 0x28) == 0) {
            dVar1 = 0.0;
          }
          else {
            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
          }
          pdVar28[3] = dVar1 * dVar7;
          if (iVar29 != 0) goto code_r0x00134672;
code_r0x00134700:
          dVar1 = (double)DAT_002df8a8;
        }
        iVar32 = iVar32 + 1;
        pdVar28[4] = dVar1;
        iVar25 = iVar25 + iVar23 * 8;
        pdVar28 = pdVar28 + 10;
      } while (iVar32 != 0x10);
      param_4 = param_4 - (double)local_66c._0_4_;
      dVar35 = 1.0 - param_4;
      dVar1 = param_4 * (double)DAT_002e9cb4 * dVar35;
      dVar12 = dVar35 * dVar1;
      dVar1 = dVar1 * param_4;
      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);
      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);
      param_5 = param_5 - (double)local_664._0_4_;
      dVar7 = 1.0 - param_5;
      dVar9 = (double)DAT_002e9cb4 * param_5 * dVar7;
      dVar11 = dVar9 * dVar7;
      dVar9 = dVar9 * param_5;
      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);
      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);
      *(double *)(param_6 + 8) =
           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *
           dVar9 + (dStack_190 * dVar1 +
                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +
                   (dStack_2d0 * dVar1 +
                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +
                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 10) =
           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *
           dVar9 + (dStack_188 * dVar1 +
                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +
                   (dStack_2c8 * dVar1 +
                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +
                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 0xc) =
           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *
           dVar9 + (dStack_180 * dVar1 +
                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +
                   (dStack_2c0 * dVar1 +
                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +
                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12
                   ) * dVar11;
      if (iVar27 == 2) {
        *(double *)(param_6 + 0xe) =
             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *
             dVar9 + (dStack_178 * dVar1 +
                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +
                     (dStack_2b8 * dVar1 +
                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +
                     (local_3f8 * dVar1 +
                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;
      }
      uVar24 = 1;
      *(double *)(param_6 + 0x10) =
           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *
           dVar9 + (dStack_170 * dVar1 +
                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +
                   (dStack_2b0 * dVar1 +
                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +
                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12
                   ) * dVar11;
      goto LAB_00134728;
    }
    break;
  case 8:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,1,1,param_7);
    if (iVar25 != 0) {
      ResetMagickMemory(param_6,0,0x50);
      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;
code_r0x0013517c:
      uVar2 = *(undefined8 *)(param_1 + 0x88);
      *param_6 = *param_1;
      uVar24 = param_1[1];
      *(undefined8 *)(param_6 + 3) = uVar2;
      param_6[1] = uVar24;
      param_6[5] = param_1[8];
      param_6[2] = param_1[0xa5];
      iVar23 = param_1[0xaa];
      iVar3 = *(int *)(iVar23 + 0x28);
      iVar4 = *(int *)(iVar23 + 0x14);
      *(undefined8 *)(param_6 + 8) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 8) * 8);
      iVar27 = *(int *)(iVar23 + 0x20);
      *(undefined8 *)(param_6 + 10) = *(undefined8 *)(iVar25 + iVar4 * 8);
      *(undefined8 *)(param_6 + 0xc) = *(undefined8 *)(iVar25 + iVar27 * 8);
      if (iVar3 != 0) {
        *(undefined8 *)(param_6 + 0xe) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x2c) * 8);
      }
      if (*(int *)(iVar23 + 0x34) != 0) {
        uVar2 = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x38) * 8);
        param_6[2] = 4;
        *(undefined8 *)(param_6 + 0x10) = uVar2;
      }
      if (*(int *)(iVar23 + 0x40) != 0) {
        *(undefined8 *)(param_6 + 0x12) = *(undefined8 *)(iVar25 + *(int *)(iVar23 + 0x44) * 8);
      }
      uVar24 = 1;
      goto LAB_00134728;
    }
    break;
  case 9:
    iVar25 = GetCacheViewVirtualPixels(param_2,local_66c._0_4_,local_664._0_4_,2,2,param_7);
    if (iVar25 != 0) {
      param_4 = param_4 - (double)local_66c._0_4_;
      iVar5 = param_1[0xaa];
      param_5 = param_5 - (double)local_664._0_4_;
      iVar4 = *(int *)(iVar5 + 8) * 8;
      dStack_5ec = *(double *)(iVar25 + *(int *)(iVar5 + 8) * 8);
      dVar1 = (double)DAT_002f2b64;
      iVar27 = *(int *)(iVar5 + 0x14) * 8;
      iVar29 = *(int *)(iVar5 + 0x20) * 8;
      pdVar28 = (double *)(iVar25 + iVar29);
      iVar3 = param_1[0xa6];
      iVar23 = iVar25 + iVar3 * 0x18;
      pdVar14 = (double *)(iVar23 + iVar4);
      pdVar15 = (double *)(iVar23 + iVar27);
      pdVar16 = (double *)(iVar23 + iVar29);
      dVar8 = (double)DAT_002f2b68;
      dVar35 = dStack_5ec * dVar8;
      dVar7 = (double)DAT_002f2b6c;
      iVar17 = iVar23 + iVar3 * -0x10;
      pdVar18 = (double *)(iVar17 + iVar4);
      pdVar19 = (double *)(iVar17 + iVar27);
      pdVar20 = (double *)(iVar17 + iVar29);
      iVar3 = iVar17 + iVar3 * 8;
      pdVar26 = (double *)(iVar27 + iVar3);
      pdVar21 = (double *)(iVar4 + iVar3);
      pdVar22 = (double *)(iVar29 + iVar3);
      iVar4 = *(int *)(iVar5 + 0x34);
      iVar29 = param_1[1];
      if (param_1[0xa5] == 0) {
        local_5a4[0] = 1.0;
        local_4f8 = *(double *)(iVar25 + iVar27);
        local_4f0 = *pdVar28;
        local_4e8 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_4e8 = 0.0;
          }
          else {
            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);
          }
          if (iVar4 != 0) goto code_r0x0013613f;
          local_4e0 = (double)DAT_002df8a8;
          local_4b0 = *pdVar18;
          local_4a8 = *pdVar19;
          local_4a0 = *pdVar20;
code_r0x00136ae2:
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_498 = 0.0;
          }
          else {
            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);
          }
          if (iVar4 == 0) {
            local_490 = (double)DAT_002df8a8;
            local_460 = *pdVar21;
            local_458 = *pdVar26;
            local_450 = *pdVar22;
code_r0x00136b5f:
            if (*(int *)(iVar5 + 0x28) == 0) {
              local_448 = 0.0;
            }
            else {
              local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);
            }
            if (iVar4 == 0) goto code_r0x00136b86;
          }
          else {
code_r0x001361a4:
            local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);
            local_460 = *pdVar21;
            local_458 = *pdVar26;
            local_450 = *pdVar22;
            local_448 = 0.0;
            if (iVar29 == 2) goto code_r0x00136b5f;
          }
          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);
          local_410 = *pdVar14;
          local_408 = *pdVar15;
          local_400 = *pdVar16;
          local_3f8 = 0.0;
          if (iVar29 == 2) goto code_r0x0013626b;
code_r0x00136296:
          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);
        }
        else {
          if (iVar4 != 0) {
code_r0x0013613f:
            local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);
            local_4b0 = *pdVar18;
            local_4a8 = *pdVar19;
            local_4a0 = *pdVar20;
            local_498 = 0.0;
            if (iVar29 == 2) goto code_r0x00136ae2;
            goto code_r0x001361a4;
          }
          local_4e0 = (double)DAT_002df8a8;
          local_4b0 = *pdVar18;
          local_4a8 = *pdVar19;
          local_4a0 = *pdVar20;
          local_498 = 0.0;
          local_490 = (double)DAT_002df8a8;
          local_460 = *pdVar21;
          local_458 = *pdVar26;
          local_450 = *pdVar22;
          local_448 = 0.0;
code_r0x00136b86:
          local_440 = (double)DAT_002df8a8;
          local_410 = *pdVar14;
          local_408 = *pdVar15;
          local_400 = *pdVar16;
          local_3f8 = 0.0;
          if (iVar29 == 2) {
code_r0x0013626b:
            if (*(int *)(iVar5 + 0x28) == 0) {
              local_3f8 = 0.0;
            }
            else {
              local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);
            }
            if (iVar4 != 0) goto code_r0x00136296;
            local_66c = (double)DAT_002df8a8;
          }
          else {
            local_66c = (double)DAT_002df8a8;
          }
        }
        local_5a4[3] = 1.0;
        local_5a4[2] = 1.0;
        local_5a4[1] = 1.0;
      }
      else {
        if (iVar4 == 0) {
          local_5a4[0] = 1.0;
        }
        else {
          local_5a4[0] = _DAT_002df2e0 * *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);
          dStack_5ec = dStack_5ec * local_5a4[0];
        }
        local_4f8 = *(double *)(iVar25 + iVar27) * local_5a4[0];
        local_4f0 = *pdVar28 * local_5a4[0];
        local_4e8 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_4e8 = 0.0;
          }
          else {
            local_4e8 = *(double *)(iVar25 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_4e8 = local_4e8 * local_5a4[0];
        }
        if (iVar4 == 0) {
          local_4e0 = (double)DAT_002df8a8;
          local_5a4[1] = 1.0;
        }
        else {
          local_4e0 = *(double *)(iVar25 + *(int *)(iVar5 + 0x38) * 8);
          local_5a4[1] = _DAT_002df2e0 * *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);
        }
        local_4b0 = *pdVar18 * local_5a4[1];
        local_4a8 = *pdVar19 * local_5a4[1];
        local_4a0 = *pdVar20 * local_5a4[1];
        local_498 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_498 = 0.0;
          }
          else {
            local_498 = *(double *)(iVar17 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_498 = local_498 * local_5a4[1];
        }
        if (iVar4 == 0) {
          local_490 = (double)DAT_002df8a8;
          local_5a4[2] = 1.0;
        }
        else {
          local_490 = *(double *)(iVar17 + *(int *)(iVar5 + 0x38) * 8);
          local_5a4[2] = _DAT_002df2e0 * *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);
        }
        local_460 = *pdVar21 * local_5a4[2];
        local_458 = *pdVar26 * local_5a4[2];
        local_450 = *pdVar22 * local_5a4[2];
        local_448 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_448 = 0.0;
          }
          else {
            local_448 = *(double *)(iVar3 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_448 = local_448 * local_5a4[2];
        }
        if (iVar4 == 0) {
          local_440 = (double)DAT_002df8a8;
          local_5a4[3] = 1.0;
        }
        else {
          local_440 = *(double *)(iVar3 + *(int *)(iVar5 + 0x38) * 8);
          local_5a4[3] = _DAT_002df2e0 * *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);
        }
        local_410 = *pdVar14 * local_5a4[3];
        local_408 = *pdVar15 * local_5a4[3];
        local_400 = *pdVar16 * local_5a4[3];
        local_3f8 = 0.0;
        if (iVar29 == 2) {
          if (*(int *)(iVar5 + 0x28) == 0) {
            local_3f8 = 0.0;
          }
          else {
            local_3f8 = *(double *)(iVar23 + *(int *)(iVar5 + 0x2c) * 8);
          }
          local_3f8 = local_3f8 * local_5a4[3];
        }
        if (iVar4 == 0) {
          local_66c = (double)DAT_002df8a8;
        }
        else {
          local_66c = *(double *)(iVar23 + *(int *)(iVar5 + 0x38) * 8);
        }
      }
      dVar9 = 1.0 - param_4;
      local_500 = dStack_5ec;
      local_3f0 = local_66c;
      if (ABS((*pdVar20 * dVar7 + *pdVar19 * dVar1 + *pdVar18 * dVar8) -
              (dVar7 * *pdVar22 + dVar1 * *pdVar26 + dVar8 * *pdVar21)) <=
          ABS((*pdVar28 * dVar7 + dVar35 + *(double *)(iVar25 + iVar27) * dVar1) -
              (*pdVar16 * dVar7 + *pdVar15 * dVar1 + *pdVar14 * dVar8))) {
        dVar35 = 1.0 - param_5;
        if (dVar35 < param_4) {
          dVar8 = (1.0 - dVar9) - dVar35;
          dVar1 = local_5a4[3] * dVar8 + local_5a4[1] * dVar35 + local_5a4[2] * dVar9;
          dVar7 = DAT_002df8d8;
          dVar11 = dVar1;
          if (dVar1 < 0.0) {
            dVar7 = DAT_002df8e0;
            dVar11 = -dVar1;
          }
          if (DAT_002df2d0 <= dVar11) {
            dVar7 = (double)DAT_002df8b4 / dVar1;
          }
          *(double *)(param_6 + 8) =
               (local_410 * dVar8 + local_4b0 * dVar35 + local_460 * dVar9) * dVar7;
          *(double *)(param_6 + 10) =
               (local_408 * dVar8 + local_4a8 * dVar35 + local_458 * dVar9) * dVar7;
          *(double *)(param_6 + 0xc) =
               (local_400 * dVar8 + local_4a0 * dVar35 + local_450 * dVar9) * dVar7;
          if (iVar29 == 2) {
            *(double *)(param_6 + 0xe) =
                 (local_3f8 * dVar8 + local_498 * dVar35 + local_448 * dVar9) * dVar7;
          }
          uVar24 = 1;
          *(double *)(param_6 + 0x10) =
               (dVar9 + dVar35 + dVar8) *
               (local_66c * dVar8 + local_490 * dVar35 + local_440 * dVar9);
        }
        else {
          dVar9 = dVar9 - param_5;
          dVar35 = local_5a4[0] * dVar9 + param_5 * local_5a4[2] + local_5a4[1] * param_4;
          dVar1 = DAT_002df8d8;
          dVar7 = dVar35;
          if (dVar35 < 0.0) {
            dVar1 = DAT_002df8e0;
            dVar7 = -dVar35;
          }
          if (DAT_002df2d0 <= dVar7) {
            dVar1 = (double)DAT_002df8b4 / dVar35;
          }
          *(double *)(param_6 + 8) =
               (dStack_5ec * dVar9 + local_460 * param_5 + local_4b0 * param_4) * dVar1;
          *(double *)(param_6 + 10) =
               (local_4f8 * dVar9 + local_458 * param_5 + local_4a8 * param_4) * dVar1;
          *(double *)(param_6 + 0xc) =
               (local_4f0 * dVar9 + local_450 * param_5 + local_4a0 * param_4) * dVar1;
          if (iVar29 == 2) {
            *(double *)(param_6 + 0xe) =
                 (local_4e8 * dVar9 + param_4 * local_498 + local_448 * param_5) * dVar1;
          }
          uVar24 = 1;
          *(double *)(param_6 + 0x10) =
               (dVar9 + param_4 + param_5) *
               (local_4e0 * dVar9 + local_490 * param_4 + local_440 * param_5);
        }
      }
      else if (param_5 < param_4) {
        dVar7 = (1.0 - dVar9) - param_5;
        dVar35 = local_5a4[1] * dVar7 + local_5a4[0] * dVar9 + local_5a4[3] * param_5;
        dVar1 = DAT_002df8d8;
        dVar8 = dVar35;
        if (dVar35 < 0.0) {
          dVar1 = DAT_002df8e0;
          dVar8 = -dVar35;
        }
        if (DAT_002df2d0 <= dVar8) {
          dVar1 = (double)DAT_002df8b4 / dVar35;
        }
        *(double *)(param_6 + 8) =
             (local_4b0 * dVar7 + local_410 * param_5 + dStack_5ec * dVar9) * dVar1;
        *(double *)(param_6 + 10) =
             (local_4a8 * dVar7 + local_408 * param_5 + local_4f8 * dVar9) * dVar1;
        *(double *)(param_6 + 0xc) =
             (local_4a0 * dVar7 + local_400 * param_5 + local_4f0 * dVar9) * dVar1;
        if (iVar29 == 2) {
          *(double *)(param_6 + 0xe) =
               (local_498 * dVar7 + local_4e8 * dVar9 + local_3f8 * param_5) * dVar1;
        }
        uVar24 = 1;
        *(double *)(param_6 + 0x10) =
             (dVar9 + param_5 + dVar7) *
             (local_490 * dVar7 + local_4e0 * dVar9 + local_66c * param_5);
      }
      else {
        param_5 = 1.0 - param_5;
        dVar9 = dVar9 - param_5;
        dVar35 = local_5a4[2] * dVar9 + local_5a4[0] * param_5 + local_5a4[3] * param_4;
        dVar1 = DAT_002df8d8;
        dVar7 = dVar35;
        if (dVar35 < 0.0) {
          dVar1 = DAT_002df8e0;
          dVar7 = -dVar35;
        }
        if (DAT_002df2d0 <= dVar7) {
          dVar1 = (double)DAT_002df8b4 / dVar35;
        }
        *(double *)(param_6 + 8) =
             (local_460 * dVar9 + dStack_5ec * param_5 + local_410 * param_4) * dVar1;
        *(double *)(param_6 + 10) =
             (local_458 * dVar9 + local_4f8 * param_5 + local_408 * param_4) * dVar1;
        *(double *)(param_6 + 0xc) =
             (local_450 * dVar9 + local_4f0 * param_5 + local_400 * param_4) * dVar1;
        if (iVar29 == 2) {
          *(double *)(param_6 + 0xe) =
               (local_448 * dVar9 + local_4e8 * param_5 + local_3f8 * param_4) * dVar1;
        }
        uVar24 = 1;
        *(double *)(param_6 + 0x10) =
             (dVar9 + param_4 + param_5) *
             (local_440 * dVar9 + local_4e0 * param_5 + local_66c * param_4);
      }
      goto LAB_00134728;
    }
    break;
  case 10:
    iVar25 = -0x7ffffdff;
    if ((DAT_002f2490 <= param_4) && (iVar25 = 0x7ffffdff, param_4 <= DAT_002f2498)) {
      dVar35 = floor(param_4 + (double)DAT_002df2b8);
      iVar25 = (int)ROUND(dVar35);
    }
    iVar23 = -0x7ffffdff;
    if ((DAT_002f2490 <= param_5) && (iVar23 = 0x7ffffdff, param_5 <= DAT_002f2498)) {
      dVar35 = floor(param_5 + (double)DAT_002df2b8);
      iVar23 = (int)ROUND(dVar35);
    }
    iVar25 = GetCacheViewVirtualPixels(param_2,iVar25,iVar23,1,1,param_7);
    if (iVar25 != 0) {
      ResetMagickMemory(param_6,0,0x50);
      *(double *)(param_6 + 0x10) = (double)DAT_002df8a8;
      goto code_r0x0013517c;
    }
    break;
  case 0xb:
    iVar25 = GetCacheViewVirtualPixels
                       (param_2,local_66c._0_4_ + -1,local_664._0_4_ + -1,4,4,param_7);
    dVar35 = _DAT_002df2e0;
    if (iVar25 != 0) {
      iVar23 = param_1[0xa6];
      iVar3 = param_1[0xa5];
      iVar4 = param_1[0xaa];
      iVar27 = param_1[1];
      iVar29 = *(int *)(iVar4 + 0x34);
      iVar5 = *(int *)(iVar4 + 0x20);
      pdVar28 = &local_500;
      iVar17 = *(int *)(iVar4 + 8);
      iVar6 = *(int *)(iVar4 + 0x14);
      iVar32 = 0;
      do {
        dVar1 = *(double *)(iVar25 + iVar17 * 8);
        if (iVar3 == 0) {
          local_5a4[iVar32] = 1.0;
          *pdVar28 = dVar1;
          pdVar28[1] = *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8);
          pdVar28[3] = 0.0;
          if (iVar27 == 2) {
            if (*(int *)(iVar4 + 0x28) == 0) {
              dVar1 = 0.0;
            }
            else {
              dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
            }
            pdVar28[3] = dVar1;
          }
code_r0x0013429a:
          if (iVar29 == 0) goto code_r0x00134330;
code_r0x001342a2:
          dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8);
        }
        else {
          if (iVar29 == 0) {
            dVar7 = 1.0;
          }
          else {
            dVar7 = *(double *)(iVar25 + *(int *)(iVar4 + 0x38) * 8) * dVar35;
            dVar1 = dVar1 * dVar7;
          }
          local_5a4[iVar32] = dVar7;
          *pdVar28 = dVar1;
          pdVar28[1] = dVar7 * *(double *)(iVar25 + iVar6 * 8);
          pdVar28[2] = *(double *)(iVar25 + iVar5 * 8) * dVar7;
          pdVar28[3] = 0.0;
          if (iVar27 != 2) goto code_r0x0013429a;
          if (*(int *)(iVar4 + 0x28) == 0) {
            dVar1 = 0.0;
          }
          else {
            dVar1 = *(double *)(iVar25 + *(int *)(iVar4 + 0x2c) * 8);
          }
          pdVar28[3] = dVar1 * dVar7;
          if (iVar29 != 0) goto code_r0x001342a2;
code_r0x00134330:
          dVar1 = (double)DAT_002df8a8;
        }
        iVar32 = iVar32 + 1;
        pdVar28[4] = dVar1;
        iVar25 = iVar25 + iVar23 * 8;
        pdVar28 = pdVar28 + 10;
      } while (iVar32 != 0x10);
      param_4 = param_4 - (double)local_66c._0_4_;
      dVar35 = 1.0 - param_4;
      dVar1 = param_4 * DAT_002f5568 * param_4 * param_4;
      dVar12 = dVar35 * DAT_002f5568 * dVar35 * dVar35;
      dVar13 = (dVar35 - dVar12) + (dVar1 - dVar12);
      dVar35 = (param_4 - dVar1) - (dVar1 - dVar12);
      param_5 = param_5 - (double)local_664._0_4_;
      dVar7 = 1.0 - param_5;
      dVar9 = param_5 * DAT_002f5568 * param_5 * param_5;
      dVar11 = DAT_002f5568 * dVar7 * dVar7 * dVar7;
      dVar7 = (dVar7 - dVar11) + (dVar9 - dVar11);
      dVar8 = (param_5 - dVar9) - (dVar9 - dVar11);
      *(double *)(param_6 + 8) =
           (dStack_50 * dVar1 + dStack_a0 * dVar35 + dStack_f0 * dVar13 + dStack_140 * dVar12) *
           dVar9 + (dStack_190 * dVar1 +
                   dStack_1e0 * dVar35 + dStack_230 * dVar13 + dStack_280 * dVar12) * dVar8 +
                   (dStack_2d0 * dVar1 +
                   dStack_320 * dVar35 + dStack_370 * dVar13 + dStack_3c0 * dVar12) * dVar7 +
                   (local_410 * dVar1 + local_460 * dVar35 + local_4b0 * dVar13 + local_500 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 10) =
           (dStack_48 * dVar1 + dStack_98 * dVar35 + dStack_e8 * dVar13 + dStack_138 * dVar12) *
           dVar9 + (dStack_188 * dVar1 +
                   dStack_1d8 * dVar35 + dStack_228 * dVar13 + dStack_278 * dVar12) * dVar8 +
                   (dStack_2c8 * dVar1 +
                   dStack_318 * dVar35 + dStack_368 * dVar13 + dStack_3b8 * dVar12) * dVar7 +
                   (local_408 * dVar1 + local_458 * dVar35 + local_4a8 * dVar13 + local_4f8 * dVar12
                   ) * dVar11;
      *(double *)(param_6 + 0xc) =
           (dStack_40 * dVar1 + dStack_90 * dVar35 + dStack_e0 * dVar13 + dStack_130 * dVar12) *
           dVar9 + (dStack_180 * dVar1 +
                   dStack_1d0 * dVar35 + dStack_220 * dVar13 + dStack_270 * dVar12) * dVar8 +
                   (dStack_2c0 * dVar1 +
                   dStack_310 * dVar35 + dStack_360 * dVar13 + dStack_3b0 * dVar12) * dVar7 +
                   (local_400 * dVar1 + local_450 * dVar35 + local_4a0 * dVar13 + local_4f0 * dVar12
                   ) * dVar11;
      if (iVar27 == 2) {
        *(double *)(param_6 + 0xe) =
             (dStack_38 * dVar1 + dStack_88 * dVar35 + dStack_d8 * dVar13 + dStack_128 * dVar12) *
             dVar9 + (dStack_178 * dVar1 +
                     dStack_1c8 * dVar35 + dStack_218 * dVar13 + dStack_268 * dVar12) * dVar8 +
                     (dStack_2b8 * dVar1 +
                     dStack_308 * dVar35 + dStack_358 * dVar13 + dStack_3a8 * dVar12) * dVar7 +
                     (local_3f8 * dVar1 +
                     local_448 * dVar35 + local_498 * dVar13 + local_4e8 * dVar12) * dVar11;
      }
      uVar24 = 1;
      *(double *)(param_6 + 0x10) =
           (dVar1 * dStack_30 + dVar35 * dStack_80 + dVar13 * dStack_d0 + dVar12 * dStack_120) *
           dVar9 + (dStack_170 * dVar1 +
                   dStack_1c0 * dVar35 + dStack_210 * dVar13 + dStack_260 * dVar12) * dVar8 +
                   (dStack_2b0 * dVar1 +
                   dStack_300 * dVar35 + dStack_350 * dVar13 + dStack_3a0 * dVar12) * dVar7 +
                   (local_3f0 * dVar1 + local_440 * dVar35 + local_490 * dVar13 + local_4e0 * dVar12
                   ) * dVar11;
      goto LAB_00134728;
    }
  }
  uVar24 = 0;
LAB_00134728:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar24;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002decd0();
}

