// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: calc_cri(double)
DATA_SIZE calc_cri(DATA_SIZE cct)
{
double bb_r,bb_g,bb_b,d,sum;  // black body values
double R,G,B;                 // sensor values
double y;
double err;

   d = 0.0;

   R = red_uw;
   G = green_uw;
   B = blue_uw;
   sum = R + G + B;
   if(sum == 0.0) return 0.0;

   R /= sum;
   G /= sum;
   B /= sum;

   // calculate the black body energy emitted over the color sensor bands
   if(cri_flag) {
      bb_r = plank(cct, 621.0);  // 640
      bb_g = plank(cct, 500.0);  // 524
      bb_b = plank(cct, 490.0);  // 470
   }
   else if(1) {
      bb_b  = plank(cct, 420.0) * 0.30;
      bb_b += plank(cct, 430.0) * 0.40;
      bb_b += plank(cct, 440.0) * 0.42;
      bb_b += plank(cct, 450.0) * 0.45;
      bb_b += plank(cct, 460.0) * 0.48;
      bb_b += plank(cct, 470.0) * 0.46;
      bb_b += plank(cct, 480.0) * 0.44;
      bb_b += plank(cct, 490.0) * 0.40;
      bb_b += plank(cct, 500.0) * 0.35;
      bb_b += plank(cct, 510.0) * 0.30;
      bb_b += plank(cct, 520.0) * 0.25;
      bb_b += plank(cct, 530.0) * 0.15;
      bb_b += plank(cct, 540.0) * 0.14;
      bb_b += plank(cct, 550.0) * 0.13;
      bb_b += plank(cct, 560.0) * 0.08;
      bb_b /= 15.0;

      bb_g  = plank(cct, 420.0) * 0.05;
      bb_g += plank(cct, 420.0) * 0.06;
      bb_g += plank(cct, 440.0) * 0.07;
      bb_g += plank(cct, 450.0) * 0.08;
      bb_g += plank(cct, 460.0) * 0.10;
      bb_g += plank(cct, 470.0) * 0.18;
      bb_g += plank(cct, 480.0) * 0.20;
      bb_g += plank(cct, 490.0) * 0.23;
      bb_g += plank(cct, 500.0) * 0.28;
      bb_g += plank(cct, 510.0) * 0.32;
      bb_g += plank(cct, 520.0) * 0.38;
      bb_g += plank(cct, 530.0) * 0.50;
      bb_g += plank(cct, 540.0) * 0.55;
      bb_g += plank(cct, 550.0) * 0.54;
      bb_g += plank(cct, 560.0) * 0.50;
      bb_g += plank(cct, 570.0) * 0.40;
      bb_g += plank(cct, 580.0) * 0.39;
      bb_g += plank(cct, 590.0) * 0.20;
      bb_g += plank(cct, 600.0) * 0.15;
      bb_g += plank(cct, 610.0) * 0.06;
      bb_g /= 20.0;

      bb_r  = plank(cct, 510.0) * 0.03;
      bb_r += plank(cct, 520.0) * 0.05;
      bb_r += plank(cct, 530.0) * 0.08;
      bb_r += plank(cct, 540.0) * 0.10;
      bb_r += plank(cct, 550.0) * 0.17;
      bb_r += plank(cct, 560.0) * 0.17;
      bb_r += plank(cct, 570.0) * 0.20;
      bb_r += plank(cct, 580.0) * 0.40;
      bb_r += plank(cct, 590.0) * 0.50;
      bb_r += plank(cct, 600.0) * 0.60;
      bb_r += plank(cct, 610.0) * 0.65;
      bb_r += plank(cct, 620.0) * 0.70;
      bb_r += plank(cct, 630.0) * 0.73;
      bb_r += plank(cct, 640.0) * 0.80;
      bb_r += plank(cct, 650.0) * 0.82;
      bb_r += plank(cct, 660.0) * 0.85;
      bb_r += plank(cct, 670.0) * 0.85;
      bb_r += plank(cct, 680.0) * 0.90;
      bb_r += plank(cct, 690.0) * 0.93;
      bb_r += plank(cct, 700.0) * 0.95;
      bb_r /= 20.0;    
   }
   else {
      bb_r = bb_g = bb_b = 0.0;
      for(y=400.0; y<=520.0; y+=10.0) {
         bb_b += plank(cct, y);
         d += 1.0;
      }
      bb_b /= d;

      for(y=480.0; y<=600.0; y+=10.0) {
         bb_g += plank(cct, y);
         d += 1.0;
      }
      bb_g /= d;

      for(y=550.0; y<=770.0; y+=10.0) {
         bb_r += plank(cct, y);
         d += 1.0;
      }
      bb_r /= d;
   }
   sum = bb_r + bb_g + bb_b;  // normalize black body energy to 0 .. 1
   bb_r /= sum;
   bb_g /= sum;
   bb_b /= sum;


   err = sqrt((((R-bb_r)*(R-bb_r)) + ((G-bb_g)*(G-bb_g)) + ((B-bb_b)*(B-bb_b)))/3.0);
   err = (1.0-err) * (1.0-err);

   return (DATA_SIZE) (err*100.0);
}

