
void ConvertRGBToHCLp(double red,double green,double blue,double *hue,double *chroma,double *luma)

{
  double dVar1;
  double dVar2;
  double dVar3;
  double *in_stack_00000018;
  double *in_stack_0000001c;
  double *in_stack_00000020;
  
  if (in_stack_00000018 == (double *)0x0) {
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,
               PTR_s_ltiple_images_003f98e8 + -0x5398);
    return;
  }
  if (in_stack_0000001c != (double *)0x0) {
    if (in_stack_00000020 != (double *)0x0) {
      dVar3 = blue;
      if (blue < green) {
        dVar3 = green;
      }
      dVar1 = red;
      if (red <= dVar3) {
        dVar1 = dVar3;
      }
      dVar3 = blue;
      if (green < blue) {
        dVar3 = green;
      }
      dVar2 = red;
      if (dVar3 <= red) {
        dVar2 = dVar3;
      }
      dVar2 = dVar1 - dVar2;
      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {
        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {
          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)
                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)
                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));
        }
        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {
          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {
            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);
          }
          else {
            dVar3 = 0.0;
          }
        }
        else {
          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);
        }
      }
      else {
        dVar3 = 0.0;
      }
      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);
      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);
      *in_stack_0000001c = dVar2 * dVar3;
      *in_stack_00000020 =
           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +
           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +
           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;
      return;
    }
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,
               PTR_s_ltiple_images_003f98e8 + -0x5398);
    return;
  }
  (*(code *)PTR___assert_fail_003fa620)
            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,
             PTR_s_ltiple_images_003f98e8 + -0x5398);
  return;
}



void FUN_000f70b0(double param_1,double param_2)

{
  double dVar1;
  double dVar2;
  double dVar3;
  double in_stack_00000010;
  double *in_stack_00000018;
  double *in_stack_0000001c;
  double *in_stack_00000020;
  
  if (in_stack_00000018 == (double *)0x0) {
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,
               PTR_s_ltiple_images_003f98e8 + -0x5398);
    return;
  }
  if (in_stack_0000001c != (double *)0x0) {
    if (in_stack_00000020 != (double *)0x0) {
      dVar3 = in_stack_00000010;
      if (in_stack_00000010 < param_2) {
        dVar3 = param_2;
      }
      dVar1 = param_1;
      if (param_1 <= dVar3) {
        dVar1 = dVar3;
      }
      dVar3 = in_stack_00000010;
      if (param_2 < in_stack_00000010) {
        dVar3 = param_2;
      }
      dVar2 = param_1;
      if (dVar3 <= param_1) {
        dVar2 = dVar3;
      }
      dVar2 = dVar1 - dVar2;
      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {
        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {
          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)
                                    ((param_2 - in_stack_00000010) / dVar2 +
                                     *(double *)(PTR_UINT_003f98e4 + 0x290),
                                     *(double *)(PTR_UINT_003f98e4 + 0x290));
        }
        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {
          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {
            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);
          }
          else {
            dVar3 = 0.0;
          }
        }
        else {
          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);
        }
      }
      else {
        dVar3 = 0.0;
      }
      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);
      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);
      *in_stack_0000001c = dVar2 * dVar3;
      *in_stack_00000020 =
           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +
           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +
           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;
      return;
    }
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,
               PTR_s_ltiple_images_003f98e8 + -0x5398);
    return;
  }
  (*(code *)PTR___assert_fail_003fa620)
            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,
             PTR_s_ltiple_images_003f98e8 + -0x5398);
  return;
}


