// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/eps.c
// Function: plot_decision_leaf_model
void plot_decision_leaf_model(FILE* outfile, Decisionnodeptr rootnode, Point p, int radius)
{
 Prediction predicted, predictedold;
 double output, input1, input2, prevoutput;
 double min1 = current_dataset->features[0].min.floatvalue, max1 = current_dataset->features[0].max.floatvalue;
 double min2 = current_dataset->features[1].min.floatvalue, max2 = current_dataset->features[1].max.floatvalue; 
 int i, j, posx1, posx2, posy1, posy2, width = (2 * WIDTHFACTOR - 0.5) * radius, height = width, left = p.x - width / 2, right = p.x + width / 2, top = p.y - 2 * radius, bottom = p.y - 2 * radius - height;
 write_rectangle(outfile, left, top, right, bottom, FILL_NONE, BLACK);
 setcolor(outfile, RED);
 for (i = 1; i < width; i++)
  {
   input1 = ((min1 + i * ((max1 - min1) / width)) - mean.values[0].floatvalue) / sqrt(variance.values[0].floatvalue);
   for (j = 1; j < width; j++)
    {
     input2 = ((min2 + j * ((max2 - min2) / width)) - mean.values[1].floatvalue) / sqrt(variance.values[1].floatvalue);      
     output = sigmoid(soft_output_of_subdecisiontree(rootnode, input1, input2));
     if (output > 0.5)
       predicted.classno = 1;
     else
       predicted.classno = 0;
     if (predictedold.classno != predicted.classno && j != 1)
       write_string(outfile, left + i, bottom + j, ".", ALIGN_LEFT);
     predictedold = predicted;
    }
  }
 for (i = width - 1; i > 0; i--)
  {
   input1 = ((min1 + i * ((max1 - min1) / width)) - mean.values[0].floatvalue) / sqrt(variance.values[0].floatvalue);
   for (j = width - 1; j > 0; j--)
    {
     input2 = ((min2 + j * ((max2 - min2) / width)) - mean.values[1].floatvalue) / sqrt(variance.values[1].floatvalue);      
     output = sigmoid(soft_output_of_subdecisiontree(rootnode, input1, input2));
     if (output > 0.5)
       predicted.classno = 1;
     else
       predicted.classno = 0;
     if (predictedold.classno != predicted.classno && j != width - 1)
       write_string(outfile, left + i, bottom + j, ".", ALIGN_LEFT);
     predictedold = predicted;
    }
  }
 for (i = 1; i < width; i++)
  {
   input2 = ((min2 + i * ((max2 - min2) / width)) - mean.values[1].floatvalue) / sqrt(variance.values[1].floatvalue);
   for (j = 1; j < width; j++)
    {
     input1 = ((min1 + j * ((max1 - min1) / width)) - mean.values[0].floatvalue) / sqrt(variance.values[0].floatvalue);      
     output = sigmoid(soft_output_of_subdecisiontree(rootnode, input1, input2));
     if (output > 0.5)
       predicted.classno = 1;
     else
       predicted.classno = 0;
     if (predictedold.classno != predicted.classno && j != 1)
       write_string(outfile, left + j, bottom + i, ".", ALIGN_LEFT);
     predictedold = predicted;
    }
  }
 for (i = width - 1; i > 0; i--)
  {
   input2 = ((min2 + i * ((max2 - min2) / width)) - mean.values[1].floatvalue) / sqrt(variance.values[1].floatvalue);
   for (j = width - 1; j > 0; j--)
    {
     input1 = ((min1 + j * ((max1 - min1) / width)) - mean.values[0].floatvalue) / sqrt(variance.values[0].floatvalue);      
     output = sigmoid(soft_output_of_subdecisiontree(rootnode, input1, input2));
     if (output > 0.5)
       predicted.classno = 1;
     else
       predicted.classno = 0;
     if (predictedold.classno != predicted.classno && j != width - 1)
       write_string(outfile, left + j, bottom + i, ".", ALIGN_LEFT);
     predictedold = predicted;
    }
  }
 setcolor(outfile, BLACK); 
 if (rootnode->featureno != LEAF_NODE)
  {  
   for (i = 0; i < width; i++)
    {
     input1 = ((min1 + i * ((max1 - min1) / width)) - mean.values[0].floatvalue) / sqrt(variance.values[0].floatvalue);
     input2 = -(rootnode->w.values[0][0] + rootnode->w.values[1][0] * input1) / rootnode->w.values[2][0];
     output = input2 * sqrt(variance.values[1].floatvalue) + mean.values[1].floatvalue;
     if (i != 0 && output >= min2 && output <= max2 && prevoutput >= min2 && prevoutput <= max2)
      {
       posy1 = return_pos(prevoutput, bottom, top, min2, max2);
       posy2 = return_pos(output, bottom, top, min2, max2);
       write_line(outfile, left + i - 1, posy1, left + i, posy2);            
      }
     prevoutput = output;
    }
   for (i = 0; i < width; i++)
    {
     input2 = ((min2 + i * ((max2 - min2) / width)) - mean.values[1].floatvalue) / sqrt(variance.values[1].floatvalue);
     input1 = -(rootnode->w.values[0][0] + rootnode->w.values[2][0] * input2) / rootnode->w.values[1][0];
     output = input1 * sqrt(variance.values[0].floatvalue) + mean.values[0].floatvalue;
     if (i != 0 && output >= min1 && output <= max1 && prevoutput >= min1 && prevoutput <= max1)
      {
       posx1 = return_pos(prevoutput, left, right, min1, max1);
       posx2 = return_pos(output, left, right, min1, max1);
       write_line(outfile, posx1, bottom + i - 1, posx2, bottom + i);            
      }
     prevoutput = output;
    }
  }
 else
   if (rootnode->leaftype == CONSTANTLEAF)
    {
     for (i = 0; i < width; i++)
      {
       input1 = ((min1 + i * ((max1 - min1) / width)) - mean.values[0].floatvalue) / sqrt(variance.values[0].floatvalue);
       for (j = 0; j < width; j++)
        {
         input2 = ((min2 + j * ((max2 - min2) / width)) - mean.values[1].floatvalue) / sqrt(variance.values[1].floatvalue);      
         output = sigmoid(soft_output_of_subdecisiontree(rootnode, input1, input2));
         fprintf(outfile, "%.3f %.3f %.3f setrgbcolor\n", 1 - output, 1 - output, 1 - output);
         write_string(outfile, left + i, bottom + j, ".", ALIGN_CENTER);
        }
      }     
    }
 setcolor(outfile, BLACK);     
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movl %edx, -0x24(%rbp)
leaq 0xd2519(%rip), %rax     # 0x105840
movq (%rax), %rax
movsd 0x30f10(%rax), %xmm0
movsd %xmm0, -0xc0(%rbp)
leaq 0xd24ff(%rip), %rax     # 0x105840
movq (%rax), %rax
movsd 0x30f18(%rax), %xmm0
movsd %xmm0, -0xc8(%rbp)
leaq 0xd24e5(%rip), %rax     # 0x105840
movq (%rax), %rax
movsd 0x31250(%rax), %xmm0
movsd %xmm0, -0xd0(%rbp)
leaq 0xd24cb(%rip), %rax     # 0x105840
movq (%rax), %rax
movsd 0x31258(%rax), %xmm0
movsd %xmm0, -0xd8(%rbp)
cvtsi2sdl -0x24(%rbp), %xmm1
movsd 0xb15cb(%rip), %xmm0    # 0xe4960
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0xf4(%rbp)
movl -0xf4(%rbp), %eax
movl %eax, -0xf8(%rbp)
movsd -0x10(%rbp), %xmm0
movl -0xf4(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cvtsi2sd %eax, %xmm1
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0xfc(%rbp)
movsd -0x10(%rbp), %xmm0
movl -0xf4(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cvtsi2sd %eax, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x100(%rbp)
movsd -0x8(%rbp), %xmm0
movl -0x24(%rbp), %eax
shll %eax
cvtsi2sd %eax, %xmm1
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x104(%rbp)
movsd -0x8(%rbp), %xmm0
movl -0x24(%rbp), %eax
shll %eax
cvtsi2sd %eax, %xmm1
subsd %xmm1, %xmm0
cvtsi2sdl -0xf8(%rbp), %xmm1
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x108(%rbp)
movq -0x18(%rbp), %rdi
movl -0xfc(%rbp), %esi
movl -0x104(%rbp), %edx
movl -0x100(%rbp), %ecx
movl -0x108(%rbp), %r8d
xorl %r9d, %r9d
movl $0x0, (%rsp)
callq 0x32d30
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x31ae0
movl $0x1, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x33663
movsd -0xc0(%rbp), %xmm1
cvtsi2sdl -0xdc(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm2
subsd -0xc0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3aeaaa(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x110(%rbp)
leaq 0x3aeac4(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd (%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x110(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movl $0x1, -0xe0(%rbp)
movl -0xe0(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x3364d
movsd -0xd0(%rbp), %xmm1
cvtsi2sdl -0xe0(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm2
subsd -0xd0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3aea1a(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd 0x8(%rax), %xmm0
movsd %xmm0, -0x118(%rbp)
leaq 0x3aea33(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x118(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movq -0x20(%rbp), %rdi
movsd -0xa8(%rbp), %xmm0
movsd -0xb0(%rbp), %xmm1
callq 0x2b030
callq 0x7aab0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd 0xaf3e9(%rip), %xmm1    # 0xe29b8
ucomisd %xmm1, %xmm0
jbe 0x335de
movl $0x1, -0x58(%rbp)
jmp 0x335e5
movl $0x0, -0x58(%rbp)
movl -0x90(%rbp), %eax
cmpl -0x58(%rbp), %eax
je 0x33624
cmpl $0x1, -0xe0(%rbp)
je 0x33624
movq -0x18(%rbp), %rdi
movl -0xfc(%rbp), %esi
addl -0xdc(%rbp), %esi
movl -0x108(%rbp), %edx
addl -0xe0(%rbp), %edx
leaq 0xb94ef(%rip), %rcx     # 0xecb0b
xorl %r8d, %r8d
callq 0x32c00
leaq -0x98(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movl $0x38, %edx
callq 0x42b0
movl -0xe0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0x33511
jmp 0x3364f
movl -0xdc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0x33481
movl -0xf4(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xdc(%rbp)
cmpl $0x0, -0xdc(%rbp)
jle 0x33859
movsd -0xc0(%rbp), %xmm1
cvtsi2sdl -0xdc(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm2
subsd -0xc0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae8be(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x120(%rbp)
leaq 0x3ae8d8(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd (%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x120(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movl -0xf4(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe0(%rbp)
cmpl $0x0, -0xe0(%rbp)
jle 0x33843
movsd -0xd0(%rbp), %xmm1
cvtsi2sdl -0xe0(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm2
subsd -0xd0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae82e(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd 0x8(%rax), %xmm0
movsd %xmm0, -0x128(%rbp)
leaq 0x3ae847(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x128(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movq -0x20(%rbp), %rdi
movsd -0xa8(%rbp), %xmm0
movsd -0xb0(%rbp), %xmm1
callq 0x2b030
callq 0x7aab0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd 0xaf1fd(%rip), %xmm1    # 0xe29b8
ucomisd %xmm1, %xmm0
jbe 0x337ca
movl $0x1, -0x58(%rbp)
jmp 0x337d1
movl $0x0, -0x58(%rbp)
movl -0x90(%rbp), %eax
cmpl -0x58(%rbp), %eax
je 0x3381a
movl -0xe0(%rbp), %eax
movl -0xf4(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
je 0x3381a
movq -0x18(%rbp), %rdi
movl -0xfc(%rbp), %esi
addl -0xdc(%rbp), %esi
movl -0x108(%rbp), %edx
addl -0xe0(%rbp), %edx
leaq 0xb92f9(%rip), %rcx     # 0xecb0b
xorl %r8d, %r8d
callq 0x32c00
leaq -0x98(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movl $0x38, %edx
callq 0x42b0
movl -0xe0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0x33702
jmp 0x33845
movl -0xdc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0x33672
movl $0x1, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x33a45
movsd -0xd0(%rbp), %xmm1
cvtsi2sdl -0xdc(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm2
subsd -0xd0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae6c8(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd 0x8(%rax), %xmm0
movsd %xmm0, -0x130(%rbp)
leaq 0x3ae6e1(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x130(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movl $0x1, -0xe0(%rbp)
movl -0xe0(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x33a2f
movsd -0xc0(%rbp), %xmm1
cvtsi2sdl -0xe0(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm2
subsd -0xc0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae636(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x138(%rbp)
leaq 0x3ae650(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd (%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x138(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movq -0x20(%rbp), %rdi
movsd -0xa8(%rbp), %xmm0
movsd -0xb0(%rbp), %xmm1
callq 0x2b030
callq 0x7aab0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd 0xaf007(%rip), %xmm1    # 0xe29b8
ucomisd %xmm1, %xmm0
jbe 0x339c0
movl $0x1, -0x58(%rbp)
jmp 0x339c7
movl $0x0, -0x58(%rbp)
movl -0x90(%rbp), %eax
cmpl -0x58(%rbp), %eax
je 0x33a06
cmpl $0x1, -0xe0(%rbp)
je 0x33a06
movq -0x18(%rbp), %rdi
movl -0xfc(%rbp), %esi
addl -0xe0(%rbp), %esi
movl -0x108(%rbp), %edx
addl -0xdc(%rbp), %edx
leaq 0xb910d(%rip), %rcx     # 0xecb0b
xorl %r8d, %r8d
callq 0x32c00
leaq -0x98(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movl $0x38, %edx
callq 0x42b0
movl -0xe0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0x338f5
jmp 0x33a31
movl -0xdc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0x33863
movl -0xf4(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xdc(%rbp)
cmpl $0x0, -0xdc(%rbp)
jle 0x33c3b
movsd -0xd0(%rbp), %xmm1
cvtsi2sdl -0xdc(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm2
subsd -0xd0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae4dc(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd 0x8(%rax), %xmm0
movsd %xmm0, -0x140(%rbp)
leaq 0x3ae4f5(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x140(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movl -0xf4(%rbp), %eax
subl $0x1, %eax
movl %eax, -0xe0(%rbp)
cmpl $0x0, -0xe0(%rbp)
jle 0x33c25
movsd -0xc0(%rbp), %xmm1
cvtsi2sdl -0xe0(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm2
subsd -0xc0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae44a(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x148(%rbp)
leaq 0x3ae464(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd (%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x148(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movq -0x20(%rbp), %rdi
movsd -0xa8(%rbp), %xmm0
movsd -0xb0(%rbp), %xmm1
callq 0x2b030
callq 0x7aab0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd 0xaee1b(%rip), %xmm1    # 0xe29b8
ucomisd %xmm1, %xmm0
jbe 0x33bac
movl $0x1, -0x58(%rbp)
jmp 0x33bb3
movl $0x0, -0x58(%rbp)
movl -0x90(%rbp), %eax
cmpl -0x58(%rbp), %eax
je 0x33bfc
movl -0xe0(%rbp), %eax
movl -0xf4(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
je 0x33bfc
movq -0x18(%rbp), %rdi
movl -0xfc(%rbp), %esi
addl -0xe0(%rbp), %esi
movl -0x108(%rbp), %edx
addl -0xdc(%rbp), %edx
leaq 0xb8f17(%rip), %rcx     # 0xecb0b
xorl %r8d, %r8d
callq 0x32c00
leaq -0x98(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movl $0x38, %edx
callq 0x42b0
movl -0xe0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0x33ae6
jmp 0x33c27
movl -0xdc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0x33a54
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x31ae0
movq -0x20(%rbp), %rax
cmpl $-0x1, 0x30(%rax)
je 0x34112
movl $0x0, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x33eb0
movsd -0xc0(%rbp), %xmm1
cvtsi2sdl -0xdc(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm2
subsd -0xc0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae2cd(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x158(%rbp)
leaq 0x3ae2e7(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd (%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x158(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rax
movq (%rax), %rax
movsd (%rax), %xmm1
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rax
movq 0x8(%rax), %rax
movsd (%rax), %xmm0
movsd -0xa8(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rax
movq 0x10(%rax), %rax
divsd (%rax), %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd %xmm0, -0x150(%rbp)
leaq 0x3ae24f(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm2
movsd -0x150(%rbp), %xmm0
leaq 0x3ae200(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
movsd 0x8(%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
cmpl $0x0, -0xdc(%rbp)
je 0x33e8c
movsd -0xa0(%rbp), %xmm0
ucomisd -0xd0(%rbp), %xmm0
jb 0x33e8c
movsd -0xa0(%rbp), %xmm1
movsd -0xd8(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x33e8c
movsd -0xb8(%rbp), %xmm0
ucomisd -0xd0(%rbp), %xmm0
jb 0x33e8c
movsd -0xb8(%rbp), %xmm1
movsd -0xd8(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x33e8c
movsd -0xb8(%rbp), %xmm0
movl -0x108(%rbp), %edi
movl -0x104(%rbp), %esi
movsd -0xd0(%rbp), %xmm1
movsd -0xd8(%rbp), %xmm2
callq 0x42230
movl %eax, -0xec(%rbp)
movsd -0xa0(%rbp), %xmm0
movl -0x108(%rbp), %edi
movl -0x104(%rbp), %esi
movsd -0xd0(%rbp), %xmm1
movsd -0xd8(%rbp), %xmm2
callq 0x42230
movl %eax, -0xf0(%rbp)
movq -0x18(%rbp), %rdi
movl -0xfc(%rbp), %esi
addl -0xdc(%rbp), %esi
subl $0x1, %esi
movl -0xec(%rbp), %edx
movl -0xfc(%rbp), %ecx
addl -0xdc(%rbp), %ecx
movl -0xf0(%rbp), %r8d
callq 0x32a70
movsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0xb8(%rbp)
movl -0xdc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0x33c5e
movl $0x0, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x3410d
movsd -0xd0(%rbp), %xmm1
cvtsi2sdl -0xdc(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm2
subsd -0xd0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ae071(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd 0x8(%rax), %xmm0
movsd %xmm0, -0x168(%rbp)
leaq 0x3ae08a(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x168(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rax
movq (%rax), %rax
movsd (%rax), %xmm1
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rax
movq 0x10(%rax), %rax
movsd (%rax), %xmm0
movsd -0xb0(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rax
movq 0x8(%rax), %rax
divsd (%rax), %xmm0
movsd %xmm0, -0xa8(%rbp)
movsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0x160(%rbp)
leaq 0x3adff1(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd (%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm2
movsd -0x160(%rbp), %xmm0
leaq 0x3adfa3(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
cmpl $0x0, -0xdc(%rbp)
je 0x340e9
movsd -0xa0(%rbp), %xmm0
ucomisd -0xc0(%rbp), %xmm0
jb 0x340e9
movsd -0xa0(%rbp), %xmm1
movsd -0xc8(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x340e9
movsd -0xb8(%rbp), %xmm0
ucomisd -0xc0(%rbp), %xmm0
jb 0x340e9
movsd -0xb8(%rbp), %xmm1
movsd -0xc8(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jb 0x340e9
movsd -0xb8(%rbp), %xmm0
movl -0xfc(%rbp), %edi
movl -0x100(%rbp), %esi
movsd -0xc0(%rbp), %xmm1
movsd -0xc8(%rbp), %xmm2
callq 0x42230
movl %eax, -0xe4(%rbp)
movsd -0xa0(%rbp), %xmm0
movl -0xfc(%rbp), %edi
movl -0x100(%rbp), %esi
movsd -0xc0(%rbp), %xmm1
movsd -0xc8(%rbp), %xmm2
callq 0x42230
movl %eax, -0xe8(%rbp)
movq -0x18(%rbp), %rdi
movl -0xe4(%rbp), %esi
movl -0x108(%rbp), %edx
addl -0xdc(%rbp), %edx
subl $0x1, %edx
movl -0xe8(%rbp), %ecx
movl -0x108(%rbp), %r8d
addl -0xdc(%rbp), %r8d
callq 0x32a70
movsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0xb8(%rbp)
movl -0xdc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0x33eba
jmp 0x34306
movq -0x20(%rbp), %rax
cmpl $0x0, 0x60(%rax)
jne 0x34304
movl $0x0, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x34302
movsd -0xc0(%rbp), %xmm1
cvtsi2sdl -0xdc(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm2
subsd -0xc0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3ade01(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x170(%rbp)
leaq 0x3ade1b(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd (%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x170(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movl $0x0, -0xe0(%rbp)
movl -0xe0(%rbp), %eax
cmpl -0xf4(%rbp), %eax
jge 0x342ec
movsd -0xd0(%rbp), %xmm1
cvtsi2sdl -0xe0(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm2
subsd -0xd0(%rbp), %xmm2
cvtsi2sdl -0xf4(%rbp), %xmm3
divsd %xmm3, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0x3add71(%rip), %rax    # 0x3e1f78
movq (%rax), %rax
subsd 0x8(%rax), %xmm0
movsd %xmm0, -0x178(%rbp)
leaq 0x3add8a(%rip), %rax    # 0x3e1fa8
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
callq 0x42a0
movaps %xmm0, %xmm1
movsd -0x178(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movq -0x20(%rbp), %rdi
movsd -0xa8(%rbp), %xmm0
movsd -0xb0(%rbp), %xmm1
callq 0x2b030
callq 0x7aab0
movsd %xmm0, -0xa0(%rbp)
movq -0x18(%rbp), %rdi
movsd 0xadda4(%rip), %xmm0    # 0xe2018
subsd -0xa0(%rbp), %xmm0
movsd 0xadd94(%rip), %xmm1    # 0xe2018
subsd -0xa0(%rbp), %xmm1
movsd 0xadd84(%rip), %xmm2    # 0xe2018
subsd -0xa0(%rbp), %xmm2
leaq 0xb07ba(%rip), %rsi     # 0xe4a5d
movb $0x3, %al
callq 0x4280
movq -0x18(%rbp), %rdi
movl -0xfc(%rbp), %esi
addl -0xdc(%rbp), %esi
movl -0x108(%rbp), %edx
addl -0xe0(%rbp), %edx
leaq 0xb883e(%rip), %rcx     # 0xecb0b
movl $0x2, %r8d
callq 0x32c00
movl -0xe0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0x341ba
jmp 0x342ee
movl -0xdc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0x3412a
jmp 0x34304
jmp 0x34306
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x31ae0
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
nopw (%rax,%rax)