// Assembly:
movapd %xmm0, %xmm5
leaq 0x292151(%rip), %rax    # 0x30cf30
movsd (%rax), %xmm2
leaq 0x29213e(%rip), %rax    # 0x30cf28
movsd (%rax), %xmm4
leaq 0x29212b(%rip), %rax    # 0x30cf20
movsd (%rax), %xmm3
movapd %xmm2, %xmm1
addsd %xmm4, %xmm1
addsd %xmm3, %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0x7ae12
jp 0x7ae12
retq
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
divsd %xmm1, %xmm2
movsd %xmm2, -0xa0(%rbp)
divsd %xmm1, %xmm4
movsd %xmm4, -0x90(%rbp)
divsd %xmm1, %xmm3
movsd %xmm3, -0x98(%rbp)
leaq 0x292126(%rip), %rax    # 0x30cf6e
cmpb $0x0, (%rax)
movsd %xmm5, -0x18(%rbp)
je 0x7af2f
movsd 0xa357a(%rip), %xmm1    # 0x11e3d8
mulsd %xmm5, %xmm1
movsd 0xa355e(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e27d(%rip), %xmm0    # 0x1090f8
mulsd 0xa355d(%rip), %xmm0    # 0x11e3e0
movsd 0xa3545(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8e1b9(%rip), %xmm1    # 0x109050
movsd %xmm1, -0x8(%rbp)
movsd 0xa3544(%rip), %xmm1    # 0x11e3e8
mulsd -0x18(%rbp), %xmm1
movsd 0xa3517(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e236(%rip), %xmm0    # 0x1090f8
mulsd 0xa3526(%rip), %xmm0    # 0x11e3f0
movsd 0xa34fe(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8e172(%rip), %xmm1    # 0x109050
movsd %xmm1, -0x10(%rbp)
movsd -0x18(%rbp), %xmm1
mulsd 0xa3508(%rip), %xmm1    # 0x11e3f8
movsd 0xa34d0(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
movsd 0xa34c7(%rip), %xmm3    # 0x11e3d0
movsd -0x8(%rbp), %xmm2
addsd 0x8e1e2(%rip), %xmm0    # 0x1090f8
mulsd 0xa34e2(%rip), %xmm0    # 0x11e400
divsd %xmm0, %xmm3
divsd 0x8e126(%rip), %xmm3    # 0x109050
jmp 0x7bfec
movsd 0xa34d1(%rip), %xmm0    # 0x11e408
mulsd %xmm5, %xmm0
movsd 0xa3485(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x10(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e19b(%rip), %xmm0    # 0x1090f8
mulsd 0xa34ab(%rip), %xmm0    # 0x11e410
movsd 0xa3463(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8e0d7(%rip), %xmm1    # 0x109050
mulsd 0xa3497(%rip), %xmm1    # 0x11e418
movsd %xmm1, -0x8(%rbp)
movsd 0xa3492(%rip), %xmm1    # 0x11e420
mulsd -0x18(%rbp), %xmm1
movsd 0xa342d(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e14c(%rip), %xmm0    # 0x1090f8
mulsd 0xa3474(%rip), %xmm0    # 0x11e428
movsd 0xa3414(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8e088(%rip), %xmm1    # 0x109050
mulsd 0xa3460(%rip), %xmm1    # 0x11e430
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3456(%rip), %xmm0    # 0x11e438
mulsd -0x18(%rbp), %xmm0
movsd 0xa33d9(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x68(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e0ef(%rip), %xmm0    # 0x1090f8
mulsd 0xa342f(%rip), %xmm0    # 0x11e440
movsd 0xa33b7(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8e02b(%rip), %xmm1    # 0x109050
mulsd 0xa341b(%rip), %xmm1    # 0x11e448
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3411(%rip), %xmm0    # 0x11e450
mulsd -0x18(%rbp), %xmm0
movsd 0xa337c(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x60(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e092(%rip), %xmm0    # 0x1090f8
mulsd 0xa33ea(%rip), %xmm0    # 0x11e458
movsd 0xa335a(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dfce(%rip), %xmm1    # 0x109050
mulsd 0xa33d6(%rip), %xmm1    # 0x11e460
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa33cc(%rip), %xmm0    # 0x11e468
mulsd -0x18(%rbp), %xmm0
movsd 0xa331f(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x58(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e035(%rip), %xmm0    # 0x1090f8
mulsd 0xa33a5(%rip), %xmm0    # 0x11e470
movsd 0xa32fd(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8df71(%rip), %xmm1    # 0x109050
mulsd 0xa3391(%rip), %xmm1    # 0x11e478
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3387(%rip), %xmm0    # 0x11e480
mulsd -0x18(%rbp), %xmm0
movsd 0xa32c2(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x50(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dfd8(%rip), %xmm0    # 0x1090f8
mulsd 0xa3360(%rip), %xmm0    # 0x11e488
movsd 0xa32a0(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8df14(%rip), %xmm1    # 0x109050
mulsd 0xa334c(%rip), %xmm1    # 0x11e490
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3342(%rip), %xmm0    # 0x11e498
mulsd -0x18(%rbp), %xmm0
movsd 0xa3265(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x48(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8df7b(%rip), %xmm0    # 0x1090f8
mulsd 0xa331b(%rip), %xmm0    # 0x11e4a0
movsd 0xa3243(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8deb7(%rip), %xmm1    # 0x109050
mulsd 0xa3307(%rip), %xmm1    # 0x11e4a8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3245(%rip), %xmm0    # 0x11e3f8
mulsd -0x18(%rbp), %xmm0
movsd 0xa3208(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x88(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8df1b(%rip), %xmm0    # 0x1090f8
mulsd 0xa321b(%rip), %xmm0    # 0x11e400
movsd 0xa31e3(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8de57(%rip), %xmm1    # 0x109050
mulsd 0xa322f(%rip), %xmm1    # 0x11e430
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa31d5(%rip), %xmm0    # 0x11e3e8
mulsd -0x18(%rbp), %xmm0
movsd 0xa31a8(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x80(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8debe(%rip), %xmm0    # 0x1090f8
mulsd 0xa31ae(%rip), %xmm0    # 0x11e3f0
movsd 0xa3186(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8ddfa(%rip), %xmm1    # 0x109050
mulsd 0xa3252(%rip), %xmm1    # 0x11e4b0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x40(%rbp)
movsd 0xa3248(%rip), %xmm0    # 0x11e4b8
mulsd -0x18(%rbp), %xmm0
movsd 0xa314b(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x8(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8de61(%rip), %xmm0    # 0x1090f8
mulsd 0xa3221(%rip), %xmm0    # 0x11e4c0
movsd 0xa3129(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dd9d(%rip), %xmm1    # 0x109050
mulsd 0xa315d(%rip), %xmm1    # 0x11e418
addsd -0x40(%rbp), %xmm1
movsd %xmm1, -0x38(%rbp)
movsd 0xa31fb(%rip), %xmm0    # 0x11e4c8
mulsd -0x18(%rbp), %xmm0
movsd 0xa30ee(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x40(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8de04(%rip), %xmm0    # 0x1090f8
mulsd 0xa31d4(%rip), %xmm0    # 0x11e4d0
movsd 0xa30cc(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dd40(%rip), %xmm1    # 0x109050
mulsd 0x90650(%rip), %xmm1    # 0x10b968
addsd -0x38(%rbp), %xmm1
movsd %xmm1, -0x30(%rbp)
movsd 0xa31ae(%rip), %xmm0    # 0x11e4d8
mulsd -0x18(%rbp), %xmm0
movsd 0xa3091(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x38(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dda7(%rip), %xmm0    # 0x1090f8
mulsd 0xa3187(%rip), %xmm0    # 0x11e4e0
movsd 0xa306f(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dce3(%rip), %xmm1    # 0x109050
mulsd 0xa3173(%rip), %xmm1    # 0x11e4e8
addsd -0x30(%rbp), %xmm1
movsd %xmm1, -0x28(%rbp)
movsd 0xa3169(%rip), %xmm0    # 0x11e4f0
mulsd -0x18(%rbp), %xmm0
movsd 0xa3034(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x30(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dd4a(%rip), %xmm0    # 0x1090f8
mulsd 0xa3142(%rip), %xmm0    # 0x11e4f8
movsd 0xa3012(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dc86(%rip), %xmm1    # 0x109050
mulsd 0xa312e(%rip), %xmm1    # 0x11e500
addsd -0x28(%rbp), %xmm1
movsd %xmm1, -0x20(%rbp)
movsd 0xa3124(%rip), %xmm0    # 0x11e508
mulsd -0x18(%rbp), %xmm0
movsd 0xa2fd7(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x28(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dced(%rip), %xmm0    # 0x1090f8
mulsd 0xa30fd(%rip), %xmm0    # 0x11e510
movsd 0xa2fb5(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dc29(%rip), %xmm1    # 0x109050
mulsd 0xa30e9(%rip), %xmm1    # 0x11e518
addsd -0x20(%rbp), %xmm1
movsd %xmm1, -0x70(%rbp)
movsd 0xa30df(%rip), %xmm0    # 0x11e520
mulsd -0x18(%rbp), %xmm0
movsd 0xa2f7a(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x20(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dc90(%rip), %xmm0    # 0x1090f8
mulsd 0xa30b8(%rip), %xmm0    # 0x11e528
movsd 0xa2f58(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dbcc(%rip), %xmm1    # 0x109050
mulsd 0xa30a4(%rip), %xmm1    # 0x11e530
addsd -0x70(%rbp), %xmm1
divsd 0xa309f(%rip), %xmm1    # 0x11e538
movsd %xmm1, -0x70(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x96f0
addsd 0x8dc48(%rip), %xmm0    # 0x1090f8
mulsd 0xa2f58(%rip), %xmm0    # 0x11e410
movsd 0xa2f10(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8db84(%rip), %xmm1    # 0x109050
mulsd 0xa306c(%rip), %xmm1    # 0x11e540
movsd %xmm1, -0x78(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x96f0
addsd 0x8dc0d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2f1d(%rip), %xmm0    # 0x11e410
movsd 0xa2ed5(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8db49(%rip), %xmm1    # 0x109050
mulsd 0xa3039(%rip), %xmm1    # 0x11e548
addsd -0x78(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x68(%rbp), %xmm0
callq 0x96f0
addsd 0x8dbcd(%rip), %xmm0    # 0x1090f8
mulsd 0xa2f0d(%rip), %xmm0    # 0x11e440
movsd 0xa2e95(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8db09(%rip), %xmm1    # 0x109050
mulsd 0xa3001(%rip), %xmm1    # 0x11e550
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x60(%rbp), %xmm0
callq 0x96f0
addsd 0x8db8d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2ee5(%rip), %xmm0    # 0x11e458
movsd 0xa2e55(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8dac9(%rip), %xmm1    # 0x109050
mulsd 0xa2fa1(%rip), %xmm1    # 0x11e530
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0x96f0
addsd 0x8db4d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2ebd(%rip), %xmm0    # 0x11e470
movsd 0xa2e15(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8da89(%rip), %xmm1    # 0x109050
mulsd 0x8db39(%rip), %xmm1    # 0x109108
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x50(%rbp), %xmm0
callq 0x96f0
addsd 0x8db0d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2e95(%rip), %xmm0    # 0x11e488
movsd 0xa2dd5(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8da49(%rip), %xmm1    # 0x109050
mulsd 0xa2f49(%rip), %xmm1    # 0x11e558
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x48(%rbp), %xmm0
callq 0x96f0
addsd 0x8dacd(%rip), %xmm0    # 0x1090f8
mulsd 0xa2e6d(%rip), %xmm0    # 0x11e4a0
movsd 0xa2d95(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8da09(%rip), %xmm1    # 0x109050
mulsd 0xa2f11(%rip), %xmm1    # 0x11e560
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x88(%rbp), %xmm0
callq 0x96f0
addsd 0x8da8a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2d8a(%rip), %xmm0    # 0x11e400
movsd 0xa2d52(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d9c6(%rip), %xmm1    # 0x109050
mulsd 0xa2ed6(%rip), %xmm1    # 0x11e568
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x80(%rbp), %xmm0
callq 0x96f0
addsd 0x8da4a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2d3a(%rip), %xmm0    # 0x11e3f0
movsd 0xa2d12(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d986(%rip), %xmm1    # 0x109050
mulsd 0xa2e9e(%rip), %xmm1    # 0x11e570
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x8(%rbp), %xmm0
callq 0x96f0
addsd 0x8da0a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2dca(%rip), %xmm0    # 0x11e4c0
movsd 0xa2cd2(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d946(%rip), %xmm1    # 0x109050
mulsd 0xa2e66(%rip), %xmm1    # 0x11e578
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x40(%rbp), %xmm0
callq 0x96f0
addsd 0x8d9ca(%rip), %xmm0    # 0x1090f8
mulsd 0xa2d9a(%rip), %xmm0    # 0x11e4d0
movsd 0xa2c92(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d906(%rip), %xmm1    # 0x109050
mulsd 0xa2e2e(%rip), %xmm1    # 0x11e580
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x38(%rbp), %xmm0
callq 0x96f0
addsd 0x8d98a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2d6a(%rip), %xmm0    # 0x11e4e0
movsd 0xa2c52(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d8c6(%rip), %xmm1    # 0x109050
mulsd 0x8d8d6(%rip), %xmm1    # 0x109068
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x30(%rbp), %xmm0
callq 0x96f0
addsd 0x8d94a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2d42(%rip), %xmm0    # 0x11e4f8
movsd 0xa2c12(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d886(%rip), %xmm1    # 0x109050
mulsd 0xa2db6(%rip), %xmm1    # 0x11e588
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x28(%rbp), %xmm0
callq 0x96f0
addsd 0x8d90a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2d1a(%rip), %xmm0    # 0x11e510
movsd 0xa2bd2(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d846(%rip), %xmm1    # 0x109050
mulsd 0xa2d7e(%rip), %xmm1    # 0x11e590
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x20(%rbp), %xmm0
callq 0x96f0
addsd 0x8d8ca(%rip), %xmm0    # 0x1090f8
mulsd 0xa2cf2(%rip), %xmm0    # 0x11e528
movsd 0xa2b92(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d806(%rip), %xmm1    # 0x109050
mulsd 0x8d816(%rip), %xmm1    # 0x109068
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2d34(%rip), %xmm0    # 0x11e598
mulsd -0x18(%rbp), %xmm0
movsd 0xa2b57(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x68(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d86d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2d0d(%rip), %xmm0    # 0x11e5a0
movsd 0xa2b35(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d7a9(%rip), %xmm1    # 0x109050
mulsd 0xa2b81(%rip), %xmm1    # 0x11e430
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2ce7(%rip), %xmm0    # 0x11e5a8
mulsd -0x18(%rbp), %xmm0
movsd 0xa2afa(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x60(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d810(%rip), %xmm0    # 0x1090f8
mulsd 0xa2cc0(%rip), %xmm0    # 0x11e5b0
movsd 0xa2ad8(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d74c(%rip), %xmm1    # 0x109050
mulsd 0xa2cac(%rip), %xmm1    # 0x11e5b8
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2ca2(%rip), %xmm0    # 0x11e5c0
mulsd -0x18(%rbp), %xmm0
movsd 0xa2a9d(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x58(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d7b3(%rip), %xmm0    # 0x1090f8
mulsd 0xa2c7b(%rip), %xmm0    # 0x11e5c8
movsd 0xa2a7b(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d6ef(%rip), %xmm1    # 0x109050
mulsd 0xa2bf7(%rip), %xmm1    # 0x11e560
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2c55(%rip), %xmm0    # 0x11e5d0
mulsd -0x18(%rbp), %xmm0
movsd 0xa2a40(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x50(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d756(%rip), %xmm0    # 0x1090f8
mulsd 0xa2c2e(%rip), %xmm0    # 0x11e5d8
movsd 0xa2a1e(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d692(%rip), %xmm1    # 0x109050
mulsd 0xa2b22(%rip), %xmm1    # 0x11e4e8
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2c08(%rip), %xmm0    # 0x11e5e0
mulsd -0x18(%rbp), %xmm0
movsd 0xa29e3(%rip), %xmm1    # 0x11e3c8
divsd %xmm0, %xmm1
movsd %xmm1, -0x48(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d6f9(%rip), %xmm0    # 0x1090f8
mulsd 0xa2be1(%rip), %xmm0    # 0x11e5e8
movsd 0xa29c1(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d635(%rip), %xmm1    # 0x109050
mulsd 0xa2b25(%rip), %xmm1    # 0x11e548
addsd -0x10(%rbp), %xmm1
divsd 0x90110(%rip), %xmm1    # 0x10bb40
movsd %xmm1, -0x10(%rbp)
movsd -0x8(%rbp), %xmm0
callq 0x96f0
addsd 0x8d6b1(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a71(%rip), %xmm0    # 0x11e4c0
movsd 0xa2979(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d5ed(%rip), %xmm1    # 0x109050
mulsd 0xa2b85(%rip), %xmm1    # 0x11e5f0
movsd %xmm1, -0x8(%rbp)
movsd -0x40(%rbp), %xmm0
callq 0x96f0
addsd 0x8d676(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a46(%rip), %xmm0    # 0x11e4d0
movsd 0xa293e(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d5b2(%rip), %xmm1    # 0x109050
mulsd 0xa2a9a(%rip), %xmm1    # 0x11e540
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x38(%rbp), %xmm0
callq 0x96f0
addsd 0x8d636(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a16(%rip), %xmm0    # 0x11e4e0
movsd 0xa28fe(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d572(%rip), %xmm1    # 0x109050
mulsd 0xa2a4a(%rip), %xmm1    # 0x11e530
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x30(%rbp), %xmm0
callq 0x96f0
addsd 0x8d5f6(%rip), %xmm0    # 0x1090f8
mulsd 0xa29ee(%rip), %xmm0    # 0x11e4f8
movsd 0xa28be(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d532(%rip), %xmm1    # 0x109050
mulsd 0x8d5e2(%rip), %xmm1    # 0x109108
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x28(%rbp), %xmm0
callq 0x96f0
addsd 0x8d5b6(%rip), %xmm0    # 0x1090f8
mulsd 0xa29c6(%rip), %xmm0    # 0x11e510
movsd 0xa287e(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d4f2(%rip), %xmm1    # 0x109050
mulsd 0xa2a92(%rip), %xmm1    # 0x11e5f8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x20(%rbp), %xmm0
callq 0x96f0
addsd 0x8d576(%rip), %xmm0    # 0x1090f8
mulsd 0xa299e(%rip), %xmm0    # 0x11e528
movsd 0xa283e(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d4b2(%rip), %xmm1    # 0x109050
mulsd 0xa2a52(%rip), %xmm1    # 0x11e5f8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x68(%rbp), %xmm0
callq 0x96f0
addsd 0x8d536(%rip), %xmm0    # 0x1090f8
mulsd 0xa29d6(%rip), %xmm0    # 0x11e5a0
movsd 0xa27fe(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d472(%rip), %xmm1    # 0x109050
mulsd 0xa297a(%rip), %xmm1    # 0x11e560
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x60(%rbp), %xmm0
callq 0x96f0
addsd 0x8d4f6(%rip), %xmm0    # 0x1090f8
mulsd 0xa29a6(%rip), %xmm0    # 0x11e5b0
movsd 0xa27be(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d432(%rip), %xmm1    # 0x109050
mulsd 0xa280a(%rip), %xmm1    # 0x11e430
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0x96f0
addsd 0x8d4b6(%rip), %xmm0    # 0x1090f8
mulsd 0xa297e(%rip), %xmm0    # 0x11e5c8
movsd 0xa277e(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d3f2(%rip), %xmm1    # 0x109050
mulsd 0x8d402(%rip), %xmm1    # 0x109068
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x50(%rbp), %xmm0
callq 0x96f0
addsd 0x8d476(%rip), %xmm0    # 0x1090f8
mulsd 0xa294e(%rip), %xmm0    # 0x11e5d8
movsd 0xa273e(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d3b2(%rip), %xmm1    # 0x109050
mulsd 0x8fd1a(%rip), %xmm1    # 0x10b9c0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x48(%rbp), %xmm0
callq 0x96f0
addsd 0x8d436(%rip), %xmm0    # 0x1090f8
mulsd 0xa291e(%rip), %xmm0    # 0x11e5e8
movsd 0xa26fe(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d372(%rip), %xmm1    # 0x109050
mulsd 0xa291a(%rip), %xmm1    # 0x11e600
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2910(%rip), %xmm1    # 0x11e608
mulsd -0x18(%rbp), %xmm1
movsd 0xa26c3(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d3e2(%rip), %xmm0    # 0x1090f8
mulsd 0xa28f2(%rip), %xmm0    # 0x11e610
movsd 0xa26aa(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d31e(%rip), %xmm1    # 0x109050
mulsd 0xa28de(%rip), %xmm1    # 0x11e618
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa28d4(%rip), %xmm1    # 0x11e620
mulsd -0x18(%rbp), %xmm1
movsd 0xa266f(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d38e(%rip), %xmm0    # 0x1090f8
mulsd 0xa28b6(%rip), %xmm0    # 0x11e628
movsd 0xa2656(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d2ca(%rip), %xmm1    # 0x109050
mulsd 0xa28a2(%rip), %xmm1    # 0x11e630
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2898(%rip), %xmm1    # 0x11e638
mulsd -0x18(%rbp), %xmm1
movsd 0xa261b(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d33a(%rip), %xmm0    # 0x1090f8
mulsd 0xa287a(%rip), %xmm0    # 0x11e640
movsd 0xa2602(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d276(%rip), %xmm1    # 0x109050
mulsd 0xa2866(%rip), %xmm1    # 0x11e648
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa285c(%rip), %xmm1    # 0x11e650
mulsd -0x18(%rbp), %xmm1
movsd 0xa25c7(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d2e6(%rip), %xmm0    # 0x1090f8
mulsd 0xa283e(%rip), %xmm0    # 0x11e658
movsd 0xa25ae(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d222(%rip), %xmm1    # 0x109050
mulsd 0xa282a(%rip), %xmm1    # 0x11e660
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2820(%rip), %xmm1    # 0x11e668
mulsd -0x18(%rbp), %xmm1
movsd 0xa2573(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d292(%rip), %xmm0    # 0x1090f8
mulsd 0xa2802(%rip), %xmm0    # 0x11e670
movsd 0xa255a(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d1ce(%rip), %xmm1    # 0x109050
mulsd 0xa27ee(%rip), %xmm1    # 0x11e678
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa27e4(%rip), %xmm1    # 0x11e680
mulsd -0x18(%rbp), %xmm1
movsd 0xa251f(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d23e(%rip), %xmm0    # 0x1090f8
mulsd 0xa27c6(%rip), %xmm0    # 0x11e688
movsd 0xa2506(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d17a(%rip), %xmm1    # 0x109050
mulsd 0xa279a(%rip), %xmm1    # 0x11e678
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa27a0(%rip), %xmm1    # 0x11e690
mulsd -0x18(%rbp), %xmm1
movsd 0xa24cb(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d1ea(%rip), %xmm0    # 0x1090f8
mulsd 0xa2782(%rip), %xmm0    # 0x11e698
movsd 0xa24b2(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d126(%rip), %xmm1    # 0x109050
mulsd 0xa276e(%rip), %xmm1    # 0x11e6a0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2764(%rip), %xmm1    # 0x11e6a8
mulsd -0x18(%rbp), %xmm1
movsd 0xa2477(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d196(%rip), %xmm0    # 0x1090f8
mulsd 0xa2746(%rip), %xmm0    # 0x11e6b0
movsd 0xa245e(%rip), %xmm1    # 0x11e3d0
divsd %xmm0, %xmm1
divsd 0x8d0d2(%rip), %xmm1    # 0x109050
mulsd 0xa2732(%rip), %xmm1    # 0x11e6b8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x18(%rbp), %xmm1
mulsd 0xa2723(%rip), %xmm1    # 0x11e6c0
movsd 0xa2423(%rip), %xmm0    # 0x11e3c8
divsd %xmm1, %xmm0
callq 0x96f0
movsd -0x70(%rbp), %xmm3
movsd 0xa2415(%rip), %xmm2    # 0x11e3d0
addsd 0x8d135(%rip), %xmm0    # 0x1090f8
mulsd 0xa26fd(%rip), %xmm0    # 0x11e6c8
divsd %xmm0, %xmm2
divsd 0x8d079(%rip), %xmm2    # 0x109050
mulsd 0xa26f1(%rip), %xmm2    # 0x11e6d0
addsd -0x8(%rbp), %xmm2
divsd 0x8fb54(%rip), %xmm2    # 0x10bb40
movsd -0x10(%rbp), %xmm4
movapd %xmm4, %xmm0
addsd %xmm2, %xmm0
addsd %xmm3, %xmm0
divsd %xmm0, %xmm2
movsd -0xa0(%rbp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm0, %xmm4
movsd -0x90(%rbp), %xmm2
subsd %xmm4, %xmm2
divsd %xmm0, %xmm3
movsd -0x98(%rbp), %xmm0
subsd %xmm3, %xmm0
mulsd %xmm2, %xmm2
mulsd %xmm1, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
divsd 0x8f9bf(%rip), %xmm0    # 0x10ba08
xorps %xmm1, %xmm1
sqrtsd %xmm0, %xmm1
movsd 0x8d018(%rip), %xmm0    # 0x109070
subsd %xmm1, %xmm0
mulsd %xmm0, %xmm0
mulsd 0x8cff8(%rip), %xmm0    # 0x109060
addq $0xa0, %rsp
popq %rbp
retq