lui gp,0x31
addiu gp,gp,-0x5800
addu gp,gp,t9
addiu sp,sp,-0x48
sw ra,0x2c(sp)
sw s4,0x28(sp)
sw s3,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
sdc1 f24,0x40(sp)
sdc1 f22,0x38(sp)
sdc1 f20,0x30(sp)
sw gp,0x10(sp)
ldc1 f20,0x58(sp)
lw s4,0x60(sp)
lw s3,0x64(sp)
beq s4,zero,0x000f721c
_lw s2,0x68(sp)
mov.D f22,f12
beq s3,zero,0x000f7244
_mov.D f24,f14
beq s2,zero,0x000f726c
_lw a3,-0x7fc8(gp)
c.lt.D f20,f14
bc1t 0x000f7120
_mov.D f0,f14
mov.D f0,f20
c.lt.D f0,f22
bc1f 0x1,0x000f7130
_nop
mov.D f0,f22
c.lt.D f24,f20
bc1t 0x2,0x000f7140
_mov.D f2,f24
mov.D f2,f20
c.lt.D f22,f2
bc1f 0x3,0x000f7150
_nop
mov.D f2,f22
sub.D D f2,f0,f2
mfc1 s1,f2
mfhc1 s0,f2
ext v0,s0,0x0,0x1f
lw a0,-0x7fd0(gp)
ldc1 f2,0x43c8(a0)
mtc1 s1,f4
mthc1 v0,f4
c.lt.D f4,f2
bc1t 0x4,0x000f72e8
_nop
sub.D D f2,f22,f0
mfc1 a1,f2
mfhc1 a0,f2
ext v0,a0,0x0,0x1f
lw a0,-0x7fd0(gp)
ldc1 f2,0x43c8(a0)
mtc1 a1,f4
mthc1 v0,f4
c.lt.D f4,f2
bc1t 0x5,0x000f7298
_lw v0,-0x7fcc(gp)
sub.D D f2,f24,f0
mfc1 a1,f2
mfhc1 a0,f2
ext v0,a0,0x0,0x1f
lw a0,-0x7fd0(gp)
ldc1 f2,0x43c8(a0)
mtc1 a1,f4
mthc1 v0,f4
c.lt.D f4,f2
bc1t 0x6,0x000f72cc
_lw v0,-0x7fcc(gp)
sub.D D f0,f20,f0
mfc1 v1,f0
mfhc1 v0,f0
ext a0,v0,0x0,0x1f
lw v0,-0x7fd0(gp)
ldc1 f0,0x43c8(v0)
mtc1 v1,f2
mthc1 a0,f2
c.lt.D f2,f0
bc1f 0x7,0x000f7370
_lw v0,-0x7fcc(gp)
sub.D D f0,f22,f24
mtc1 s1,f2
mthc1 s0,f2
div.D f0,f0,f2
ldc1 f2,-0xa48(v0)
b 0x000f72f0
_add.D f0,f0,f2
lw a3,-0x7fc8(gp)
addiu a3,a3,-0x5398
li a2,0x39a
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x56a8
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x5694
lw t9,-0x7290(gp)
jalr t9
_nop
lw a3,-0x7fc8(gp)
addiu a3,a3,-0x5398
li a2,0x39b
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x56a8
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x567c
lw t9,-0x7290(gp)
jalr t9
_nop
addiu a3,a3,-0x5398
li a2,0x39c
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x56a8
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x5660
lw t9,-0x7290(gp)
jalr t9
_nop
ldc1 f0,0x290(v0)
sub.D D f12,f24,f20
mtc1 s1,f2
mthc1 s0,f2
div.D f12,f12,f2
mov.D f14,f0
add.D f12,f12,f0
lw t9,-0x6ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000f72f4
_lw v0,-0x7fcc(gp)
sub.D D f0,f20,f22
mtc1 s1,f2
mthc1 s0,f2
div.D f0,f0,f2
ldc1 f2,0x298(v0)
b 0x000f72f0
_add.D f0,f0,f2
mtc1 zero,f0
mthc1 zero,f0
lw v0,-0x7fcc(gp)
ldc1 f2,0x290(v0)
div.D f0,f0,f2
sdc1 f0,0x0(s4)
lw v0,-0x7fd0(gp)
ldc1 f2,0x4410(v0)
mtc1 s1,f0
mthc1 s0,f0
mul.D f0,f0,f2
sdc1 f0,0x0(s3)
lw v0,-0x7fcc(gp)
ldc1 f12,-0xe48(v0)
mul.D f12,f24,f12
lw v0,-0x7fcc(gp)
ldc1 f0,-0xe58(v0)
madd.D f12,f12,f22,f0
lw v0,-0x7fcc(gp)
ldc1 f0,-0xe30(v0)
madd.D f12,f12,f20,f0
mul.D f12,f12,f2
sdc1 f12,0x0(s2)
lw ra,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
ldc1 f24,0x40(sp)
ldc1 f22,0x38(sp)
ldc1 f20,0x30(sp)
jr ra
_addiu sp,sp,0x48
mtc1 zero,f0
b 0x000f72f0
_mthc1 zero,f0
(translation_unit "void FUN_000f70b0(double param_1,double param_2)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}\n\n" (function_definition "void FUN_000f70b0(double param_1,double param_2)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" primitive_type (function_declarator "FUN_000f70b0(double param_1,double param_2)" identifier (parameter_list "(double param_1,double param_2)" ( (parameter_declaration "double param_1" primitive_type identifier) , (parameter_declaration "double param_2" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double in_stack_00000010;" primitive_type identifier ;) (declaration "double *in_stack_00000018;" primitive_type (pointer_declarator "*in_stack_00000018" * identifier) ;) (declaration "double *in_stack_0000001c;" primitive_type (pointer_declarator "*in_stack_0000001c" * identifier) ;) (declaration "double *in_stack_00000020;" primitive_type (pointer_declarator "*in_stack_00000020" * identifier) ;) (if_statement "if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" if (parenthesized_expression "(in_stack_00000018 == (double *)0x0)" ( (binary_expression "in_stack_00000018 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5694" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" if (parenthesized_expression "(in_stack_0000001c != (double *)0x0)" ( (binary_expression "in_stack_0000001c != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" { (if_statement "if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" if (parenthesized_expression "(in_stack_00000020 != (double *)0x0)" ( (binary_expression "in_stack_00000020 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" { (expression_statement "dVar3 = in_stack_00000010;" (assignment_expression "dVar3 = in_stack_00000010" identifier = identifier) ;) (if_statement "if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }" if (parenthesized_expression "(in_stack_00000010 < param_2)" ( (binary_expression "in_stack_00000010 < param_2" identifier < identifier) )) (compound_statement "{\n        dVar3 = param_2;\n      }" { (expression_statement "dVar3 = param_2;" (assignment_expression "dVar3 = param_2" identifier = identifier) ;) })) (expression_statement "dVar1 = param_1;" (assignment_expression "dVar1 = param_1" identifier = identifier) ;) (if_statement "if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }" if (parenthesized_expression "(param_1 <= dVar3)" ( (binary_expression "param_1 <= dVar3" identifier <= identifier) )) (compound_statement "{\n        dVar1 = dVar3;\n      }" { (expression_statement "dVar1 = dVar3;" (assignment_expression "dVar1 = dVar3" identifier = identifier) ;) })) (expression_statement "dVar3 = in_stack_00000010;" (assignment_expression "dVar3 = in_stack_00000010" identifier = identifier) ;) (if_statement "if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }" if (parenthesized_expression "(param_2 < in_stack_00000010)" ( (binary_expression "param_2 < in_stack_00000010" identifier < identifier) )) (compound_statement "{\n        dVar3 = param_2;\n      }" { (expression_statement "dVar3 = param_2;" (assignment_expression "dVar3 = param_2" identifier = identifier) ;) })) (expression_statement "dVar2 = param_1;" (assignment_expression "dVar2 = param_1" identifier = identifier) ;) (if_statement "if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }" if (parenthesized_expression "(dVar3 <= param_1)" ( (binary_expression "dVar3 <= param_1" identifier <= identifier) )) (compound_statement "{\n        dVar2 = dVar3;\n      }" { (expression_statement "dVar2 = dVar3;" (assignment_expression "dVar2 = dVar3" identifier = identifier) ;) })) (expression_statement "dVar2 = dVar1 - dVar2;" (assignment_expression "dVar2 = dVar1 - dVar2" identifier = (binary_expression "dVar1 - dVar2" identifier - identifier)) ;) (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }" if (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2))" ( (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) )))) <= (call_expression "ABS(dVar2)" identifier (argument_list "(dVar2)" ( identifier )))) )) (compound_statement "{\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }" { (if_statement "if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" if (parenthesized_expression "(ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" ( (binary_expression "ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(param_1 - dVar1)" identifier (argument_list "(param_1 - dVar1)" ( (binary_expression "param_1 - dVar1" identifier - identifier) ))) < (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) ))))) )) (compound_statement "{\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }" { (expression_statement "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));" (assignment_expression "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" identifier = (cast_expression "(double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" (parenthesized_expression "(*(code *)PTR_fmod_003fa9d0)" ( (pointer_expression "*(code *)PTR_fmod_003fa9d0" * (cast_expression "(code *)PTR_fmod_003fa9d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" ( (binary_expression "(param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290)" (binary_expression "(param_2 - in_stack_00000010) / dVar2" (parenthesized_expression "(param_2 - in_stack_00000010)" ( (binary_expression "param_2 - in_stack_00000010" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) ))))) , (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) )))) ))))) ;) }) (else_clause "else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" else (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" if (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1))" ( (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) )))) <= (call_expression "ABS(param_2 - dVar1)" identifier (argument_list "(param_2 - dVar1)" ( (binary_expression "param_2 - dVar1" identifier - identifier) )))) )) (compound_statement "{\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }" { (if_statement "if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }" if (parenthesized_expression "(ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" ( (binary_expression "ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(in_stack_00000010 - dVar1)" identifier (argument_list "(in_stack_00000010 - dVar1)" ( (binary_expression "in_stack_00000010 - dVar1" identifier - identifier) ))) < (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) ))))) )) (compound_statement "{\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }" { (expression_statement "dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);" (assignment_expression "dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" identifier = (binary_expression "(param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" (binary_expression "(param_1 - param_2) / dVar2" (parenthesized_expression "(param_1 - param_2)" ( (binary_expression "param_1 - param_2" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xa48)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xa48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xa48)" ( (binary_expression "PTR_UINT_003f98e4 + -0xa48" identifier + number_literal) )))))) ;) }) (else_clause "else {\n            dVar3 = 0.0;\n          }" else (compound_statement "{\n            dVar3 = 0.0;\n          }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" else (compound_statement "{\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" { (expression_statement "dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);" (assignment_expression "dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" identifier = (binary_expression "(in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" (binary_expression "(in_stack_00000010 - param_1) / dVar2" (parenthesized_expression "(in_stack_00000010 - param_1)" ( (binary_expression "in_stack_00000010 - param_1" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x298)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x298)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x298)" ( (binary_expression "PTR_UINT_003f98e4 + 0x298" identifier + number_literal) )))))) ;) }))))) }) (else_clause "else {\n        dVar3 = 0.0;\n      }" else (compound_statement "{\n        dVar3 = 0.0;\n      }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) }))) (expression_statement "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);" (assignment_expression "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" (pointer_expression "*in_stack_00000018" * identifier) = (binary_expression "dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" identifier / (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) )))))) ;) (expression_statement "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);" (assignment_expression "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x4410)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x4410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4410)" ( (binary_expression "PTR_LAB_003f98e0 + 0x4410" identifier + number_literal) ))))) ;) (expression_statement "*in_stack_0000001c = dVar2 * dVar3;" (assignment_expression "*in_stack_0000001c = dVar2 * dVar3" (pointer_expression "*in_stack_0000001c" * identifier) = (binary_expression "dVar2 * dVar3" identifier * identifier)) ;) (expression_statement "*in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;" (assignment_expression "*in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (pointer_expression "*in_stack_00000020" * identifier) = (binary_expression "(in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (parenthesized_expression "(in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48))" ( (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)" (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58)" (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe30)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe30)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe30" identifier + number_literal) ))))) + (binary_expression "param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe58)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe58)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe58" identifier + number_literal) )))))) + (binary_expression "param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe48)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe48)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe48" identifier + number_literal) )))))) )) * identifier)) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5660" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x567c" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void ConvertRGBToHCLp(double red,double green,double blue,double *hue,double *chroma,double *luma)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = blue;\n      if (blue < green) {\n        dVar3 = green;\n      }\n      dVar1 = red;\n      if (red <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = blue;\n      if (green < blue) {\n        dVar3 = green;\n      }\n      dVar2 = red;\n      if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}\n\n" (function_definition "void ConvertRGBToHCLp(double red,double green,double blue,double *hue,double *chroma,double *luma)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = blue;\n      if (blue < green) {\n        dVar3 = green;\n      }\n      dVar1 = red;\n      if (red <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = blue;\n      if (green < blue) {\n        dVar3 = green;\n      }\n      dVar2 = red;\n      if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" primitive_type (function_declarator "ConvertRGBToHCLp(double red,double green,double blue,double *hue,double *chroma,double *luma)" identifier (parameter_list "(double red,double green,double blue,double *hue,double *chroma,double *luma)" ( (parameter_declaration "double red" primitive_type identifier) , (parameter_declaration "double green" primitive_type identifier) , (parameter_declaration "double blue" primitive_type identifier) , (parameter_declaration "double *hue" primitive_type (pointer_declarator "*hue" * identifier)) , (parameter_declaration "double *chroma" primitive_type (pointer_declarator "*chroma" * identifier)) , (parameter_declaration "double *luma" primitive_type (pointer_declarator "*luma" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = blue;\n      if (blue < green) {\n        dVar3 = green;\n      }\n      dVar1 = red;\n      if (red <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = blue;\n      if (green < blue) {\n        dVar3 = green;\n      }\n      dVar2 = red;\n      if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double *in_stack_00000018;" primitive_type (pointer_declarator "*in_stack_00000018" * identifier) ;) (declaration "double *in_stack_0000001c;" primitive_type (pointer_declarator "*in_stack_0000001c" * identifier) ;) (declaration "double *in_stack_00000020;" primitive_type (pointer_declarator "*in_stack_00000020" * identifier) ;) (if_statement "if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" if (parenthesized_expression "(in_stack_00000018 == (double *)0x0)" ( (binary_expression "in_stack_00000018 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5694" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = blue;\n      if (blue < green) {\n        dVar3 = green;\n      }\n      dVar1 = red;\n      if (red <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = blue;\n      if (green < blue) {\n        dVar3 = green;\n      }\n      dVar2 = red;\n      if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" if (parenthesized_expression "(in_stack_0000001c != (double *)0x0)" ( (binary_expression "in_stack_0000001c != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = blue;\n      if (blue < green) {\n        dVar3 = green;\n      }\n      dVar1 = red;\n      if (red <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = blue;\n      if (green < blue) {\n        dVar3 = green;\n      }\n      dVar2 = red;\n      if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" { (if_statement "if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = blue;\n      if (blue < green) {\n        dVar3 = green;\n      }\n      dVar1 = red;\n      if (red <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = blue;\n      if (green < blue) {\n        dVar3 = green;\n      }\n      dVar2 = red;\n      if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" if (parenthesized_expression "(in_stack_00000020 != (double *)0x0)" ( (binary_expression "in_stack_00000020 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      dVar3 = blue;\n      if (blue < green) {\n        dVar3 = green;\n      }\n      dVar1 = red;\n      if (red <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = blue;\n      if (green < blue) {\n        dVar3 = green;\n      }\n      dVar2 = red;\n      if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" { (expression_statement "dVar3 = blue;" (assignment_expression "dVar3 = blue" identifier = identifier) ;) (if_statement "if (blue < green) {\n        dVar3 = green;\n      }" if (parenthesized_expression "(blue < green)" ( (binary_expression "blue < green" identifier < identifier) )) (compound_statement "{\n        dVar3 = green;\n      }" { (expression_statement "dVar3 = green;" (assignment_expression "dVar3 = green" identifier = identifier) ;) })) (expression_statement "dVar1 = red;" (assignment_expression "dVar1 = red" identifier = identifier) ;) (if_statement "if (red <= dVar3) {\n        dVar1 = dVar3;\n      }" if (parenthesized_expression "(red <= dVar3)" ( (binary_expression "red <= dVar3" identifier <= identifier) )) (compound_statement "{\n        dVar1 = dVar3;\n      }" { (expression_statement "dVar1 = dVar3;" (assignment_expression "dVar1 = dVar3" identifier = identifier) ;) })) (expression_statement "dVar3 = blue;" (assignment_expression "dVar3 = blue" identifier = identifier) ;) (if_statement "if (green < blue) {\n        dVar3 = green;\n      }" if (parenthesized_expression "(green < blue)" ( (binary_expression "green < blue" identifier < identifier) )) (compound_statement "{\n        dVar3 = green;\n      }" { (expression_statement "dVar3 = green;" (assignment_expression "dVar3 = green" identifier = identifier) ;) })) (expression_statement "dVar2 = red;" (assignment_expression "dVar2 = red" identifier = identifier) ;) (if_statement "if (dVar3 <= red) {\n        dVar2 = dVar3;\n      }" if (parenthesized_expression "(dVar3 <= red)" ( (binary_expression "dVar3 <= red" identifier <= identifier) )) (compound_statement "{\n        dVar2 = dVar3;\n      }" { (expression_statement "dVar2 = dVar3;" (assignment_expression "dVar2 = dVar3" identifier = identifier) ;) })) (expression_statement "dVar2 = dVar1 - dVar2;" (assignment_expression "dVar2 = dVar1 - dVar2" identifier = (binary_expression "dVar1 - dVar2" identifier - identifier)) ;) (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }" if (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2))" ( (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) )))) <= (call_expression "ABS(dVar2)" identifier (argument_list "(dVar2)" ( identifier )))) )) (compound_statement "{\n        if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }" { (if_statement "if (ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" if (parenthesized_expression "(ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" ( (binary_expression "ABS(red - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(red - dVar1)" identifier (argument_list "(red - dVar1)" ( (binary_expression "red - dVar1" identifier - identifier) ))) < (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) ))))) )) (compound_statement "{\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));\n        }" { (expression_statement "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290));" (assignment_expression "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290))" identifier = (cast_expression "(double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290))" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_fmod_003fa9d0)\n                                    ((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290))" (parenthesized_expression "(*(code *)PTR_fmod_003fa9d0)" ( (pointer_expression "*(code *)PTR_fmod_003fa9d0" * (cast_expression "(code *)PTR_fmod_003fa9d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)\n                                     ,*(double *)(PTR_UINT_003f98e4 + 0x290))" ( (binary_expression "(green - blue) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x290)" (binary_expression "(green - blue) / dVar2" (parenthesized_expression "(green - blue)" ( (binary_expression "green - blue" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) ))))) , (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) )))) ))))) ;) }) (else_clause "else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" else (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)) {\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" if (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1))" ( (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(green - dVar1)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) )))) <= (call_expression "ABS(green - dVar1)" identifier (argument_list "(green - dVar1)" ( (binary_expression "green - dVar1" identifier - identifier) )))) )) (compound_statement "{\n          if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }" { (if_statement "if (ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }" if (parenthesized_expression "(ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" ( (binary_expression "ABS(blue - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(blue - dVar1)" identifier (argument_list "(blue - dVar1)" ( (binary_expression "blue - dVar1" identifier - identifier) ))) < (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) ))))) )) (compound_statement "{\n            dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }" { (expression_statement "dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);" (assignment_expression "dVar3 = (red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" identifier = (binary_expression "(red - green) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" (binary_expression "(red - green) / dVar2" (parenthesized_expression "(red - green)" ( (binary_expression "red - green" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xa48)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xa48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xa48)" ( (binary_expression "PTR_UINT_003f98e4 + -0xa48" identifier + number_literal) )))))) ;) }) (else_clause "else {\n            dVar3 = 0.0;\n          }" else (compound_statement "{\n            dVar3 = 0.0;\n          }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" else (compound_statement "{\n          dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" { (expression_statement "dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);" (assignment_expression "dVar3 = (blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" identifier = (binary_expression "(blue - red) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" (binary_expression "(blue - red) / dVar2" (parenthesized_expression "(blue - red)" ( (binary_expression "blue - red" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x298)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x298)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x298)" ( (binary_expression "PTR_UINT_003f98e4 + 0x298" identifier + number_literal) )))))) ;) }))))) }) (else_clause "else {\n        dVar3 = 0.0;\n      }" else (compound_statement "{\n        dVar3 = 0.0;\n      }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) }))) (expression_statement "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);" (assignment_expression "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" (pointer_expression "*in_stack_00000018" * identifier) = (binary_expression "dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" identifier / (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) )))))) ;) (expression_statement "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);" (assignment_expression "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x4410)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x4410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4410)" ( (binary_expression "PTR_LAB_003f98e0 + 0x4410" identifier + number_literal) ))))) ;) (expression_statement "*in_stack_0000001c = dVar2 * dVar3;" (assignment_expression "*in_stack_0000001c = dVar2 * dVar3" (pointer_expression "*in_stack_0000001c" * identifier) = (binary_expression "dVar2 * dVar3" identifier * identifier)) ;) (expression_statement "*in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;" (assignment_expression "*in_stack_00000020 =\n           (blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (pointer_expression "*in_stack_00000020" * identifier) = (binary_expression "(blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (parenthesized_expression "(blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48))" ( (binary_expression "blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           green * *(double *)(PTR_UINT_003f98e4 + -0xe48)" (binary_expression "blue * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           red * *(double *)(PTR_UINT_003f98e4 + -0xe58)" (binary_expression "blue * *(double *)(PTR_UINT_003f98e4 + -0xe30)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe30)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe30)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe30" identifier + number_literal) ))))) + (binary_expression "red * *(double *)(PTR_UINT_003f98e4 + -0xe58)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe58)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe58)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe58" identifier + number_literal) )))))) + (binary_expression "green * *(double *)(PTR_UINT_003f98e4 + -0xe48)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe48)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe48)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe48" identifier + number_literal) )))))) )) * identifier)) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5660" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x567c" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000f70b0(double param_1,double param_2)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}\n\n" (function_definition "void FUN_000f70b0(double param_1,double param_2)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" primitive_type (function_declarator "FUN_000f70b0(double param_1,double param_2)" identifier (parameter_list "(double param_1,double param_2)" ( (parameter_declaration "double param_1" primitive_type identifier) , (parameter_declaration "double param_2" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double in_stack_00000010;" primitive_type identifier ;) (declaration "double *in_stack_00000018;" primitive_type (pointer_declarator "*in_stack_00000018" * identifier) ;) (declaration "double *in_stack_0000001c;" primitive_type (pointer_declarator "*in_stack_0000001c" * identifier) ;) (declaration "double *in_stack_00000020;" primitive_type (pointer_declarator "*in_stack_00000020" * identifier) ;) (if_statement "if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" if (parenthesized_expression "(in_stack_00000018 == (double *)0x0)" ( (binary_expression "in_stack_00000018 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5694" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" if (parenthesized_expression "(in_stack_0000001c != (double *)0x0)" ( (binary_expression "in_stack_0000001c != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" { (if_statement "if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" if (parenthesized_expression "(in_stack_00000020 != (double *)0x0)" ( (binary_expression "in_stack_00000020 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" { (expression_statement "dVar3 = in_stack_00000010;" (assignment_expression "dVar3 = in_stack_00000010" identifier = identifier) ;) (if_statement "if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }" if (parenthesized_expression "(in_stack_00000010 < param_2)" ( (binary_expression "in_stack_00000010 < param_2" identifier < identifier) )) (compound_statement "{\n        dVar3 = param_2;\n      }" { (expression_statement "dVar3 = param_2;" (assignment_expression "dVar3 = param_2" identifier = identifier) ;) })) (expression_statement "dVar1 = param_1;" (assignment_expression "dVar1 = param_1" identifier = identifier) ;) (if_statement "if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }" if (parenthesized_expression "(param_1 <= dVar3)" ( (binary_expression "param_1 <= dVar3" identifier <= identifier) )) (compound_statement "{\n        dVar1 = dVar3;\n      }" { (expression_statement "dVar1 = dVar3;" (assignment_expression "dVar1 = dVar3" identifier = identifier) ;) })) (expression_statement "dVar3 = in_stack_00000010;" (assignment_expression "dVar3 = in_stack_00000010" identifier = identifier) ;) (if_statement "if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }" if (parenthesized_expression "(param_2 < in_stack_00000010)" ( (binary_expression "param_2 < in_stack_00000010" identifier < identifier) )) (compound_statement "{\n        dVar3 = param_2;\n      }" { (expression_statement "dVar3 = param_2;" (assignment_expression "dVar3 = param_2" identifier = identifier) ;) })) (expression_statement "dVar2 = param_1;" (assignment_expression "dVar2 = param_1" identifier = identifier) ;) (if_statement "if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }" if (parenthesized_expression "(dVar3 <= param_1)" ( (binary_expression "dVar3 <= param_1" identifier <= identifier) )) (compound_statement "{\n        dVar2 = dVar3;\n      }" { (expression_statement "dVar2 = dVar3;" (assignment_expression "dVar2 = dVar3" identifier = identifier) ;) })) (expression_statement "dVar2 = dVar1 - dVar2;" (assignment_expression "dVar2 = dVar1 - dVar2" identifier = (binary_expression "dVar1 - dVar2" identifier - identifier)) ;) (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }" if (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2))" ( (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) )))) <= (call_expression "ABS(dVar2)" identifier (argument_list "(dVar2)" ( identifier )))) )) (compound_statement "{\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }" { (if_statement "if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" if (parenthesized_expression "(ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" ( (binary_expression "ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(param_1 - dVar1)" identifier (argument_list "(param_1 - dVar1)" ( (binary_expression "param_1 - dVar1" identifier - identifier) ))) < (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) ))))) )) (compound_statement "{\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }" { (expression_statement "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));" (assignment_expression "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" identifier = (cast_expression "(double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" (parenthesized_expression "(*(code *)PTR_fmod_003fa9d0)" ( (pointer_expression "*(code *)PTR_fmod_003fa9d0" * (cast_expression "(code *)PTR_fmod_003fa9d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" ( (binary_expression "(param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290)" (binary_expression "(param_2 - in_stack_00000010) / dVar2" (parenthesized_expression "(param_2 - in_stack_00000010)" ( (binary_expression "param_2 - in_stack_00000010" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) ))))) , (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) )))) ))))) ;) }) (else_clause "else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" else (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" if (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1))" ( (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) )))) <= (call_expression "ABS(param_2 - dVar1)" identifier (argument_list "(param_2 - dVar1)" ( (binary_expression "param_2 - dVar1" identifier - identifier) )))) )) (compound_statement "{\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }" { (if_statement "if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }" if (parenthesized_expression "(ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" ( (binary_expression "ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(in_stack_00000010 - dVar1)" identifier (argument_list "(in_stack_00000010 - dVar1)" ( (binary_expression "in_stack_00000010 - dVar1" identifier - identifier) ))) < (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43c8" identifier + number_literal) ))))) )) (compound_statement "{\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }" { (expression_statement "dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);" (assignment_expression "dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" identifier = (binary_expression "(param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" (binary_expression "(param_1 - param_2) / dVar2" (parenthesized_expression "(param_1 - param_2)" ( (binary_expression "param_1 - param_2" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xa48)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xa48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xa48)" ( (binary_expression "PTR_UINT_003f98e4 + -0xa48" identifier + number_literal) )))))) ;) }) (else_clause "else {\n            dVar3 = 0.0;\n          }" else (compound_statement "{\n            dVar3 = 0.0;\n          }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" else (compound_statement "{\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" { (expression_statement "dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);" (assignment_expression "dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" identifier = (binary_expression "(in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" (binary_expression "(in_stack_00000010 - param_1) / dVar2" (parenthesized_expression "(in_stack_00000010 - param_1)" ( (binary_expression "in_stack_00000010 - param_1" identifier - identifier) )) / identifier) + (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x298)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x298)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x298)" ( (binary_expression "PTR_UINT_003f98e4 + 0x298" identifier + number_literal) )))))) ;) }))))) }) (else_clause "else {\n        dVar3 = 0.0;\n      }" else (compound_statement "{\n        dVar3 = 0.0;\n      }" { (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" identifier = number_literal) ;) }))) (expression_statement "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);" (assignment_expression "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" (pointer_expression "*in_stack_00000018" * identifier) = (binary_expression "dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" identifier / (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" ( (binary_expression "PTR_UINT_003f98e4 + 0x290" identifier + number_literal) )))))) ;) (expression_statement "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);" (assignment_expression "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x4410)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x4410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4410)" ( (binary_expression "PTR_LAB_003f98e0 + 0x4410" identifier + number_literal) ))))) ;) (expression_statement "*in_stack_0000001c = dVar2 * dVar3;" (assignment_expression "*in_stack_0000001c = dVar2 * dVar3" (pointer_expression "*in_stack_0000001c" * identifier) = (binary_expression "dVar2 * dVar3" identifier * identifier)) ;) (expression_statement "*in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;" (assignment_expression "*in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (pointer_expression "*in_stack_00000020" * identifier) = (binary_expression "(in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (parenthesized_expression "(in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48))" ( (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)" (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58)" (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe30)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe30)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe30" identifier + number_literal) ))))) + (binary_expression "param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe58)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe58)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe58" identifier + number_literal) )))))) + (binary_expression "param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)" identifier * (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe48)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe48)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe48" identifier + number_literal) )))))) )) * identifier)) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5660" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" ( (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x567c" identifier + number_literal) , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (call_expression IDENT (argument_list ( IDENT )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) ))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) ))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / 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 = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / 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 = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) + (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) * IDENT)) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_000f70b0(double param_1,double param_2)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000f70b0(double param_1,double param_2)" (identifier "FUN_000f70b0") (parameter_list "(double param_1,double param_2)" (( "(") (parameter_declaration "double param_1" (primitive_type "double") (identifier "param_1")) (, ",") (parameter_declaration "double param_2" (primitive_type "double") (identifier "param_2")) () ")"))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double in_stack_00000010;\n  double *in_stack_00000018;\n  double *in_stack_0000001c;\n  double *in_stack_00000020;\n  \n  if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }\n  (*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);\n  return;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "double dVar2;" (primitive_type "double") (identifier "dVar2") (; ";")) (declaration "double dVar3;" (primitive_type "double") (identifier "dVar3") (; ";")) (declaration "double in_stack_00000010;" (primitive_type "double") (identifier "in_stack_00000010") (; ";")) (declaration "double *in_stack_00000018;" (primitive_type "double") (pointer_declarator "*in_stack_00000018" (* "*") (identifier "in_stack_00000018")) (; ";")) (declaration "double *in_stack_0000001c;" (primitive_type "double") (pointer_declarator "*in_stack_0000001c" (* "*") (identifier "in_stack_0000001c")) (; ";")) (declaration "double *in_stack_00000020;" (primitive_type "double") (pointer_declarator "*in_stack_00000020" (* "*") (identifier "in_stack_00000020")) (; ";")) (if_statement "if (in_stack_00000018 == (double *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" (if "if") (parenthesized_expression "(in_stack_00000018 == (double *)0x0)" (( "(") (binary_expression "in_stack_00000018 == (double *)0x0" (identifier "in_stack_00000018") (== "==") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003fa620" (* "*") (cast_expression "(code *)PTR___assert_fail_003fa620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003fa620"))) () ")")) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (( "(") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5694" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x5694")) (, ",") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x56a8")) (, ",") (number_literal "0x39a") (, ",") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x5398")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (in_stack_0000001c != (double *)0x0) {\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" (if "if") (parenthesized_expression "(in_stack_0000001c != (double *)0x0)" (( "(") (binary_expression "in_stack_0000001c != (double *)0x0" (identifier "in_stack_0000001c") (!= "!=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);\n    return;\n  }" ({ "{") (if_statement "if (in_stack_00000020 != (double *)0x0) {\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" (if "if") (parenthesized_expression "(in_stack_00000020 != (double *)0x0)" (( "(") (binary_expression "in_stack_00000020 != (double *)0x0" (identifier "in_stack_00000020") (!= "!=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      dVar3 = in_stack_00000010;\n      if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }\n      dVar1 = param_1;\n      if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }\n      dVar3 = in_stack_00000010;\n      if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }\n      dVar2 = param_1;\n      if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }\n      dVar2 = dVar1 - dVar2;\n      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }\n      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);\n      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);\n      *in_stack_0000001c = dVar2 * dVar3;\n      *in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;\n      return;\n    }" ({ "{") (expression_statement "dVar3 = in_stack_00000010;" (assignment_expression "dVar3 = in_stack_00000010" (identifier "dVar3") (= "=") (identifier "in_stack_00000010")) (; ";")) (if_statement "if (in_stack_00000010 < param_2) {\n        dVar3 = param_2;\n      }" (if "if") (parenthesized_expression "(in_stack_00000010 < param_2)" (( "(") (binary_expression "in_stack_00000010 < param_2" (identifier "in_stack_00000010") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n        dVar3 = param_2;\n      }" ({ "{") (expression_statement "dVar3 = param_2;" (assignment_expression "dVar3 = param_2" (identifier "dVar3") (= "=") (identifier "param_2")) (; ";")) (} "}"))) (expression_statement "dVar1 = param_1;" (assignment_expression "dVar1 = param_1" (identifier "dVar1") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (param_1 <= dVar3) {\n        dVar1 = dVar3;\n      }" (if "if") (parenthesized_expression "(param_1 <= dVar3)" (( "(") (binary_expression "param_1 <= dVar3" (identifier "param_1") (<= "<=") (identifier "dVar3")) () ")")) (compound_statement "{\n        dVar1 = dVar3;\n      }" ({ "{") (expression_statement "dVar1 = dVar3;" (assignment_expression "dVar1 = dVar3" (identifier "dVar1") (= "=") (identifier "dVar3")) (; ";")) (} "}"))) (expression_statement "dVar3 = in_stack_00000010;" (assignment_expression "dVar3 = in_stack_00000010" (identifier "dVar3") (= "=") (identifier "in_stack_00000010")) (; ";")) (if_statement "if (param_2 < in_stack_00000010) {\n        dVar3 = param_2;\n      }" (if "if") (parenthesized_expression "(param_2 < in_stack_00000010)" (( "(") (binary_expression "param_2 < in_stack_00000010" (identifier "param_2") (< "<") (identifier "in_stack_00000010")) () ")")) (compound_statement "{\n        dVar3 = param_2;\n      }" ({ "{") (expression_statement "dVar3 = param_2;" (assignment_expression "dVar3 = param_2" (identifier "dVar3") (= "=") (identifier "param_2")) (; ";")) (} "}"))) (expression_statement "dVar2 = param_1;" (assignment_expression "dVar2 = param_1" (identifier "dVar2") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (dVar3 <= param_1) {\n        dVar2 = dVar3;\n      }" (if "if") (parenthesized_expression "(dVar3 <= param_1)" (( "(") (binary_expression "dVar3 <= param_1" (identifier "dVar3") (<= "<=") (identifier "param_1")) () ")")) (compound_statement "{\n        dVar2 = dVar3;\n      }" ({ "{") (expression_statement "dVar2 = dVar3;" (assignment_expression "dVar2 = dVar3" (identifier "dVar2") (= "=") (identifier "dVar3")) (; ";")) (} "}"))) (expression_statement "dVar2 = dVar1 - dVar2;" (assignment_expression "dVar2 = dVar1 - dVar2" (identifier "dVar2") (= "=") (binary_expression "dVar1 - dVar2" (identifier "dVar1") (- "-") (identifier "dVar2"))) (; ";")) (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }\n      else {\n        dVar3 = 0.0;\n      }" (if "if") (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2))" (( "(") (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" (* "*") (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x43c8" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x43c8")) () ")")))) (<= "<=") (call_expression "ABS(dVar2)" (identifier "ABS") (argument_list "(dVar2)" (( "(") (identifier "dVar2") () ")")))) () ")")) (compound_statement "{\n        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }\n      }" ({ "{") (if_statement "if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }\n        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" (if "if") (parenthesized_expression "(ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" (( "(") (binary_expression "ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(param_1 - dVar1)" (identifier "ABS") (argument_list "(param_1 - dVar1)" (( "(") (binary_expression "param_1 - dVar1" (identifier "param_1") (- "-") (identifier "dVar1")) () ")"))) (< "<") (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" (* "*") (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x43c8" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x43c8")) () ")"))))) () ")")) (compound_statement "{\n          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));\n        }" ({ "{") (expression_statement "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290));" (assignment_expression "dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" (identifier "dVar3") (= "=") (cast_expression "(double)(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_fmod_003fa9d0)\n                                    ((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" (parenthesized_expression "(*(code *)PTR_fmod_003fa9d0)" (( "(") (pointer_expression "*(code *)PTR_fmod_003fa9d0" (* "*") (cast_expression "(code *)PTR_fmod_003fa9d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fmod_003fa9d0"))) () ")")) (argument_list "((param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290),\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290))" (( "(") (binary_expression "(param_2 - in_stack_00000010) / dVar2 +\n                                     *(double *)(PTR_UINT_003f98e4 + 0x290)" (binary_expression "(param_2 - in_stack_00000010) / dVar2" (parenthesized_expression "(param_2 - in_stack_00000010)" (( "(") (binary_expression "param_2 - in_stack_00000010" (identifier "param_2") (- "-") (identifier "in_stack_00000010")) () ")")) (/ "/") (identifier "dVar2")) (+ "+") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" (( "(") (binary_expression "PTR_UINT_003f98e4 + 0x290" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "0x290")) () ")"))))) (, ",") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" (( "(") (binary_expression "PTR_UINT_003f98e4 + 0x290" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "0x290")) () ")")))) () ")"))))) (; ";")) (} "}")) (else_clause "else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" (else "else") (if_statement "if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }\n        else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" (if "if") (parenthesized_expression "(*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1))" (( "(") (binary_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)" (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" (* "*") (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x43c8" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x43c8")) () ")")))) (<= "<=") (call_expression "ABS(param_2 - dVar1)" (identifier "ABS") (argument_list "(param_2 - dVar1)" (( "(") (binary_expression "param_2 - dVar1" (identifier "param_2") (- "-") (identifier "dVar1")) () ")")))) () ")")) (compound_statement "{\n          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }\n        }" ({ "{") (if_statement "if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }\n          else {\n            dVar3 = 0.0;\n          }" (if "if") (parenthesized_expression "(ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8))" (( "(") (binary_expression "ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)" (call_expression "ABS(in_stack_00000010 - dVar1)" (identifier "ABS") (argument_list "(in_stack_00000010 - dVar1)" (( "(") (binary_expression "in_stack_00000010 - dVar1" (identifier "in_stack_00000010") (- "-") (identifier "dVar1")) () ")"))) (< "<") (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43c8)" (* "*") (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43c8)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x43c8" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x43c8")) () ")"))))) () ")")) (compound_statement "{\n            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);\n          }" ({ "{") (expression_statement "dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);" (assignment_expression "dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" (identifier "dVar3") (= "=") (binary_expression "(param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48)" (binary_expression "(param_1 - param_2) / dVar2" (parenthesized_expression "(param_1 - param_2)" (( "(") (binary_expression "param_1 - param_2" (identifier "param_1") (- "-") (identifier "param_2")) () ")")) (/ "/") (identifier "dVar2")) (+ "+") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xa48)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xa48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + -0xa48)" (( "(") (binary_expression "PTR_UINT_003f98e4 + -0xa48" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "-0xa48")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n            dVar3 = 0.0;\n          }" (else "else") (compound_statement "{\n            dVar3 = 0.0;\n          }" ({ "{") (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" (identifier "dVar3") (= "=") (number_literal "0.0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" (else "else") (compound_statement "{\n          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);\n        }" ({ "{") (expression_statement "dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);" (assignment_expression "dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" (identifier "dVar3") (= "=") (binary_expression "(in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298)" (binary_expression "(in_stack_00000010 - param_1) / dVar2" (parenthesized_expression "(in_stack_00000010 - param_1)" (( "(") (binary_expression "in_stack_00000010 - param_1" (identifier "in_stack_00000010") (- "-") (identifier "param_1")) () ")")) (/ "/") (identifier "dVar2")) (+ "+") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x298)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x298)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + 0x298)" (( "(") (binary_expression "PTR_UINT_003f98e4 + 0x298" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "0x298")) () ")")))))) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n        dVar3 = 0.0;\n      }" (else "else") (compound_statement "{\n        dVar3 = 0.0;\n      }" ({ "{") (expression_statement "dVar3 = 0.0;" (assignment_expression "dVar3 = 0.0" (identifier "dVar3") (= "=") (number_literal "0.0")) (; ";")) (} "}")))) (expression_statement "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);" (assignment_expression "*in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" (pointer_expression "*in_stack_00000018" (* "*") (identifier "in_stack_00000018")) (= "=") (binary_expression "dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290)" (identifier "dVar3") (/ "/") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x290)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x290)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + 0x290)" (( "(") (binary_expression "PTR_UINT_003f98e4 + 0x290" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "0x290")) () ")")))))) (; ";")) (expression_statement "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);" (assignment_expression "dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410)" (identifier "dVar3") (= "=") (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x4410)" (* "*") (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x4410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4410)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x4410" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x4410")) () ")"))))) (; ";")) (expression_statement "*in_stack_0000001c = dVar2 * dVar3;" (assignment_expression "*in_stack_0000001c = dVar2 * dVar3" (pointer_expression "*in_stack_0000001c" (* "*") (identifier "in_stack_0000001c")) (= "=") (binary_expression "dVar2 * dVar3" (identifier "dVar2") (* "*") (identifier "dVar3"))) (; ";")) (expression_statement "*in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;" (assignment_expression "*in_stack_00000020 =\n           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (pointer_expression "*in_stack_00000020" (* "*") (identifier "in_stack_00000020")) (= "=") (binary_expression "(in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3" (parenthesized_expression "(in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48))" (( "(") (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +\n           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)" (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +\n           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58)" (binary_expression "in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30)" (identifier "in_stack_00000010") (* "*") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe30)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe30)" (( "(") (binary_expression "PTR_UINT_003f98e4 + -0xe30" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "-0xe30")) () ")"))))) (+ "+") (binary_expression "param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58)" (identifier "param_1") (* "*") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe58)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe58)" (( "(") (binary_expression "PTR_UINT_003f98e4 + -0xe58" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "-0xe58")) () ")")))))) (+ "+") (binary_expression "param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)" (identifier "param_2") (* "*") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe48)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe48)" (( "(") (binary_expression "PTR_UINT_003f98e4 + -0xe48" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "-0xe48")) () ")")))))) () ")")) (* "*") (identifier "dVar3"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003fa620" (* "*") (cast_expression "(code *)PTR___assert_fail_003fa620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003fa620"))) () ")")) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,\n               PTR_s_ltiple_images_003f98e8 + -0x5398)" (( "(") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5660" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x5660")) (, ",") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x56a8")) (, ",") (number_literal "0x39c") (, ",") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x5398")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003fa620" (* "*") (cast_expression "(code *)PTR___assert_fail_003fa620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003fa620"))) () ")")) (argument_list "(PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,\n             PTR_s_ltiple_images_003f98e8 + -0x5398)" (( "(") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x567c" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x567c")) (, ",") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x56a8" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x56a8")) (, ",") (number_literal "0x39b") (, ",") (binary_expression "PTR_s_ltiple_images_003f98e8 + -0x5398" (identifier "PTR_s_ltiple_images_003f98e8") (+ "+") (number_literal "-0x5398")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(double var_7,double var_6,double var_5,double *hue,double *chroma,double *luma)

{
  double var_9;
  double var_10;
  double var_8;
  double *var_1;
  double *var_3;
  double *var_4;
  
  if (var_1 == (double *)0x0) {
    (*(type_1 *)PTR___assert_fail_003fa620)
              (var_2 + -0x5694,var_2 + -0x56a8,0x39a,
               var_2 + -0x5398);
    return;
  }
  if (var_3 != (double *)0x0) {
    if (var_4 != (double *)0x0) {
      var_8 = var_5;
      if (var_5 < var_6) {
        var_8 = var_6;
      }
      var_9 = var_7;
      if (var_7 <= var_8) {
        var_9 = var_8;
      }
      var_8 = var_5;
      if (var_6 < var_5) {
        var_8 = var_6;
      }
      var_10 = var_7;
      if (var_8 <= var_7) {
        var_10 = var_8;
      }
      var_10 = var_9 - var_10;
      if (*(double *)(var_11 + 0x43c8) <= var_12(var_10)) {
        if (var_12(var_7 - var_9) < *(double *)(var_11 + 0x43c8)) {
          var_8 = (double)(*(type_1 *)PTR_fmod_003fa9d0)
                                    ((var_6 - var_5) / var_10 + *(double *)(var_13 + 0x290)
                                     ,*(double *)(var_13 + 0x290));
        }
        else if (*(double *)(var_11 + 0x43c8) <= var_12(var_6 - var_9)) {
          if (var_12(var_5 - var_9) < *(double *)(var_11 + 0x43c8)) {
            var_8 = (var_7 - var_6) / var_10 + *(double *)(var_13 + -0xa48);
          }
          else {
            var_8 = 0.0;
          }
        }
        else {
          var_8 = (var_5 - var_7) / var_10 + *(double *)(var_13 + 0x298);
        }
      }
      else {
        var_8 = 0.0;
      }
      *var_1 = var_8 / *(double *)(var_13 + 0x290);
      var_8 = *(double *)(var_11 + 0x4410);
      *var_3 = var_10 * var_8;
      *var_4 =
           (var_5 * *(double *)(var_13 + -0xe30) +
           var_7 * *(double *)(var_13 + -0xe58) +
           var_6 * *(double *)(var_13 + -0xe48)) * var_8;
      return;
    }
    (*(type_1 *)PTR___assert_fail_003fa620)
              (var_2 + -0x5660,var_2 + -0x56a8,0x39c,
               var_2 + -0x5398);
    return;
  }
  (*(type_1 *)PTR___assert_fail_003fa620)
            (var_2 + -0x567c,var_2 + -0x56a8,0x39b,
             var_2 + -0x5398);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))) (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))) (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))) (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: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (pointer_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 (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: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (identifier)))) (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))

