// File: /workspace/github_cpp_makefile_star2_O1/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 0x291ef1(%rip), %rax    # 0x30cf30
movsd (%rax), %xmm3
leaq 0x291ede(%rip), %rax    # 0x30cf28
movsd (%rax), %xmm4
leaq 0x291ecb(%rip), %rax    # 0x30cf20
movsd (%rax), %xmm2
movapd %xmm3, %xmm1
addsd %xmm4, %xmm1
addsd %xmm2, %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0x7b072
jp 0x7b072
retq
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
divsd %xmm1, %xmm3
movsd %xmm3, -0x98(%rbp)
divsd %xmm1, %xmm4
movsd %xmm4, -0x90(%rbp)
divsd %xmm1, %xmm2
movsd %xmm2, -0xa0(%rbp)
leaq 0x291ec6(%rip), %rax    # 0x30cf6e
cmpb $0x0, (%rax)
movsd %xmm5, -0x18(%rbp)
je 0x7b18f
movsd 0xa327a(%rip), %xmm1    # 0x11e338
mulsd %xmm5, %xmm1
movsd 0xa325e(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8e01d(%rip), %xmm0    # 0x1090f8
mulsd 0xa325d(%rip), %xmm0    # 0x11e340
movsd 0xa3245(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8df59(%rip), %xmm1    # 0x109050
movsd %xmm1, -0x8(%rbp)
movsd 0xa3244(%rip), %xmm1    # 0x11e348
mulsd -0x18(%rbp), %xmm1
movsd 0xa3217(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dfd6(%rip), %xmm0    # 0x1090f8
mulsd 0xa3226(%rip), %xmm0    # 0x11e350
movsd 0xa31fe(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8df12(%rip), %xmm1    # 0x109050
movsd %xmm1, -0x10(%rbp)
movsd -0x18(%rbp), %xmm1
mulsd 0xa3208(%rip), %xmm1    # 0x11e358
movsd 0xa31d0(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
movsd 0xa31c7(%rip), %xmm3    # 0x11e330
movsd -0x8(%rbp), %xmm2
addsd 0x8df82(%rip), %xmm0    # 0x1090f8
mulsd 0xa31e2(%rip), %xmm0    # 0x11e360
divsd %xmm0, %xmm3
divsd 0x8dec6(%rip), %xmm3    # 0x109050
jmp 0x7c24c
movsd 0xa31d1(%rip), %xmm0    # 0x11e368
mulsd %xmm5, %xmm0
movsd 0xa3185(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x10(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8df3b(%rip), %xmm0    # 0x1090f8
mulsd 0xa31ab(%rip), %xmm0    # 0x11e370
movsd 0xa3163(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8de77(%rip), %xmm1    # 0x109050
mulsd 0xa3197(%rip), %xmm1    # 0x11e378
movsd %xmm1, -0x8(%rbp)
movsd 0xa3192(%rip), %xmm1    # 0x11e380
mulsd -0x18(%rbp), %xmm1
movsd 0xa312d(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8deec(%rip), %xmm0    # 0x1090f8
mulsd 0xa3174(%rip), %xmm0    # 0x11e388
movsd 0xa3114(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8de28(%rip), %xmm1    # 0x109050
mulsd 0xa3160(%rip), %xmm1    # 0x11e390
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3156(%rip), %xmm0    # 0x11e398
mulsd -0x18(%rbp), %xmm0
movsd 0xa30d9(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x68(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8de8f(%rip), %xmm0    # 0x1090f8
mulsd 0xa312f(%rip), %xmm0    # 0x11e3a0
movsd 0xa30b7(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8ddcb(%rip), %xmm1    # 0x109050
mulsd 0xa311b(%rip), %xmm1    # 0x11e3a8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3111(%rip), %xmm0    # 0x11e3b0
mulsd -0x18(%rbp), %xmm0
movsd 0xa307c(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x60(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8de32(%rip), %xmm0    # 0x1090f8
mulsd 0xa30ea(%rip), %xmm0    # 0x11e3b8
movsd 0xa305a(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8dd6e(%rip), %xmm1    # 0x109050
mulsd 0xa30d6(%rip), %xmm1    # 0x11e3c0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa30cc(%rip), %xmm0    # 0x11e3c8
mulsd -0x18(%rbp), %xmm0
movsd 0xa301f(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x58(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8ddd5(%rip), %xmm0    # 0x1090f8
mulsd 0xa30a5(%rip), %xmm0    # 0x11e3d0
movsd 0xa2ffd(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8dd11(%rip), %xmm1    # 0x109050
mulsd 0xa3091(%rip), %xmm1    # 0x11e3d8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3087(%rip), %xmm0    # 0x11e3e0
mulsd -0x18(%rbp), %xmm0
movsd 0xa2fc2(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x50(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dd78(%rip), %xmm0    # 0x1090f8
mulsd 0xa3060(%rip), %xmm0    # 0x11e3e8
movsd 0xa2fa0(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8dcb4(%rip), %xmm1    # 0x109050
mulsd 0xa304c(%rip), %xmm1    # 0x11e3f0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa3042(%rip), %xmm0    # 0x11e3f8
mulsd -0x18(%rbp), %xmm0
movsd 0xa2f65(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x48(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dd1b(%rip), %xmm0    # 0x1090f8
mulsd 0xa301b(%rip), %xmm0    # 0x11e400
movsd 0xa2f43(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8dc57(%rip), %xmm1    # 0x109050
mulsd 0xa3007(%rip), %xmm1    # 0x11e408
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2f45(%rip), %xmm0    # 0x11e358
mulsd -0x18(%rbp), %xmm0
movsd 0xa2f08(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x88(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dcbb(%rip), %xmm0    # 0x1090f8
mulsd 0xa2f1b(%rip), %xmm0    # 0x11e360
movsd 0xa2ee3(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8dbf7(%rip), %xmm1    # 0x109050
mulsd 0xa2f2f(%rip), %xmm1    # 0x11e390
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2ed5(%rip), %xmm0    # 0x11e348
mulsd -0x18(%rbp), %xmm0
movsd 0xa2ea8(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x80(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dc5e(%rip), %xmm0    # 0x1090f8
mulsd 0xa2eae(%rip), %xmm0    # 0x11e350
movsd 0xa2e86(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8db9a(%rip), %xmm1    # 0x109050
mulsd 0xa2f52(%rip), %xmm1    # 0x11e410
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x40(%rbp)
movsd 0xa2f48(%rip), %xmm0    # 0x11e418
mulsd -0x18(%rbp), %xmm0
movsd 0xa2e4b(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x8(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dc01(%rip), %xmm0    # 0x1090f8
mulsd 0xa2f21(%rip), %xmm0    # 0x11e420
movsd 0xa2e29(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8db3d(%rip), %xmm1    # 0x109050
mulsd 0xa2e5d(%rip), %xmm1    # 0x11e378
addsd -0x40(%rbp), %xmm1
movsd %xmm1, -0x38(%rbp)
movsd 0xa2efb(%rip), %xmm0    # 0x11e428
mulsd -0x18(%rbp), %xmm0
movsd 0xa2dee(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x40(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8dba4(%rip), %xmm0    # 0x1090f8
mulsd 0xa2ed4(%rip), %xmm0    # 0x11e430
movsd 0xa2dcc(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8dae0(%rip), %xmm1    # 0x109050
mulsd 0x903e8(%rip), %xmm1    # 0x10b960
addsd -0x38(%rbp), %xmm1
movsd %xmm1, -0x30(%rbp)
movsd 0xa2eae(%rip), %xmm0    # 0x11e438
mulsd -0x18(%rbp), %xmm0
movsd 0xa2d91(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x38(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8db47(%rip), %xmm0    # 0x1090f8
mulsd 0xa2e87(%rip), %xmm0    # 0x11e440
movsd 0xa2d6f(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8da83(%rip), %xmm1    # 0x109050
mulsd 0xa2e73(%rip), %xmm1    # 0x11e448
addsd -0x30(%rbp), %xmm1
movsd %xmm1, -0x28(%rbp)
movsd 0xa2e69(%rip), %xmm0    # 0x11e450
mulsd -0x18(%rbp), %xmm0
movsd 0xa2d34(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x30(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8daea(%rip), %xmm0    # 0x1090f8
mulsd 0xa2e42(%rip), %xmm0    # 0x11e458
movsd 0xa2d12(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8da26(%rip), %xmm1    # 0x109050
mulsd 0xa2e2e(%rip), %xmm1    # 0x11e460
addsd -0x28(%rbp), %xmm1
movsd %xmm1, -0x20(%rbp)
movsd 0xa2e24(%rip), %xmm0    # 0x11e468
mulsd -0x18(%rbp), %xmm0
movsd 0xa2cd7(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x28(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8da8d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2dfd(%rip), %xmm0    # 0x11e470
movsd 0xa2cb5(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d9c9(%rip), %xmm1    # 0x109050
mulsd 0xa2de9(%rip), %xmm1    # 0x11e478
addsd -0x20(%rbp), %xmm1
movsd %xmm1, -0x70(%rbp)
movsd 0xa2ddf(%rip), %xmm0    # 0x11e480
mulsd -0x18(%rbp), %xmm0
movsd 0xa2c7a(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x20(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8da30(%rip), %xmm0    # 0x1090f8
mulsd 0xa2db8(%rip), %xmm0    # 0x11e488
movsd 0xa2c58(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d96c(%rip), %xmm1    # 0x109050
mulsd 0xa2da4(%rip), %xmm1    # 0x11e490
addsd -0x70(%rbp), %xmm1
divsd 0xa2d9f(%rip), %xmm1    # 0x11e498
movsd %xmm1, -0x70(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x96f0
addsd 0x8d9e8(%rip), %xmm0    # 0x1090f8
mulsd 0xa2c58(%rip), %xmm0    # 0x11e370
movsd 0xa2c10(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d924(%rip), %xmm1    # 0x109050
mulsd 0xa2d6c(%rip), %xmm1    # 0x11e4a0
movsd %xmm1, -0x78(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x96f0
addsd 0x8d9ad(%rip), %xmm0    # 0x1090f8
mulsd 0xa2c1d(%rip), %xmm0    # 0x11e370
movsd 0xa2bd5(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d8e9(%rip), %xmm1    # 0x109050
mulsd 0xa2d39(%rip), %xmm1    # 0x11e4a8
addsd -0x78(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x68(%rbp), %xmm0
callq 0x96f0
addsd 0x8d96d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2c0d(%rip), %xmm0    # 0x11e3a0
movsd 0xa2b95(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d8a9(%rip), %xmm1    # 0x109050
mulsd 0xa2d01(%rip), %xmm1    # 0x11e4b0
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x60(%rbp), %xmm0
callq 0x96f0
addsd 0x8d92d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2be5(%rip), %xmm0    # 0x11e3b8
movsd 0xa2b55(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d869(%rip), %xmm1    # 0x109050
mulsd 0xa2ca1(%rip), %xmm1    # 0x11e490
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0x96f0
addsd 0x8d8ed(%rip), %xmm0    # 0x1090f8
mulsd 0xa2bbd(%rip), %xmm0    # 0x11e3d0
movsd 0xa2b15(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d829(%rip), %xmm1    # 0x109050
mulsd 0x8d8d9(%rip), %xmm1    # 0x109108
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x50(%rbp), %xmm0
callq 0x96f0
addsd 0x8d8ad(%rip), %xmm0    # 0x1090f8
mulsd 0xa2b95(%rip), %xmm0    # 0x11e3e8
movsd 0xa2ad5(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d7e9(%rip), %xmm1    # 0x109050
mulsd 0xa2c49(%rip), %xmm1    # 0x11e4b8
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x48(%rbp), %xmm0
callq 0x96f0
addsd 0x8d86d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2b6d(%rip), %xmm0    # 0x11e400
movsd 0xa2a95(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d7a9(%rip), %xmm1    # 0x109050
mulsd 0xa2c11(%rip), %xmm1    # 0x11e4c0
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x88(%rbp), %xmm0
callq 0x96f0
addsd 0x8d82a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a8a(%rip), %xmm0    # 0x11e360
movsd 0xa2a52(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d766(%rip), %xmm1    # 0x109050
mulsd 0xa2bd6(%rip), %xmm1    # 0x11e4c8
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x80(%rbp), %xmm0
callq 0x96f0
addsd 0x8d7ea(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a3a(%rip), %xmm0    # 0x11e350
movsd 0xa2a12(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d726(%rip), %xmm1    # 0x109050
mulsd 0xa2b9e(%rip), %xmm1    # 0x11e4d0
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x8(%rbp), %xmm0
callq 0x96f0
addsd 0x8d7aa(%rip), %xmm0    # 0x1090f8
mulsd 0xa2aca(%rip), %xmm0    # 0x11e420
movsd 0xa29d2(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d6e6(%rip), %xmm1    # 0x109050
mulsd 0xa2b66(%rip), %xmm1    # 0x11e4d8
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x40(%rbp), %xmm0
callq 0x96f0
addsd 0x8d76a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a9a(%rip), %xmm0    # 0x11e430
movsd 0xa2992(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d6a6(%rip), %xmm1    # 0x109050
mulsd 0xa2b2e(%rip), %xmm1    # 0x11e4e0
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x38(%rbp), %xmm0
callq 0x96f0
addsd 0x8d72a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a6a(%rip), %xmm0    # 0x11e440
movsd 0xa2952(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d666(%rip), %xmm1    # 0x109050
mulsd 0x8d676(%rip), %xmm1    # 0x109068
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x30(%rbp), %xmm0
callq 0x96f0
addsd 0x8d6ea(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a42(%rip), %xmm0    # 0x11e458
movsd 0xa2912(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d626(%rip), %xmm1    # 0x109050
mulsd 0xa2ab6(%rip), %xmm1    # 0x11e4e8
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x28(%rbp), %xmm0
callq 0x96f0
addsd 0x8d6aa(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a1a(%rip), %xmm0    # 0x11e470
movsd 0xa28d2(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d5e6(%rip), %xmm1    # 0x109050
mulsd 0xa2a7e(%rip), %xmm1    # 0x11e4f0
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd -0x20(%rbp), %xmm0
callq 0x96f0
addsd 0x8d66a(%rip), %xmm0    # 0x1090f8
mulsd 0xa29f2(%rip), %xmm0    # 0x11e488
movsd 0xa2892(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d5a6(%rip), %xmm1    # 0x109050
mulsd 0x8d5b6(%rip), %xmm1    # 0x109068
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2a34(%rip), %xmm0    # 0x11e4f8
mulsd -0x18(%rbp), %xmm0
movsd 0xa2857(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x68(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d60d(%rip), %xmm0    # 0x1090f8
mulsd 0xa2a0d(%rip), %xmm0    # 0x11e500
movsd 0xa2835(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d549(%rip), %xmm1    # 0x109050
mulsd 0xa2881(%rip), %xmm1    # 0x11e390
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa29e7(%rip), %xmm0    # 0x11e508
mulsd -0x18(%rbp), %xmm0
movsd 0xa27fa(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x60(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d5b0(%rip), %xmm0    # 0x1090f8
mulsd 0xa29c0(%rip), %xmm0    # 0x11e510
movsd 0xa27d8(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d4ec(%rip), %xmm1    # 0x109050
mulsd 0xa29ac(%rip), %xmm1    # 0x11e518
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa29a2(%rip), %xmm0    # 0x11e520
mulsd -0x18(%rbp), %xmm0
movsd 0xa279d(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x58(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d553(%rip), %xmm0    # 0x1090f8
mulsd 0xa297b(%rip), %xmm0    # 0x11e528
movsd 0xa277b(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d48f(%rip), %xmm1    # 0x109050
mulsd 0xa28f7(%rip), %xmm1    # 0x11e4c0
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2955(%rip), %xmm0    # 0x11e530
mulsd -0x18(%rbp), %xmm0
movsd 0xa2740(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x50(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d4f6(%rip), %xmm0    # 0x1090f8
mulsd 0xa292e(%rip), %xmm0    # 0x11e538
movsd 0xa271e(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d432(%rip), %xmm1    # 0x109050
mulsd 0xa2822(%rip), %xmm1    # 0x11e448
addsd -0x10(%rbp), %xmm1
movsd %xmm1, -0x10(%rbp)
movsd 0xa2908(%rip), %xmm0    # 0x11e540
mulsd -0x18(%rbp), %xmm0
movsd 0xa26e3(%rip), %xmm1    # 0x11e328
divsd %xmm0, %xmm1
movsd %xmm1, -0x48(%rbp)
movapd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d499(%rip), %xmm0    # 0x1090f8
mulsd 0xa28e1(%rip), %xmm0    # 0x11e548
movsd 0xa26c1(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d3d5(%rip), %xmm1    # 0x109050
mulsd 0xa2825(%rip), %xmm1    # 0x11e4a8
addsd -0x10(%rbp), %xmm1
divsd 0x8fea8(%rip), %xmm1    # 0x10bb38
movsd %xmm1, -0x10(%rbp)
movsd -0x8(%rbp), %xmm0
callq 0x96f0
addsd 0x8d451(%rip), %xmm0    # 0x1090f8
mulsd 0xa2771(%rip), %xmm0    # 0x11e420
movsd 0xa2679(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d38d(%rip), %xmm1    # 0x109050
mulsd 0xa2885(%rip), %xmm1    # 0x11e550
movsd %xmm1, -0x8(%rbp)
movsd -0x40(%rbp), %xmm0
callq 0x96f0
addsd 0x8d416(%rip), %xmm0    # 0x1090f8
mulsd 0xa2746(%rip), %xmm0    # 0x11e430
movsd 0xa263e(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d352(%rip), %xmm1    # 0x109050
mulsd 0xa279a(%rip), %xmm1    # 0x11e4a0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x38(%rbp), %xmm0
callq 0x96f0
addsd 0x8d3d6(%rip), %xmm0    # 0x1090f8
mulsd 0xa2716(%rip), %xmm0    # 0x11e440
movsd 0xa25fe(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d312(%rip), %xmm1    # 0x109050
mulsd 0xa274a(%rip), %xmm1    # 0x11e490
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x30(%rbp), %xmm0
callq 0x96f0
addsd 0x8d396(%rip), %xmm0    # 0x1090f8
mulsd 0xa26ee(%rip), %xmm0    # 0x11e458
movsd 0xa25be(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d2d2(%rip), %xmm1    # 0x109050
mulsd 0x8d382(%rip), %xmm1    # 0x109108
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x28(%rbp), %xmm0
callq 0x96f0
addsd 0x8d356(%rip), %xmm0    # 0x1090f8
mulsd 0xa26c6(%rip), %xmm0    # 0x11e470
movsd 0xa257e(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d292(%rip), %xmm1    # 0x109050
mulsd 0xa2792(%rip), %xmm1    # 0x11e558
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x20(%rbp), %xmm0
callq 0x96f0
addsd 0x8d316(%rip), %xmm0    # 0x1090f8
mulsd 0xa269e(%rip), %xmm0    # 0x11e488
movsd 0xa253e(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d252(%rip), %xmm1    # 0x109050
mulsd 0xa2752(%rip), %xmm1    # 0x11e558
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x68(%rbp), %xmm0
callq 0x96f0
addsd 0x8d2d6(%rip), %xmm0    # 0x1090f8
mulsd 0xa26d6(%rip), %xmm0    # 0x11e500
movsd 0xa24fe(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d212(%rip), %xmm1    # 0x109050
mulsd 0xa267a(%rip), %xmm1    # 0x11e4c0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x60(%rbp), %xmm0
callq 0x96f0
addsd 0x8d296(%rip), %xmm0    # 0x1090f8
mulsd 0xa26a6(%rip), %xmm0    # 0x11e510
movsd 0xa24be(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d1d2(%rip), %xmm1    # 0x109050
mulsd 0xa250a(%rip), %xmm1    # 0x11e390
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0x96f0
addsd 0x8d256(%rip), %xmm0    # 0x1090f8
mulsd 0xa267e(%rip), %xmm0    # 0x11e528
movsd 0xa247e(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d192(%rip), %xmm1    # 0x109050
mulsd 0x8d1a2(%rip), %xmm1    # 0x109068
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x50(%rbp), %xmm0
callq 0x96f0
addsd 0x8d216(%rip), %xmm0    # 0x1090f8
mulsd 0xa264e(%rip), %xmm0    # 0x11e538
movsd 0xa243e(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d152(%rip), %xmm1    # 0x109050
mulsd 0x8faba(%rip), %xmm1    # 0x10b9c0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x48(%rbp), %xmm0
callq 0x96f0
addsd 0x8d1d6(%rip), %xmm0    # 0x1090f8
mulsd 0xa261e(%rip), %xmm0    # 0x11e548
movsd 0xa23fe(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d112(%rip), %xmm1    # 0x109050
mulsd 0xa261a(%rip), %xmm1    # 0x11e560
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2610(%rip), %xmm1    # 0x11e568
mulsd -0x18(%rbp), %xmm1
movsd 0xa23c3(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d182(%rip), %xmm0    # 0x1090f8
mulsd 0xa25f2(%rip), %xmm0    # 0x11e570
movsd 0xa23aa(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d0be(%rip), %xmm1    # 0x109050
mulsd 0xa25de(%rip), %xmm1    # 0x11e578
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa25d4(%rip), %xmm1    # 0x11e580
mulsd -0x18(%rbp), %xmm1
movsd 0xa236f(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d12e(%rip), %xmm0    # 0x1090f8
mulsd 0xa25b6(%rip), %xmm0    # 0x11e588
movsd 0xa2356(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d06a(%rip), %xmm1    # 0x109050
mulsd 0xa25a2(%rip), %xmm1    # 0x11e590
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2598(%rip), %xmm1    # 0x11e598
mulsd -0x18(%rbp), %xmm1
movsd 0xa231b(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d0da(%rip), %xmm0    # 0x1090f8
mulsd 0xa257a(%rip), %xmm0    # 0x11e5a0
movsd 0xa2302(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8d016(%rip), %xmm1    # 0x109050
mulsd 0xa2566(%rip), %xmm1    # 0x11e5a8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa255c(%rip), %xmm1    # 0x11e5b0
mulsd -0x18(%rbp), %xmm1
movsd 0xa22c7(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d086(%rip), %xmm0    # 0x1090f8
mulsd 0xa253e(%rip), %xmm0    # 0x11e5b8
movsd 0xa22ae(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8cfc2(%rip), %xmm1    # 0x109050
mulsd 0xa252a(%rip), %xmm1    # 0x11e5c0
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2520(%rip), %xmm1    # 0x11e5c8
mulsd -0x18(%rbp), %xmm1
movsd 0xa2273(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8d032(%rip), %xmm0    # 0x1090f8
mulsd 0xa2502(%rip), %xmm0    # 0x11e5d0
movsd 0xa225a(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8cf6e(%rip), %xmm1    # 0x109050
mulsd 0xa24ee(%rip), %xmm1    # 0x11e5d8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa24e4(%rip), %xmm1    # 0x11e5e0
mulsd -0x18(%rbp), %xmm1
movsd 0xa221f(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8cfde(%rip), %xmm0    # 0x1090f8
mulsd 0xa24c6(%rip), %xmm0    # 0x11e5e8
movsd 0xa2206(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8cf1a(%rip), %xmm1    # 0x109050
mulsd 0xa249a(%rip), %xmm1    # 0x11e5d8
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa24a0(%rip), %xmm1    # 0x11e5f0
mulsd -0x18(%rbp), %xmm1
movsd 0xa21cb(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8cf8a(%rip), %xmm0    # 0x1090f8
mulsd 0xa2482(%rip), %xmm0    # 0x11e5f8
movsd 0xa21b2(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8cec6(%rip), %xmm1    # 0x109050
mulsd 0xa246e(%rip), %xmm1    # 0x11e600
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd 0xa2464(%rip), %xmm1    # 0x11e608
mulsd -0x18(%rbp), %xmm1
movsd 0xa2177(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
addsd 0x8cf36(%rip), %xmm0    # 0x1090f8
mulsd 0xa2446(%rip), %xmm0    # 0x11e610
movsd 0xa215e(%rip), %xmm1    # 0x11e330
divsd %xmm0, %xmm1
divsd 0x8ce72(%rip), %xmm1    # 0x109050
mulsd 0xa2432(%rip), %xmm1    # 0x11e618
addsd -0x8(%rbp), %xmm1
movsd %xmm1, -0x8(%rbp)
movsd -0x18(%rbp), %xmm1
mulsd 0xa2423(%rip), %xmm1    # 0x11e620
movsd 0xa2123(%rip), %xmm0    # 0x11e328
divsd %xmm1, %xmm0
callq 0x96f0
movsd -0x70(%rbp), %xmm3
movsd 0xa2115(%rip), %xmm2    # 0x11e330
addsd 0x8ced5(%rip), %xmm0    # 0x1090f8
mulsd 0xa23fd(%rip), %xmm0    # 0x11e628
divsd %xmm0, %xmm2
divsd 0x8ce19(%rip), %xmm2    # 0x109050
mulsd 0xa23f1(%rip), %xmm2    # 0x11e630
addsd -0x8(%rbp), %xmm2
divsd 0x8f8ec(%rip), %xmm2    # 0x10bb38
movsd -0x10(%rbp), %xmm4
movapd %xmm4, %xmm0
addsd %xmm2, %xmm0
addsd %xmm3, %xmm0
divsd %xmm0, %xmm2
movsd -0x98(%rbp), %xmm1
subsd %xmm2, %xmm1
divsd %xmm0, %xmm4
movsd -0x90(%rbp), %xmm2
subsd %xmm4, %xmm2
divsd %xmm0, %xmm3
movsd -0xa0(%rbp), %xmm0
subsd %xmm3, %xmm0
mulsd %xmm2, %xmm2
mulsd %xmm1, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
divsd 0x8f75f(%rip), %xmm0    # 0x10ba08
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x7c2bc
xorps %xmm1, %xmm1
sqrtsd %xmm0, %xmm1
jmp 0x7c2c5
callq 0x9270
movapd %xmm0, %xmm1
movsd 0x8cda3(%rip), %xmm0    # 0x109070
subsd %xmm1, %xmm0
mulsd %xmm0, %xmm0
mulsd 0x8cd83(%rip), %xmm0    # 0x109060
addq $0xa0, %rsp
popq %rbp
retq