void MASKED(double param_1,double param_2)

{
  double dVar1;
  double dVar2;
  double dVar3;
  double in_stack_00000010;
  double *in_stack_00000018;
  double *in_stack_0000001c;
  double *in_stack_00000020;
  
  if (in_stack_00000018 == (double *)0x0) {
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_ltiple_images_003f98e8 + -0x5694,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39a,
               PTR_s_ltiple_images_003f98e8 + -0x5398);
    return;
  }
  if (in_stack_0000001c != (double *)0x0) {
    if (in_stack_00000020 != (double *)0x0) {
      dVar3 = in_stack_00000010;
      if (in_stack_00000010 < param_2) {
        dVar3 = param_2;
      }
      dVar1 = param_1;
      if (param_1 <= dVar3) {
        dVar1 = dVar3;
      }
      dVar3 = in_stack_00000010;
      if (param_2 < in_stack_00000010) {
        dVar3 = param_2;
      }
      dVar2 = param_1;
      if (dVar3 <= param_1) {
        dVar2 = dVar3;
      }
      dVar2 = dVar1 - dVar2;
      if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(dVar2)) {
        if (ABS(param_1 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {
          dVar3 = (double)(*(code *)PTR_fmod_003fa9d0)
                                    ((param_2 - in_stack_00000010) / dVar2 +
                                     *(double *)(PTR_UINT_003f98e4 + 0x290),
                                     *(double *)(PTR_UINT_003f98e4 + 0x290));
        }
        else if (*(double *)(PTR_LAB_003f98e0 + 0x43c8) <= ABS(param_2 - dVar1)) {
          if (ABS(in_stack_00000010 - dVar1) < *(double *)(PTR_LAB_003f98e0 + 0x43c8)) {
            dVar3 = (param_1 - param_2) / dVar2 + *(double *)(PTR_UINT_003f98e4 + -0xa48);
          }
          else {
            dVar3 = 0.0;
          }
        }
        else {
          dVar3 = (in_stack_00000010 - param_1) / dVar2 + *(double *)(PTR_UINT_003f98e4 + 0x298);
        }
      }
      else {
        dVar3 = 0.0;
      }
      *in_stack_00000018 = dVar3 / *(double *)(PTR_UINT_003f98e4 + 0x290);
      dVar3 = *(double *)(PTR_LAB_003f98e0 + 0x4410);
      *in_stack_0000001c = dVar2 * dVar3;
      *in_stack_00000020 =
           (in_stack_00000010 * *(double *)(PTR_UINT_003f98e4 + -0xe30) +
           param_1 * *(double *)(PTR_UINT_003f98e4 + -0xe58) +
           param_2 * *(double *)(PTR_UINT_003f98e4 + -0xe48)) * dVar3;
      return;
    }
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_ltiple_images_003f98e8 + -0x5660,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39c,
               PTR_s_ltiple_images_003f98e8 + -0x5398);
    return;
  }
  (*(code *)PTR___assert_fail_003fa620)
            (PTR_s_ltiple_images_003f98e8 + -0x567c,PTR_s_ltiple_images_003f98e8 + -0x56a8,0x39b,
             PTR_s_ltiple_images_003f98e8 + -0x5398);
  return;
}

