#include <stdio.h>
#include <math.h>
#include <time.h>
#include <unistd.h>
#include <cuda_runtime_api.h>
#include <errno.h>
#include <unistd.h>

/******************************************************************************
 * The variable names and the function names of this program is same as provided by the university.
  The added variable and function are the only changes made to this program. 


 * To compile:
 *   nvcc -o Q2.1_a Q2.1_a.cu -lm
 * 
 * To run:
 *   .Q2.1_a
 * 
 *****************************************************************************/

typedef struct point_t {
  double x;
  double y;
} point_t;

int n_data = 1000;
__device__ int d_n_data = 1000;


point_t data[] = {
   {83.74,106.34},{73.39,113.86},{77.96,116.13},{79.05,99.53},
  {78.42,123.49},{66.05,92.78},{65.28,89.23},{82.08,112.68},
  {76.00,89.05},{69.45,97.14},{82.39,118.99},{60.34,80.15},
  {57.04,89.13},{80.20,127.97},{84.48,105.81},{78.12,133.41},
  {70.52,93.88},{93.03,125.69},{70.05,95.63},{68.58,89.01},
  { 6.70,32.41},{ 6.10,15.84},{16.40,49.00},{32.23,43.99},
  {56.73,70.58},{64.22,101.28},{56.10,77.67},{55.15,76.24},
  {18.14,27.20},{35.20,69.89},{56.60,74.69},{21.74,44.62},
  {18.17,37.32},{73.48,96.31},{85.17,126.58},{84.95,124.48},
  {79.38,121.14},{95.12,130.68},{21.14,49.79},{ 2.36,32.37},
  {40.79,64.39},{44.71,59.59},{63.84,91.03},{40.63,55.66},
  { 4.75,32.97},{34.81,54.46},{27.77,55.46},{87.10,120.46},
  {31.41,49.15},{34.79,50.51},{21.17,49.44},{ 8.87,25.18},
  {96.25,125.31},{32.01,51.61},{81.53,119.04},{ 9.78,35.30},
  {70.64,105.43},{76.65,115.25},{48.74,71.25},{87.70,123.83},
  { 6.78,50.34},{83.93,124.53},{ 7.81,33.51},{32.90,58.00},
  {38.81,76.13},{84.21,110.96},{26.93,56.53},{35.68,66.30},
  {89.43,128.18},{40.25,59.29},{ 0.29,20.10},{27.46,49.81},
  {59.70,87.64},{44.81,81.52},{ 4.25,49.98},{57.40,87.62},
  { 6.23,25.46},{37.29,57.19},{31.14,43.38},{82.59,101.25},
  {23.18,49.57},{84.95,128.84},{29.80,41.03},{12.78,46.02},
  {15.66,45.37},{99.80,130.02},{94.17,132.91},{22.60,60.75},
  {61.72,81.84},{99.84,123.21},{ 0.26,23.42},{56.43,83.42},
  {95.09,136.25},{93.48,136.33},{69.29,104.04},{97.09,127.39},
  {56.57,81.25},{10.12,45.78},{78.95,115.47},{59.81,76.07},
  {22.57,30.01},{88.86,123.23},{25.04,48.17},{ 2.15,16.57},
  { 0.60,22.46},{23.62,57.28},{71.99,109.50},{99.72,132.03},
  {50.01,81.97},{ 9.47,27.03},{ 4.77,17.19},{18.97,55.61},
  { 7.00,35.20},{22.59,63.88},{44.67,69.17},{80.60,96.96},
  {58.54,100.03},{83.99,119.83},{49.74,82.94},{80.87,116.76},
  { 1.43,28.16},{97.12,109.29},{ 8.72,45.48},{ 0.16,17.61},
  {42.41,66.50},{60.60,106.80},{70.66,110.42},{45.21,58.05},
  {22.51,35.63},{97.11,126.70},{88.39,134.12},{92.45,102.06},
  {24.94,48.84},{10.11,43.11},{85.41,124.57},{ 1.06,18.21},
  {12.83,42.16},{97.76,136.25},{65.19,106.28},{41.08,67.65},
  {73.42,108.37},{ 1.90,19.83},{87.83,109.92},{31.08,75.47},
  {26.01,51.85},{16.81,30.60},{73.31,110.27},{ 3.17,17.35},
  {73.47,110.59},{59.71,83.99},{91.47,109.86},{55.68,69.73},
  {39.19,75.61},{33.03,72.17},{65.06,88.92},{12.71,44.96},
  {60.87,90.97},{98.35,140.22},{12.03,24.38},{17.66,24.44},
  {10.55,31.26},{70.28,99.49},{29.17,65.26},{29.72,59.44},
  {93.11,130.73},{10.31,38.89},{ 7.84,28.59},{95.04,114.02},
  {17.64,37.28},{15.99,49.27},{99.33,118.30},{75.31,109.18},
  {37.72,50.12},{24.63,34.10},{25.68,46.44},{62.28,71.69},
  {73.85,104.53},{ 8.77,33.27},{41.19,77.99},{97.40,116.13},
  {12.02,37.19},{ 9.29,34.87},{31.27,52.74},{17.94,43.58},
  {16.40,25.59},{55.52,96.88},{94.83,127.70},{68.98,110.26},
  {31.23,54.59},{49.17,63.18},{19.53,38.67},{83.68,101.98},
  {68.82,96.06},{86.77,124.87},{63.85,106.88},{52.77,98.17},
  {59.42,89.11},{27.27,52.85},{61.01,90.34},{80.10,116.89},
  {73.81,112.05},{32.67,55.78},{ 5.19,14.02},{49.60,67.97},
  {85.97,103.76},{12.63,25.81},{63.11,97.75},{ 8.28,32.23},
  {39.62,61.00},{44.63,70.61},{80.02,109.81},{67.41,91.42},
  {56.76,81.23},{65.41,97.47},{35.93,64.01},{61.15,93.82},
  {15.85,38.57},{34.33,58.62},{86.53,111.39},{57.52,70.74},
  {80.21,117.90},{92.02,129.92},{71.09,110.89},{56.23,70.38},
  {49.93,73.71},{93.20,125.76},{11.74,37.94},{22.60,55.90},
  {86.19,114.25},{22.65,66.55},{20.98,44.70},{18.38,42.85},
  {66.80,71.14},{84.56,105.13},{83.69,106.03},{86.16,136.85},
  {73.01,115.11},{21.03,42.77},{ 5.68,35.39},{26.00,47.86},
  {49.04,70.02},{42.01,67.58},{63.84,85.45},{33.99,69.31},
  {82.27,131.39},{23.91,50.83},{71.22,99.28},{50.90,74.42},
  {63.43,127.34},{64.52,101.94},{26.16,46.94},{93.75,135.33},
  {24.45,60.31},{27.07,59.56},{ 6.63,30.60},{96.60,103.76},
  {84.70,100.29},{40.94,60.39},{20.97,72.10},{52.04,88.50},
  {29.82,67.23},{49.00,81.70},{ 6.81,26.55},{74.02,127.44},
  {11.94,22.42},{76.65,85.37},{20.12,51.68},{30.81,57.82},
  {84.34,110.19},{24.62,50.82},{ 2.39,29.61},{71.27,119.05},
  { 7.65,27.22},{52.06,76.39},{18.30,40.25},{ 7.64,39.02},
  {81.37,106.20},{11.52,27.99},{40.32,45.07},{78.58,96.79},
  {95.95,121.82},{27.46,63.07},{55.87,94.45},{ 0.70,24.57},
  {97.99,132.86},{33.66,48.20},{90.80,151.81},{26.50,52.14},
  {43.63,58.92},{89.43,133.69},{86.56,118.66},{62.23,64.55},
  {24.14,57.02},{57.77,94.64},{42.50,74.10},{51.19,77.93},
  {12.87,44.92},{60.37,77.71},{33.65,73.18},{23.54,49.79},
  { 4.28,23.60},{60.19,102.95},{34.91,64.20},{88.52,103.35},
  {58.87,90.38},{93.30,118.97},{56.23,97.15},{91.77,116.53},
  {69.16,91.38},{42.31,66.76},{47.95,72.87},{25.19,49.40},
  {86.48,119.90},{40.74,69.72},{43.28,74.73},{98.01,106.18},
  { 7.77,36.49},{94.93,125.37},{56.76,70.90},{ 2.03,26.08},
  { 8.43,32.71},{53.25,108.51},{42.03,79.29},{70.05,99.48},
  {28.46,47.84},{52.90,65.89},{13.78,27.18},{34.73,79.88},
  {58.46,88.84},{90.98,131.32},{ 6.97,23.44},{42.35,84.44},
  {97.08,125.68},{48.45,70.66},{60.29,86.37},{49.84,57.71},
  {19.48,52.06},{92.02,129.81},{58.61,96.17},{18.01,52.96},
  {30.69,50.44},{75.70,98.74},{86.50,110.18},{94.28,139.99},
  {27.65,44.94},{20.51,49.15},{95.70,113.23},{14.88,32.87},
  {13.01,42.81},{61.35,84.81},{42.95,70.86},{33.19,37.43},
  {54.06,69.36},{47.79,68.21},{37.46,66.41},{24.05,53.35},
  {91.70,128.14},{43.79,49.26},{22.27,28.06},{81.85,107.34},
  { 2.84,26.03},{54.53,94.13},{83.91,101.50},{78.32,96.69},
  { 7.44,36.02},{94.55,131.05},{46.17,68.56},{47.07,65.63},
  {62.94,88.22},{37.56,69.79},{99.54,127.49},{23.76,20.87},
  {82.13,121.06},{39.69,52.19},{12.26,31.42},{84.10,129.77},
  {53.53,78.33},{73.41,110.28},{36.68,63.60},{16.80,45.02},
  { 7.14,36.68},{42.08,71.80},{59.56,107.04},{41.23,73.06},
  {86.11,115.39},{71.75,98.85},{94.78,127.67},{20.46,36.27},
  {32.55,75.12},{73.01,108.35},{50.16,88.92},{76.51,104.09},
  {55.23,78.03},{64.48,97.81},{75.78,109.67},{48.27,101.74},
  {13.65,37.06},{96.59,123.13},{ 9.52,23.72},{58.56,77.86},
  {14.02,58.67},{54.21,67.92},{25.33,63.98},{98.19,134.54},
  {23.06,39.93},{46.83,59.60},{72.45,100.56},{ 8.78,12.39},
  {67.85,110.33},{74.42,96.69},{70.35,89.57},{79.86,87.27},
  {51.62,92.07},{23.21,43.83},{ 1.10,45.80},{11.62,50.67},
  {67.71,101.40},{32.18,60.45},{65.00,79.10},{37.65,80.13},
  {78.68,116.54},{ 2.97,35.03},{20.43,34.06},{98.46,126.72},
  {28.90,63.72},{57.71,64.73},{28.10,48.16},{55.50,75.17},
  {23.52,51.43},{11.55,34.28},{93.45,125.26},{ 7.74,35.97},
  {99.28,125.32},{93.31,129.15},{67.44,92.65},{47.81,90.68},
  {27.28,50.50},{74.30,96.40},{37.61,50.42},{70.69,106.23},
  {65.21,105.68},{59.51,96.35},{85.72,124.26},{68.29,90.02},
  {26.36,47.68},{79.02,107.46},{61.82,79.06},{12.44,40.21},
  {67.46,93.41},{74.45,95.69},{62.39,101.43},{40.92,76.28},
  {91.90,124.93},{88.86,116.67},{56.85,92.67},{81.09,111.36},
  {56.09,77.71},{40.53,61.71},{67.86,101.91},{63.20,94.65},
  {31.41,62.11},{79.61,101.83},{33.32,70.06},{91.68,114.80},
  {89.03,123.14},{89.69,135.65},{37.56,57.58},{97.65,124.36},
  {87.50,120.56},{23.61,43.56},{53.59,90.38},{13.68,27.00},
  {92.77,142.42},{79.97,95.35},{49.32,69.95},{ 8.45,31.33},
  {57.25,99.90},{86.61,91.37},{53.29,111.56},{86.31,124.69},
  {11.88,36.51},{ 9.14,20.15},{99.57,159.36},{ 6.12,35.23},
  {10.58,25.41},{70.37,101.96},{52.44,73.19},{ 4.59,36.48},
  {91.91,119.19},{ 2.21,26.61},{82.30,110.67},{77.81,114.88},
  {85.43,120.93},{31.16,46.24},{71.60,97.68},{50.43,97.09},
  {32.08,53.51},{80.72,120.18},{15.79,43.38},{89.43,120.66},
  {86.62,126.08},{71.40,106.75},{97.96,140.90},{72.58,115.59},
  {87.40,122.87},{17.73,25.54},{91.01,120.51},{68.14,100.61},
  {47.56,76.98},{ 0.17,30.13},{17.60,43.35},{44.43,68.59},
  {23.39,58.25},{44.67,63.18},{ 1.49, 6.99},{47.53,59.73},
  {92.72,139.16},{71.00,119.66},{ 3.23,25.45},{90.94,129.26},
  {84.62,121.43},{24.91,45.74},{77.20,103.91},{34.40,50.34},
  {65.07,84.03},{61.97,91.46},{17.00,48.85},{88.77,116.15},
  {11.65,29.84},{29.62,61.89},{44.19,80.67},{12.99,44.45},
  {59.13,90.89},{80.87,101.25},{ 0.62,49.37},{95.45,131.92},
  {21.49,53.63},{73.19,104.63},{47.94,75.73},{61.52,96.93},
  {77.57,110.03},{56.90,84.44},{71.63,106.43},{ 7.28,41.55},
  { 6.10,20.51},{55.83,88.97},{63.35,79.25},{21.40,33.97},
  {42.88,79.00},{99.78,129.69},{28.85,51.85},{29.17,56.19},
  {82.46,120.73},{39.16,75.27},{23.55,56.73},{91.77,151.17},
  {86.84,100.56},{95.11,135.84},{ 3.81,29.30},{ 3.01, 9.88},
  {91.61,131.55},{20.07,38.71},{78.58,106.18},{71.69,85.02},
  {58.34,81.29},{11.17,48.86},{92.10,123.10},{33.79,59.43},
  {41.90,85.35},{34.73,56.23},{15.52,29.19},{10.70,36.36},
  {16.63,44.55},{64.90,94.69},{56.40,72.86},{96.02,134.14},
  {94.06,135.66},{81.44,110.23},{61.28,82.70},{86.17,133.47},
  {10.26,44.22},{48.77,75.52},{87.55,117.57},{98.60,132.42},
  {83.15,124.33},{70.18,85.08},{37.69,52.66},{70.69,107.51},
  {23.17,40.86},{11.11,33.19},{ 2.60,16.37},{96.02,122.01},
  {63.31,90.15},{34.63,66.56},{55.82,90.79},{25.40,50.60},
  { 7.06,38.27},{12.53,21.48},{ 4.66,14.08},{14.07,38.83},
  {89.02,115.45},{56.75,78.71},{75.35,88.46},{10.74,32.40},
  {48.46,78.69},{50.88,90.85},{21.50,55.96},{64.18,106.00},
  {29.80,50.60},{36.22,54.69},{31.54,46.65},{44.07,52.18},
  {76.01,87.63},{79.40,94.40},{98.57,135.11},{73.75,86.73},
  {32.81,60.28},{94.83,127.77},{59.86,100.44},{91.17,114.51},
  {12.45,36.03},{96.12,120.33},{75.38,112.33},{96.21,128.60},
  {27.28,43.65},{39.84,79.21},{42.42,61.93},{ 3.14,18.36},
  {89.49,134.56},{ 8.81,23.46},{90.18,119.62},{20.01,54.51},
  {14.96,42.60},{73.66,108.71},{79.39,105.20},{53.14,89.57},
  {87.37,103.38},{75.70,124.08},{22.89,46.74},{32.28,75.99},
  {52.45,73.07},{ 9.29,33.95},{75.06,94.59},{58.17,95.66},
  {46.06,62.02},{76.49,105.19},{17.85,52.56},{69.27,107.40},
  {27.00,32.43},{63.55,95.03},{54.19,112.48},{ 1.77,-0.91},
  {91.14,131.90},{49.38,77.77},{57.64,87.83},{59.84,100.60},
  { 1.17,20.81},{70.60,112.33},{26.79,46.76},{75.93,103.25},
  {53.28,98.53},{52.44,73.11},{82.39,111.91},{84.95,113.72},
  {75.00,114.27},{57.56,84.28},{50.70,67.68},{26.36,69.76},
  {41.88,72.04},{ 2.29, 8.78},{29.33,69.36},{ 0.39, 9.25},
  {38.82,53.53},{35.39,63.67},{ 4.59,38.87},{ 7.21,34.25},
  {18.96,39.42},{30.84,60.42},{70.07,99.18},{97.73,143.94},
  {65.34,97.35},{93.44,125.63},{66.65,100.86},{39.62,69.03},
  {26.26,45.54},{75.41,117.77},{66.81,85.59},{18.88,39.74},
  {25.60,57.85},{89.71,128.71},{25.73,54.25},{ 6.42,35.83},
  {54.34,90.64},{30.92,52.50},{79.92,109.17},{37.04,48.19},
  {90.13,105.54},{ 1.86,15.53},{84.30,126.26},{47.55,88.77},
  {97.19,128.94},{72.28,101.30},{15.77,47.08},{75.83,108.56},
  {60.49,106.00},{50.72,91.64},{17.36,36.36},{22.38,65.07},
  {45.71,73.00},{18.96,38.13},{59.62,95.16},{ 3.62, 9.04},
  {14.39,46.96},{29.11,50.08},{ 6.08,40.14},{71.40,90.42},
  {93.40,121.75},{80.18,122.34},{41.58,70.11},{30.19,62.87},
  {15.58,39.65},{ 2.04,34.20},{13.30,27.91},{ 5.90,38.42},
  {86.92,99.01},{39.11,75.84},{52.97,94.99},{29.49,54.34},
  {92.40,141.60},{95.25,117.77},{89.83,118.20},{17.93,32.44},
  {67.51,108.68},{71.79,92.84},{26.96,30.39},{95.58,137.89},
  {37.41,75.87},{28.77,53.56},{31.51,60.71},{89.02,103.92},
  { 6.57,24.83},{46.65,60.05},{87.61,133.66},{55.43,91.77},
  {99.61,114.04},{ 8.58,24.28},{72.64,93.69},{64.98,84.64},
  {26.78,62.76},{48.30,89.07},{46.45,83.27},{65.05,86.62},
  {87.70,104.60},{52.55,75.05},{94.38,126.14},{49.67,60.46},
  {79.60,117.39},{84.91,110.25},{72.88,96.21},{24.20,50.59},
  {82.32,102.81},{35.32,51.30},{63.80,83.86},{90.49,112.62},
  {70.10,116.34},{40.18,66.98},{88.93,135.84},{49.86,96.62},
  { 6.19,35.19},{94.13,110.02},{92.73,127.53},{29.71,52.48},
  {28.99,37.23},{85.58,116.09},{97.50,141.54},{ 1.13,26.22},
  {95.21,117.79},{35.68,64.99},{90.78,123.59},{40.28,83.34},
  {93.53,120.60},{99.16,130.41},{69.71,103.90},{62.89,75.23},
  {95.35,157.36},{28.76,53.43},{18.23,37.25},{36.28,71.43},
  {38.14,61.35},{34.55,61.35},{28.16,39.07},{74.42,90.63},
  {39.54,69.77},{81.82,118.29},{36.13,58.44},{87.52,125.78},
  {59.17,95.21},{ 1.18,20.54},{28.90,69.59},{70.44,106.16},
  {16.27,34.53},{25.14,54.61},{26.25,46.75},{ 9.09,38.19},
  {46.65,69.63},{25.83,42.75},{86.86,137.20},{37.34,80.87},
  {76.91,109.10},{65.34,99.86},{54.88,74.35},{18.16,44.11},
  {51.86,77.14},{39.26,80.22},{ 9.96,23.45},{29.17,53.30},
  {47.53,69.06},{54.09,83.78},{99.01,106.97},{75.74,101.47},
  {91.20,130.12},{13.45,39.52},{45.13,73.46},{34.59,66.91},
  {85.52,108.74},{74.56,83.25},{ 2.84,21.61},{39.19,79.98},
  {99.60,136.33},{64.64,93.93},{81.40,112.90},{80.99,111.74},
  {27.12,60.72},{88.86,129.99},{72.75,107.24},{ 8.23,32.74},
  {26.54,72.28},{40.38,71.89},{25.78,55.94},{29.60,44.89},
  {96.50,126.32},{73.51,86.15},{55.44,71.67},{88.05,120.43},
  {98.23,124.87},{83.14,120.90},{12.94,40.30},{ 3.11,23.56},
  { 5.75,26.47},{ 3.61,14.32},{43.88,57.83},{67.04,99.97},
  {37.45,75.91},{ 9.11,29.62},{60.23,94.20},{71.27,121.40},
  {13.52,28.40},{81.99,126.95},{77.24,106.70},{76.76,120.98},
  {91.78,110.19},{57.18,76.57},{ 2.21,24.84},{44.33,74.56},
  {72.59,94.18},{45.75,61.53},{56.32,81.85},{41.52,65.65},
  {52.87,93.33},{38.56,54.99},{99.44,131.48},{15.62,50.77},
  { 6.17,47.76},{70.92,105.91},{55.79,80.31},{38.47,49.54},
  {29.95,54.48},{70.60,92.43},{30.62,65.87},{22.35,54.38},
  {76.54,100.85},{99.82,136.65},{62.91,102.27},{45.10,59.86},
  {56.19,92.69},{88.97,134.24},{30.38,59.80},{42.77,65.73},
  {59.61,81.77},{ 4.39,27.50},{10.08,14.46},{38.15,44.72},
  {73.02,106.18},{15.05,29.23},{57.12,88.48},{60.38,89.57},
  {47.78,83.80},{77.52,119.08},{74.17,107.35},{ 7.18,41.70},
  {89.65,135.86},{65.54,89.68},{41.46,66.37},{ 6.49,37.83},
  {47.11,77.42},{93.16,145.25},{29.22,59.79},{31.49,74.48},
  {49.95,81.42},{80.68,116.42},{42.77,71.65},{79.81,98.09},
  {11.49,36.53},{69.71,92.14},{98.61,137.83},{ 2.06,12.89},
  {19.59,52.47},{39.88,73.17},{36.54,59.25},{97.33,117.23},
  {33.73,71.77},{13.73,42.62},{30.33,80.15},{38.74,54.58},
  {13.51,22.00},{35.18,71.99},{76.01,114.80},{23.70,38.91},
  { 1.05,36.68},{56.02,91.15},{87.23,107.00},{89.94,119.06},
  {61.07,82.29},{57.11,77.86},{51.87,76.38},{26.32,42.12},
  {24.85,48.18},{16.42,45.70},{ 3.38,34.14},{ 2.15,29.78},
  {33.70,57.28},{ 5.49,15.96},{ 5.93,27.03},{35.60,61.48},
  {67.87,92.28},{73.38,112.27},{ 5.19,22.07},{14.63,49.33},
  {73.40,108.49},{96.35,136.61},{89.90,118.44},{75.21,105.21},
  {71.51,125.63},{76.28,86.34},{73.08,94.95},{37.44,67.60},
  {67.20,102.08},{40.97,69.34},{91.50,132.04},{ 1.45,23.90},
  { 3.77,35.09},{39.31,52.32},{46.32,90.70},{30.69,45.53},
  {42.62,80.56},{72.20,108.15},{14.53,42.16},{84.98,106.08},
  {70.98,117.10},{15.22,36.41},{56.72,94.78},{98.54,132.26},
  {91.57,126.73},{63.97,99.65},{83.61,113.56},{38.61,53.06},
  {42.91,80.55},{96.28,141.26},{53.92,77.85},{92.10,126.52},
  {98.60,113.91},{90.29,117.81},{31.26,56.93},{70.75,101.33},
  {51.87,79.32},{50.86,80.59},{56.39,75.72},{71.63,97.31},
  {42.90,69.19},{40.23,67.54},{39.88,66.03},{35.67,57.92},
  {86.43,124.36},{74.87,104.27},{44.42,93.21},{84.58,119.83},
  {90.52,115.12},{43.61,71.83},{ 5.44,27.81},{46.09,68.62}};

double residual_error(double x, double y, double m, double c) {
  double e = (m * x) + c - y;
  return e * e;
}

__device__ double d_residual_error(double x, double y, double m, double c) {
  double e = (m * x) + c - y;
  return e * e;
}

double rms_error(double m, double c) {
  int i;
  double mean;
  double error_sum = 0;
  
  for(i=0; i<n_data; i++) {
    error_sum += residual_error(data[i].x, data[i].y, m, c);
  }
  
  mean = error_sum / n_data;
  
  return sqrt(mean);
}

__global__ void d_rms_error(double *m, double *c, double *error_sum_arr, point_t *d_data) {

	int i = threadIdx.x + blockIdx.x * blockDim.x;

  error_sum_arr[i] = d_residual_error(d_data[i].x, d_data[i].y, *m, *c);
}

int time_difference(struct timespec *start, struct timespec *finish, 
                              long long int *difference) {
  long long int ds =  finish->tv_sec - start->tv_sec; 
  long long int dn =  finish->tv_nsec - start->tv_nsec; 

  if(dn < 0 ) {
    ds--;
    dn += 1000000000; 
  } 
  *difference = ds * 1000000000 + dn;
  return !(*difference > 0);
}

int main() {
  int i;
  double bm = 1.3;
  double bc = 10;
  double be;
  double dm[8];
  double dc[8];
  double e[8];
  double step = 0.01;
  double best_error = 999999999;
  int best_error_i;
  int minimum_found = 0;
  
  double om[] = {0,1,1, 1, 0,-1,-1,-1};
  double oc[] = {1,1,0,-1,-1,-1, 0, 1};

	struct timespec start, finish;   
  long long int time_elapsed;

	
  clock_gettime(CLOCK_MONOTONIC, &start);

	cudaError_t error;

	
  double *d_dm;
  double *d_dc;
	double *d_error_sum_arr;
	point_t *d_data;
	
  be = rms_error(bm, bc);

	
	error = cudaMalloc(&d_dm, (sizeof(double) * 8));
 	if(error){
   	fprintf(stderr, "cudaMalloc on d_dm returned %d %s\n", error,
    	cudaGetErrorString(error));
   	exit(1);
 	}
	
	
	error = cudaMalloc(&d_dc, (sizeof(double) * 8));
 	if(error){
   	fprintf(stderr, "cudaMalloc on d_dc returned %d %s\n", error,
  	  cudaGetErrorString(error));
   	exit(1);
 	}
	
	
	error = cudaMalloc(&d_error_sum_arr, (sizeof(double) * 1000));
 	if(error){
   	fprintf(stderr, "cudaMalloc on d_error_sum_arr returned %d %s\n", error,
   	  cudaGetErrorString(error));
   	exit(1);
 	}

	
	error = cudaMalloc(&d_data, sizeof(data));
 	if(error){
   	fprintf(stderr, "cudaMalloc on d_data returned %d %s\n", error,
   	  cudaGetErrorString(error));
   	exit(1);
 	}

  while(!minimum_found) {
    for(i=0;i<8;i++) {
      dm[i] = bm + (om[i] * step);
      dc[i] = bc + (oc[i] * step);    
    }

		
  	error = cudaMemcpy(d_dm, dm, (sizeof(double) * 8), cudaMemcpyHostToDevice);  
  	if(error){
    	fprintf(stderr, "cudaMemcpy to d_dm returned %d %s\n", error,
      cudaGetErrorString(error));
  	}

		
  	error = cudaMemcpy(d_dc, dc, (sizeof(double) * 8), cudaMemcpyHostToDevice);  
  	if(error){
    	fprintf(stderr, "cudaMemcpy to d_dc returned %d %s\n", error,
      cudaGetErrorString(error));
  	}

		
  	error = cudaMemcpy(d_data, data, sizeof(data), cudaMemcpyHostToDevice);  
  	if(error){
    	fprintf(stderr, "cudaMemcpy to d_data returned %d %s\n", error,
      cudaGetErrorString(error));
  	}
		
    for(i=0;i<8;i++) {
			
			double h_error_sum_arr[1000];
			double error_sum_total;
			double error_sum_mean;
			d_rms_error <<<100,10>>>(&d_dm[i], &d_dc[i], d_error_sum_arr, d_data);
			cudaThreadSynchronize();
		  error = cudaMemcpy(&h_error_sum_arr, d_error_sum_arr, (sizeof(double) * 1000), cudaMemcpyDeviceToHost);  
		  if(error){
	    fprintf(stderr, "cudaMemcpy to error_sum returned %d %s\n", error,
	      cudaGetErrorString(error));
		  }
			for(int j=0; j<n_data; j++) {
    		error_sum_total += h_error_sum_arr[j];
  		}

			error_sum_mean = error_sum_total / n_data;
			e[i] = sqrt(error_sum_mean);

      if(e[i] < best_error) {
        best_error = e[i];
        best_error_i = i;
      }

			error_sum_total = 0;
    }


    if(best_error < be) {
      be = best_error;
      bm = dm[best_error_i];
      bc = dc[best_error_i];
    } else {
      minimum_found = 1;
    }
  }

	error = cudaFree(d_dm);
	if(error){
		fprintf(stderr, "cudaFree on d_dm returned %d %s\n", error,
	  	cudaGetErrorString(error));
		exit(1);
	}
	
	error = cudaFree(d_dc);
	if(error){
		fprintf(stderr, "cudaFree on d_dc returned %d %s\n", error,
			cudaGetErrorString(error));
		exit(1);
	}

	error = cudaFree(d_data);
	if(error){
		fprintf(stderr, "cudaFree on d_data returned %d %s\n", error,
	  	cudaGetErrorString(error));
	 	exit(1);
	}
		
	error = cudaFree(d_error_sum_arr);
	if(error){
		fprintf(stderr, "cudaFree on d_error_sum_arr returned %d %s\n", error,
	  	cudaGetErrorString(error));
	 	exit(1);
	}

  printf("minimum m,c is %lf,%lf with error %lf\n", bm, bc, be);

	clock_gettime(CLOCK_MONOTONIC, &finish);

  time_difference(&start, &finish, &time_elapsed);

  printf("Time elapsed was %lldns or %0.9lfs\n", time_elapsed, 
         (time_elapsed/1.0e9));
	
  return 0;
}

	.file	"tmpxft_0033c49c_00000000-6_Q2.1_a.cudafe1.cpp"
	.text
#APP

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB2047:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE2047:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.globl	_Z14residual_errordddd
	.type	_Z14residual_errordddd, @function
_Z14residual_errordddd:
.LFB2040:
	.cfi_startproc
	endbr64
	mulsd	%xmm0, %xmm2
	addsd	%xmm3, %xmm2
	subsd	%xmm1, %xmm2
	movaps	%xmm2, %xmm0
	mulsd	%xmm2, %xmm0
	ret
	.cfi_endproc
.LFE2040:
	.size	_Z14residual_errordddd, .-_Z14residual_errordddd
	.globl	_Z16d_residual_errordddd
	.type	_Z16d_residual_errordddd, @function
_Z16d_residual_errordddd:
.LFB2041:
	.cfi_startproc
	endbr64
	pushq	%rax
	.cfi_def_cfa_offset 16
	popq	%rax
	.cfi_def_cfa_offset 8
	subq	$24, %rsp
	.cfi_def_cfa_offset 32
	movl	$1, 12(%rsp)
	movl	12(%rsp), %edi
	call	exit@PLT
	.cfi_endproc
.LFE2041:
	.size	_Z16d_residual_errordddd, .-_Z16d_residual_errordddd
	.globl	_Z9rms_errordd
	.type	_Z9rms_errordd, @function
_Z9rms_errordd:
.LFB2042:
	.cfi_startproc
	endbr64
	movl	n_data(%rip), %ecx
	leaq	data(%rip), %rax
	xorps	%xmm3, %xmm3
	xorl	%edx, %edx
.L6:
	cmpl	%edx, %ecx
	jle	.L9
	movsd	(%rax), %xmm2
	incl	%edx
	addq	$16, %rax
	mulsd	%xmm0, %xmm2
	addsd	%xmm1, %xmm2
	subsd	-8(%rax), %xmm2
	mulsd	%xmm2, %xmm2
	addsd	%xmm2, %xmm3
	jmp	.L6
.L9:
	cvtsi2sdl	%ecx, %xmm0
	divsd	%xmm0, %xmm3
	movaps	%xmm3, %xmm0
	jmp	sqrt@PLT
	.cfi_endproc
.LFE2042:
	.size	_Z9rms_errordd, .-_Z9rms_errordd
	.globl	_Z15time_differenceP8timespecS0_Px
	.type	_Z15time_differenceP8timespecS0_Px, @function
_Z15time_differenceP8timespecS0_Px:
.LFB2043:
	.cfi_startproc
	endbr64
	movq	(%rsi), %rax
	movq	8(%rsi), %rcx
	subq	(%rdi), %rax
	subq	8(%rdi), %rcx
	jns	.L11
	decq	%rax
	addq	$1000000000, %rcx
.L11:
	imulq	$1000000000, %rax, %rax
	addq	%rcx, %rax
	testq	%rax, %rax
	movq	%rax, (%rdx)
	setle	%al
	movzbl	%al, %eax
	ret
	.cfi_endproc
.LFE2043:
	.size	_Z15time_differenceP8timespecS0_Px, .-_Z15time_differenceP8timespecS0_Px
	.globl	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.type	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t, @function
_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t:
.LFB2069:
	.cfi_startproc
	endbr64
	subq	$152, %rsp
	.cfi_def_cfa_offset 160
	movq	%rdi, 24(%rsp)
	leaq	56(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	68(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	40(%rsp), %rdx
	movq	%rcx, (%rsp)
	leaq	48(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 136(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 64(%rsp)
	movq	%rax, 104(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 112(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 120(%rsp)
	movq	%rsp, %rax
	movq	%rax, 128(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 56(%rsp)
	movq	%rax, 68(%rsp)
	movl	$1, 76(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L12
	pushq	48(%rsp)
	.cfi_def_cfa_offset 168
	leaq	_Z11d_rms_errorPdS_S_P7point_t(%rip), %rdi
	pushq	48(%rsp)
	.cfi_def_cfa_offset 176
	movq	84(%rsp), %rcx
	movl	92(%rsp), %r8d
	movq	72(%rsp), %rsi
	movl	80(%rsp), %edx
	leaq	120(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 168
	popq	%rdx
	.cfi_def_cfa_offset 160
.L12:
	movq	136(%rsp), %rax
	subq	%fs:40, %rax
	je	.L14
	call	__stack_chk_fail@PLT
.L14:
	addq	$152, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2069:
	.size	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t, .-_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.globl	_Z11d_rms_errorPdS_S_P7point_t
	.type	_Z11d_rms_errorPdS_S_P7point_t, @function
_Z11d_rms_errorPdS_S_P7point_t:
.LFB2070:
	.cfi_startproc
	endbr64
	jmp	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.cfi_endproc
.LFE2070:
	.size	_Z11d_rms_errorPdS_S_P7point_t, .-_Z11d_rms_errorPdS_S_P7point_t
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC6:
	.string	"cudaMalloc on d_dm returned %d %s\n"
.LC7:
	.string	"cudaMalloc on d_dc returned %d %s\n"
.LC8:
	.string	"cudaMalloc on d_error_sum_arr returned %d %s\n"
.LC9:
	.string	"cudaMalloc on d_data returned %d %s\n"
.LC11:
	.string	"cudaMemcpy to d_dm returned %d %s\n"
.LC12:
	.string	"cudaMemcpy to d_dc returned %d %s\n"
.LC13:
	.string	"cudaMemcpy to d_data returned %d %s\n"
.LC14:
	.string	"cudaMemcpy to error_sum returned %d %s\n"
.LC15:
	.string	"cudaFree on d_dm returned %d %s\n"
.LC16:
	.string	"cudaFree on d_dc returned %d %s\n"
.LC17:
	.string	"cudaFree on d_data returned %d %s\n"
.LC18:
	.string	"cudaFree on d_error_sum_arr returned %d %s\n"
.LC19:
	.string	"minimum m,c is %lf,%lf with error %lf\n"
.LC21:
	.string	"Time elapsed was %lldns or %0.9lfs\n"
	.section	.rodata
	.align 32
.LC0:
	.long	0
	.long	0
	.long	0
	.long	1072693248
	.long	0
	.long	1072693248
	.long	0
	.long	1072693248
	.long	0
	.long	0
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.align 32
.LC1:
	.long	0
	.long	1072693248
	.long	0
	.long	1072693248
	.long	0
	.long	0
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.long	0
	.long	0
	.long	0
	.long	1072693248
	.section	.text.startup,"ax",@progbits
	.globl	main
	.type	main, @function
main:
.LFB2044:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$4096, %rsp
	.cfi_def_cfa_offset 4152
	orq	$0, (%rsp)
	subq	$4096, %rsp
	.cfi_def_cfa_offset 8248
	orq	$0, (%rsp)
	subq	$216, %rsp
	.cfi_def_cfa_offset 8464
	leaq	.LC0(%rip), %rsi
	movl	$16, %ecx
	movq	%fs:40, %rax
	movq	%rax, 8392(%rsp)
	xorl	%eax, %eax
	leaq	104(%rsp), %rax
	leaq	264(%rsp), %rdi
	rep movsl
	leaq	328(%rsp), %rdi
	leaq	.LC1(%rip), %rsi
	movl	$16, %ecx
	rep movsl
	movq	%rax, %rsi
	movl	$1, %edi
	movq	%rax, 32(%rsp)
	call	clock_gettime@PLT
	movsd	.LC4(%rip), %xmm1
	movsd	.LC5(%rip), %xmm0
	call	_Z9rms_errordd
	leaq	56(%rsp), %rdi
	movl	$64, %esi
	movsd	%xmm0, 8(%rsp)
	call	cudaMalloc@PLT
	testl	%eax, %eax
	je	.L18
	movl	%eax, %edi
	movl	%eax, %ebx
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC6(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L18:
	leaq	64(%rsp), %rdi
	movl	$64, %esi
	call	cudaMalloc@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L19
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC7(%rip), %rdx
	movq	%rax, %r8
.L59:
	movq	stderr(%rip), %rdi
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movl	$1, %edi
	call	exit@PLT
.L19:
	leaq	72(%rsp), %rdi
	movl	$8000, %esi
	call	cudaMalloc@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L20
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC8(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L20:
	leaq	80(%rsp), %rdi
	movl	$16000, %esi
	call	cudaMalloc@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L40
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC9(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L40:
	movq	.LC4(%rip), %rax
	movsd	.LC3(%rip), %xmm6
	leaq	264(%rsp), %r14
	leaq	328(%rsp), %r15
	movq	%rax, 24(%rsp)
	movq	.LC5(%rip), %rax
	movsd	%xmm6, (%rsp)
	movq	%rax, 16(%rsp)
.L21:
	xorl	%eax, %eax
	leaq	200(%rsp), %rbx
.L22:
	movsd	.LC10(%rip), %xmm0
	mulsd	(%r14,%rax), %xmm0
	leaq	136(%rsp), %rsi
	addsd	16(%rsp), %xmm0
	movsd	%xmm0, 136(%rsp,%rax)
	movsd	.LC10(%rip), %xmm0
	mulsd	(%r15,%rax), %xmm0
	addq	$8, %rax
	addsd	24(%rsp), %xmm0
	movsd	%xmm0, -8(%rax,%rbx)
	cmpq	$64, %rax
	jne	.L22
	movq	56(%rsp), %rdi
	movl	$1, %ecx
	movl	$64, %edx
	call	cudaMemcpy@PLT
	movl	%eax, %r12d
	testl	%eax, %eax
	je	.L23
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movq	stderr(%rip), %rdi
	movl	%r12d, %ecx
	leaq	.LC11(%rip), %rdx
	movq	%rax, %r8
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L23:
	movq	64(%rsp), %rdi
	movq	%rbx, %rsi
	movl	$1, %ecx
	movl	$64, %edx
	call	cudaMemcpy@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L24
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movq	stderr(%rip), %rdi
	movl	%ebx, %ecx
	leaq	.LC12(%rip), %rdx
	movq	%rax, %r8
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L24:
	movq	80(%rsp), %rdi
	movl	$1, %ecx
	movl	$16000, %edx
	leaq	data(%rip), %rsi
	call	cudaMemcpy@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L25
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movq	stderr(%rip), %rdi
	movl	%ebx, %ecx
	leaq	.LC13(%rip), %rdx
	movq	%rax, %r8
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L25:
	movabsq	$4294967306, %r12
	xorl	%ebx, %ebx
.L32:
	movl	$1073741849, %edi
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movq	%r12, %rdx
	salq	$2, %rdi
	movl	$1, %ecx
	movl	$1, %esi
	movq	%r12, 120(%rsp)
	movl	$1, 128(%rsp)
	movq	%rdi, 88(%rsp)
	movl	$1, 96(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L26
	movq	64(%rsp), %rsi
	leaq	0(,%rbx,8), %rdi
	movq	80(%rsp), %rcx
	movq	72(%rsp), %rdx
	addq	%rdi, %rsi
	addq	56(%rsp), %rdi
	call	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
.L26:
	call	cudaThreadSynchronize@PLT
	movq	72(%rsp), %rsi
	movl	$2, %ecx
	leaq	392(%rsp), %r13
	movl	$8000, %edx
	movq	%r13, %rdi
	call	cudaMemcpy@PLT
	testl	%eax, %eax
	je	.L27
	movl	%eax, %edi
	movl	%eax, 44(%rsp)
	call	cudaGetErrorString@PLT
	movl	44(%rsp), %ecx
	movl	$2, %esi
	movq	stderr(%rip), %rdi
	movq	%rax, %r8
	leaq	.LC14(%rip), %rdx
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L27:
	movl	n_data(%rip), %edx
	xorl	%eax, %eax
	xorps	%xmm0, %xmm0
.L28:
	cmpl	%eax, %edx
	jle	.L60
	addsd	0(%r13,%rax,8), %xmm0
	incq	%rax
	jmp	.L28
.L60:
	cvtsi2sdl	%edx, %xmm1
	divsd	%xmm1, %xmm0
	call	sqrt@PLT
	movsd	(%rsp), %xmm5
	comisd	%xmm0, %xmm5
	minsd	%xmm5, %xmm0
	cmova	%ebx, %ebp
	incq	%rbx
	movsd	%xmm0, (%rsp)
	cmpq	$8, %rbx
	jne	.L32
	movsd	8(%rsp), %xmm7
	comisd	%xmm0, %xmm7
	jbe	.L57
	movslq	%ebp, %rax
	movsd	%xmm0, 8(%rsp)
	movsd	136(%rsp,%rax,8), %xmm3
	movsd	200(%rsp,%rax,8), %xmm4
	movsd	%xmm3, 16(%rsp)
	movsd	%xmm4, 24(%rsp)
	jmp	.L21
.L57:
	movq	56(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L35
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC15(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L35:
	movq	64(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L36
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC16(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L36:
	movq	80(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L37
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC17(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L37:
	movq	72(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L38
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC18(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L38:
	movsd	16(%rsp), %xmm0
	movsd	8(%rsp), %xmm2
	movb	$3, %al
	leaq	.LC19(%rip), %rsi
	movsd	24(%rsp), %xmm1
	movl	$2, %edi
	leaq	120(%rsp), %rbx
	call	__printf_chk@PLT
	movq	%rbx, %rsi
	movl	$1, %edi
	call	clock_gettime@PLT
	movq	32(%rsp), %rdi
	leaq	88(%rsp), %rdx
	movq	%rbx, %rsi
	call	_Z15time_differenceP8timespecS0_Px
	movq	88(%rsp), %rdx
	leaq	.LC21(%rip), %rsi
	movb	$1, %al
	movl	$2, %edi
	cvtsi2sdq	%rdx, %xmm0
	divsd	.LC20(%rip), %xmm0
	call	__printf_chk@PLT
	movq	8392(%rsp), %rax
	subq	%fs:40, %rax
	je	.L39
	call	__stack_chk_fail@PLT
.L39:
	addq	$8408, %rsp
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2044:
	.size	main, .-main
	.section	.rodata.str1.1
.LC24:
	.string	"_Z11d_rms_errorPdS_S_P7point_t"
.LC25:
	.string	"d_n_data"
	.section	.text.startup
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB2072:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	leaq	_ZL15__fatDeviceText(%rip), %rdi
	call	__cudaRegisterFatBinary@PLT
	pushq	$0
	.cfi_def_cfa_offset 24
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 32
	leaq	.LC24(%rip), %rdx
	movq	%rax, %rdi
	movq	%rax, %rbx
	pushq	$0
	.cfi_def_cfa_offset 40
	movq	%rdx, %rcx
	leaq	_Z11d_rms_errorPdS_S_P7point_t(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 48
	movq	%rax, _ZL20__cudaFatCubinHandle(%rip)
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r8d, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC25(%rip), %rdx
	movl	$4, %r9d
	leaq	_ZL8d_n_data(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	call	__cudaRegisterVar@PLT
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	popq	%rax
	.cfi_def_cfa_offset 24
	popq	%rdx
	.cfi_def_cfa_offset 16
	call	__cudaRegisterFatBinaryEnd@PLT
	leaq	_ZL26__cudaUnregisterBinaryUtilv(%rip), %rdi
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	atexit@PLT
	.cfi_endproc
.LFE2072:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.globl	data
	.data
	.align 32
	.type	data, @object
	.size	data, 16000
data:
	.long	687194767
	.long	1079308124
	.long	-1889785610
	.long	1079678402
	.long	-1030792151
	.long	1079138549
	.long	1030792151
	.long	1079801610
	.long	-1546188227
	.long	1079213424
	.long	-343597384
	.long	1079838801
	.long	858993459
	.long	1079231283
	.long	-2061584302
	.long	1079566827
	.long	1202590843
	.long	1079220961
	.long	687194767
	.long	1079959388
	.long	858993459
	.long	1079018291
	.long	-2061584302
	.long	1079456235
	.long	-2061584302
	.long	1079005675
	.long	1374389535
	.long	1079398072
	.long	-1202590843
	.long	1079280926
	.long	515396076
	.long	1079782277
	.long	0
	.long	1079181312
	.long	858993459
	.long	1079395123
	.long	-858993459
	.long	1079073996
	.long	-1030792151
	.long	1079527669
	.long	-1030792151
	.long	1079286005
	.long	687194767
	.long	1079885660
	.long	515396076
	.long	1078864773
	.long	-1717986918
	.long	1079249305
	.long	-1202590843
	.long	1078756638
	.long	-343597384
	.long	1079396433
	.long	-858993459
	.long	1079250124
	.long	2061584302
	.long	1080032788
	.long	1374389535
	.long	1079320248
	.long	171798692
	.long	1079669719
	.long	343597384
	.long	1079216046
	.long	-1202590843
	.long	1080077598
	.long	-1374389535
	.long	1079091527
	.long	-343597384
	.long	1079474257
	.long	-2061584302
	.long	1079460331
	.long	-171798692
	.long	1079995432
	.long	858993459
	.long	1079083827
	.long	-343597384
	.long	1079502929
	.long	-1202590843
	.long	1079059742
	.long	-687194767
	.long	1079394467
	.long	-858993459
	.long	1075498188
	.long	-515396076
	.long	1077949562
	.long	1717986918
	.long	1075340902
	.long	2061584302
	.long	1076866580
	.long	1717986918
	.long	1076913766
	.long	0
	.long	1078493184
	.long	-1546188227
	.long	1077943664
	.long	1374389535
	.long	1078329016
	.long	-1546188227
	.long	1078746480
	.long	-1202590843
	.long	1079092510
	.long	2061584302
	.long	1078988308
	.long	-2061584302
	.long	1079595499
	.long	-858993459
	.long	1078725836
	.long	1202590843
	.long	1079208673
	.long	858993459
	.long	1078694707
	.long	687194767
	.long	1079185244
	.long	171798692
	.long	1077027799
	.long	858993459
	.long	1077621555
	.long	-1717986918
	.long	1078040985
	.long	-1030792151
	.long	1079081205
	.long	-858993459
	.long	1078742220
	.long	-171798692
	.long	1079159848
	.long	-1546188227
	.long	1077263728
	.long	687194767
	.long	1078349660
	.long	515396076
	.long	1077029765
	.long	-1030792151
	.long	1078110453
	.long	1374389535
	.long	1079140024
	.long	171798692
	.long	1079514071
	.long	1202590843
	.long	1079331553
	.long	-1202590843
	.long	1080010014
	.long	-858993459
	.long	1079327948
	.long	1374389535
	.long	1079975608
	.long	-343597384
	.long	1079236689
	.long	-1030792151
	.long	1079920885
	.long	343597384
	.long	1079494574
	.long	-1889785610
	.long	1080055234
	.long	171798692
	.long	1077224407
	.long	-1202590843
	.long	1078519070
	.long	-1374389535
	.long	1073930567
	.long	687194767
	.long	1077948252
	.long	-1202590843
	.long	1078224158
	.long	-1030792151
	.long	1078991093
	.long	1202590843
	.long	1078352609
	.long	515396076
	.long	1078840197
	.long	515396076
	.long	1078979461
	.long	-2061584302
	.long	1079427563
	.long	-687194767
	.long	1078218915
	.long	-515396076
	.long	1078711418
	.long	0
	.long	1074987008
	.long	-171798692
	.long	1077967912
	.long	343597384
	.long	1078028206
	.long	1202590843
	.long	1078672097
	.long	-1202590843
	.long	1077658910
	.long	1202590843
	.long	1078704865
	.long	1717986918
	.long	1079363174
	.long	-1546188227
	.long	1079909744
	.long	-1030792151
	.long	1077897461
	.long	858993459
	.long	1078498099
	.long	-1202590843
	.long	1078027550
	.long	-1374389535
	.long	1078542663
	.long	515396076
	.long	1077226373
	.long	-343597384
	.long	1078507601
	.long	-1546188227
	.long	1075953008
	.long	2061584302
	.long	1077489172
	.long	0
	.long	1079513088
	.long	171798692
	.long	1079989207
	.long	-1374389535
	.long	1077936455
	.long	2061584302
	.long	1078578708
	.long	-2061584302
	.long	1079271915
	.long	1546188227
	.long	1079886479
	.long	687194767
	.long	1076072284
	.long	1717986918
	.long	1078044262
	.long	-1030792151
	.long	1079093493
	.long	515396076
	.long	1079663493
	.long	-1717986918
	.long	1079191961
	.long	0
	.long	1079824384
	.long	1374389535
	.long	1078484664
	.long	0
	.long	1079103488
	.long	-858993459
	.long	1079373004
	.long	-1202590843
	.long	1079964958
	.long	1374389535
	.long	1075519160
	.long	515396076
	.long	1078537093
	.long	515396076
	.long	1079311237
	.long	-2061584302
	.long	1079976427
	.long	-1546188227
	.long	1075789168
	.long	-1374389535
	.long	1077985607
	.long	858993459
	.long	1077965619
	.long	0
	.long	1078788096
	.long	343597384
	.long	1078159278
	.long	-343597384
	.long	1079183441
	.long	-1546188227
	.long	1079315824
	.long	-1546188227
	.long	1079754096
	.long	2061584302
	.long	1077603860
	.long	171798692
	.long	1078739927
	.long	1030792151
	.long	1078056714
	.long	858993459
	.long	1079022387
	.long	515396076
	.long	1079401349
	.long	-1889785610
	.long	1080034754
	.long	0
	.long	1078206464
	.long	-1202590843
	.long	1078830366
	.long	687194767
	.long	1070763868
	.long	-1717986918
	.long	1077156249
	.long	-1889785610
	.long	1077638594
	.long	343597384
	.long	1078519726
	.long	-1717986918
	.long	1078843801
	.long	-1030792151
	.long	1079372021
	.long	343597384
	.long	1078355886
	.long	-1374389535
	.long	1079271751
	.long	0
	.long	1074855936
	.long	-1546188227
	.long	1078525296
	.long	858993459
	.long	1078768435
	.long	343597384
	.long	1079371694
	.long	515396076
	.long	1075374981
	.long	-1889785610
	.long	1077507522
	.long	-1202590843
	.long	1078109470
	.long	-343597384
	.long	1078761553
	.long	171798692
	.long	1077879767
	.long	-687194767
	.long	1078309027
	.long	-1889785610
	.long	1079289282
	.long	0
	.long	1079595008
	.long	2061584302
	.long	1077358100
	.long	-1030792151
	.long	1078511861
	.long	-858993459
	.long	1079327948
	.long	1202590843
	.long	1080040161
	.long	-858993459
	.long	1077791948
	.long	171798692
	.long	1078232023
	.long	687194767
	.long	1076465500
	.long	1546188227
	.long	1078395535
	.long	-2061584302
	.long	1076842987
	.long	687194767
	.long	1078374236
	.long	858993459
	.long	1079571251
	.long	-687194767
	.long	1080049827
	.long	1202590843
	.long	1079479009
	.long	-1202590843
	.long	1080073502
	.long	-1717986918
	.long	1077320089
	.long	0
	.long	1078878208
	.long	-171798692
	.long	1078909992
	.long	-1889785610
	.long	1079276994
	.long	-1889785610
	.long	1079571906
	.long	-1546188227
	.long	1079954800
	.long	171798692
	.long	1070638039
	.long	515396076
	.long	1077373829
	.long	1030792151
	.long	1078736650
	.long	1202590843
	.long	1079302881
	.long	-1889785610
	.long	1079494082
	.long	0
	.long	1080100864
	.long	1374389535
	.long	1079467704
	.long	1546188227
	.long	1080101519
	.long	1546188227
	.long	1079071375
	.long	1546188227
	.long	1079640719
	.long	-1889785610
	.long	1079526850
	.long	-1030792151
	.long	1080023285
	.long	-1030792151
	.long	1078741237
	.long	0
	.long	1079267328
	.long	-1546188227
	.long	1076116848
	.long	171798692
	.long	1078387671
	.long	-858993459
	.long	1079229644
	.long	2061584302
	.long	1079827988
	.long	343597384
	.long	1078847406
	.long	-515396076
	.long	1079182458
	.long	-2061584302
	.long	1077318123
	.long	1546188227
	.long	1077805711
	.long	1030792151
	.long	1079392010
	.long	1374389535
	.long	1079955128
	.long	1889785610
	.long	1077479997
	.long	-1889785610
	.long	1078465986
	.long	858993459
	.long	1073820467
	.long	-2061584302
	.long	1076924907
	.long	858993459
	.long	1071854387
	.long	-1889785610
	.long	1077310914
	.long	1374389535
	.long	1077386936
	.long	171798692
	.long	1078764503
	.long	687194767
	.long	1079115612
	.long	0
	.long	1079730176
	.long	2061584302
	.long	1079569940
	.long	-1030792151
	.long	1080066293
	.long	-1374389535
	.long	1078526279
	.long	2061584302
	.long	1079279124
	.long	-687194767
	.long	1076031651
	.long	343597384
	.long	1077610414
	.long	-515396076
	.long	1074992250
	.long	-687194767
	.long	1076965539
	.long	-343597384
	.long	1077082193
	.long	2061584302
	.long	1078709780
	.long	0
	.long	1075576832
	.long	-1717986918
	.long	1078040985
	.long	1030792151
	.long	1077319434
	.long	-687194767
	.long	1078980771
	.long	-1889785610
	.long	1078351298
	.long	1202590843
	.long	1079069409
	.long	1717986918
	.long	1079256678
	.long	-1546188227
	.long	1079524720
	.long	-1202590843
	.long	1078805790
	.long	-2061584302
	.long	1079575019
	.long	687194767
	.long	1079312220
	.long	-1202590843
	.long	1079899422
	.long	1374389535
	.long	1078517432
	.long	-171798692
	.long	1079295016
	.long	343597384
	.long	1079261102
	.long	-687194767
	.long	1079849123
	.long	-1374389535
	.long	1073144135
	.long	-1030792151
	.long	1077684469
	.long	343597384
	.long	1079527342
	.long	1546188227
	.long	1079726735
	.long	-687194767
	.long	1075933347
	.long	-1546188227
	.long	1078377840
	.long	1202590843
	.long	1069841121
	.long	-171798692
	.long	1076993064
	.long	-515396076
	.long	1078277242
	.long	0
	.long	1079025664
	.long	-858993459
	.long	1078873292
	.long	858993459
	.long	1079685939
	.long	1889785610
	.long	1079093821
	.long	1202590843
	.long	1079745249
	.long	1202590843
	.long	1078368993
	.long	1717986918
	.long	1078789734
	.long	1546188227
	.long	1077314191
	.long	-687194767
	.long	1078055075
	.long	1030792151
	.long	1079527178
	.long	-858993459
	.long	1080011980
	.long	-1030792151
	.long	1079384309
	.long	171798692
	.long	1080083415
	.long	-858993459
	.long	1079450828
	.long	171798692
	.long	1079608279
	.long	-687194767
	.long	1077473443
	.long	515396076
	.long	1078487941
	.long	-343597384
	.long	1076115537
	.long	2061584302
	.long	1078300180
	.long	1889785610
	.long	1079335485
	.long	-515396076
	.long	1079977082
	.long	-1889785610
	.long	1072756162
	.long	-1889785610
	.long	1077032386
	.long	-1030792151
	.long	1076472053
	.long	-515396076
	.long	1078269050
	.long	-687194767
	.long	1079537827
	.long	0
	.long	1080100864
	.long	-171798692
	.long	1079004200
	.long	-2061584302
	.long	1079677419
	.long	1889785610
	.long	1078233661
	.long	-1717986918
	.long	1079044505
	.long	1202590843
	.long	1079139041
	.long	343597384
	.long	1079711662
	.long	1717986918
	.long	1073636966
	.long	-515396076
	.long	1077138554
	.long	-1202590843
	.long	1079375134
	.long	1202590843
	.long	1079737057
	.long	-515396076
	.long	1077875834
	.long	2061584302
	.long	1079172628
	.long	1546188227
	.long	1077543567
	.long	-858993459
	.long	1078586572
	.long	687194767
	.long	1076940636
	.long	-1717986918
	.long	1077844377
	.long	171798692
	.long	1079137239
	.long	-1374389535
	.long	1079742791
	.long	-171798692
	.long	1074355240
	.long	-1717986918
	.long	1076976025
	.long	2061584302
	.long	1079139860
	.long	-1889785610
	.long	1079748034
	.long	1202590843
	.long	1078844129
	.long	687194767
	.long	1079312220
	.long	2061584302
	.long	1079434772
	.long	1030792151
	.long	1079736074
	.long	1030792151
	.long	1078712074
	.long	1374389535
	.long	1079078584
	.long	-343597384
	.long	1078171729
	.long	1030792151
	.long	1079174922
	.long	171798692
	.long	1077969879
	.long	1202590843
	.long	1079118561
	.long	171798692
	.long	1079002071
	.long	1202590843
	.long	1079392993
	.long	515396076
	.long	1076456325
	.long	1202590843
	.long	1078360801
	.long	687194767
	.long	1078882140
	.long	2061584302
	.long	1079426580
	.long	1717986918
	.long	1079547494
	.long	1030792151
	.long	1080133386
	.long	687194767
	.long	1076367196
	.long	-1374389535
	.long	1077436743
	.long	-1030792151
	.long	1076996341
	.long	-687194767
	.long	1077440675
	.long	-1717986918
	.long	1076173209
	.long	1546188227
	.long	1077887631
	.long	-2061584302
	.long	1079087595
	.long	687194767
	.long	1079566172
	.long	515396076
	.long	1077750661
	.long	-687194767
	.long	1079005347
	.long	-343597384
	.long	1077786705
	.long	-343597384
	.long	1078835281
	.long	1030792151
	.long	1079461642
	.long	687194767
	.long	1080055644
	.long	1374389535
	.long	1076141752
	.long	-2061584302
	.long	1078161899
	.long	-171798692
	.long	1075797032
	.long	1030792151
	.long	1077712650
	.long	1546188227
	.long	1079493263
	.long	-1374389535
	.long	1079804231
	.long	171798692
	.long	1076995031
	.long	171798692
	.long	1078109143
	.long	1202590843
	.long	1076886241
	.long	1546188227
	.long	1078502031
	.long	-1202590843
	.long	1079563550
	.long	858993459
	.long	1079874355
	.long	171798692
	.long	1079170007
	.long	515396076
	.long	1079724933
	.long	-171798692
	.long	1078123560
	.long	687194767
	.long	1078529884
	.long	-1374389535
	.long	1077453127
	.long	-858993459
	.long	1078004940
	.long	2061584302
	.long	1077521940
	.long	-343597384
	.long	1078409297
	.long	171798692
	.long	1078928343
	.long	-171798692
	.long	1079110696
	.long	1717986918
	.long	1079146086
	.long	-2061584302
	.long	1079648747
	.long	1889785610
	.long	1075939901
	.long	1546188227
	.long	1077977743
	.long	-343597384
	.long	1078237265
	.long	687194767
	.long	1079213916
	.long	-1717986918
	.long	1079531929
	.long	-343597384
	.long	1079838801
	.long	1889785610
	.long	1076365885
	.long	-343597384
	.long	1078106193
	.long	-515396076
	.long	1076008058
	.long	687194767
	.long	1078030172
	.long	-1202590843
	.long	1077888286
	.long	1374389535
	.long	1078615736
	.long	-687194767
	.long	1077014691
	.long	1889785610
	.long	1078315581
	.long	1717986918
	.long	1076913766
	.long	1030792151
	.long	1077516042
	.long	1546188227
	.long	1078706831
	.long	-343597384
	.long	1079523409
	.long	-1202590843
	.long	1079489822
	.long	-858993459
	.long	1080028364
	.long	1374389535
	.long	1079066296
	.long	-687194767
	.long	1079742627
	.long	1202590843
	.long	1077885665
	.long	515396076
	.long	1078676357
	.long	-1889785610
	.long	1078498754
	.long	1030792151
	.long	1078957834
	.long	343597384
	.long	1077118894
	.long	-1889785610
	.long	1078154690
	.long	515396076
	.long	1079307141
	.long	1374389535
	.long	1079606968
	.long	-515396076
	.long	1079063674
	.long	171798692
	.long	1079509975
	.long	-1374389535
	.long	1079357767
	.long	343597384
	.long	1079981998
	.long	-858993459
	.long	1078979788
	.long	-343597384
	.long	1079687249
	.long	1546188227
	.long	1078616719
	.long	1202590843
	.long	1079544545
	.long	-1889785610
	.long	1078834626
	.long	1030792151
	.long	1079396106
	.long	-1202590843
	.long	1077626142
	.long	-858993459
	.long	1078619340
	.long	-1374389535
	.long	1078886727
	.long	-1889785610
	.long	1079416258
	.long	1717986918
	.long	1079248486
	.long	-1030792151
	.long	1079851253
	.long	171798692
	.long	1079145431
	.long	858993459
	.long	1079771955
	.long	-1889785610
	.long	1077958082
	.long	171798692
	.long	1078715351
	.long	1546188227
	.long	1075102351
	.long	1889785610
	.long	1076628029
	.long	-858993459
	.long	1078512844
	.long	2061584302
	.long	1079049748
	.long	2061584302
	.long	1079344660
	.long	-687194767
	.long	1079636131
	.long	1546188227
	.long	1076445839
	.long	687194767
	.long	1077530460
	.long	2061584302
	.long	1078955540
	.long	0
	.long	1079537664
	.long	687194767
	.long	1075875676
	.long	-1546188227
	.long	1077943664
	.long	687194767
	.long	1078185820
	.long	0
	.long	1078886400
	.long	-687194767
	.long	1078349987
	.long	1030792151
	.long	1079093002
	.long	-1374389535
	.long	1079247175
	.long	171798692
	.long	1079735255
	.long	1889785610
	.long	1079040573
	.long	1202590843
	.long	1079433953
	.long	-1374389535
	.long	1078747463
	.long	1374389535
	.long	1079267000
	.long	1889785610
	.long	1079007805
	.long	2061584302
	.long	1079533076
	.long	1030792151
	.long	1078064906
	.long	-687194767
	.long	1078984867
	.long	858993459
	.long	1078891315
	.long	-515396076
	.long	1079473274
	.long	858993459
	.long	1076867891
	.long	-1030792151
	.long	1078151413
	.long	1889785610
	.long	1078012477
	.long	687194767
	.long	1078808412
	.long	-2061584302
	.long	1079353835
	.long	-1030792151
	.long	1079761141
	.long	1546188227
	.long	1078772367
	.long	687194767
	.long	1079095132
	.long	-1546188227
	.long	1079250288
	.long	-1717986918
	.long	1079867801
	.long	-1374389535
	.long	1079443783
	.long	-1546188227
	.long	1080049008
	.long	-1889785610
	.long	1079100866
	.long	-1030792151
	.long	1079752949
	.long	-1546188227
	.long	1078730096
	.long	-343597384
	.long	1079089233
	.long	1030792151
	.long	1078523658
	.long	-1546188227
	.long	1079143792
	.long	-858993459
	.long	1079463116
	.long	-687194767
	.long	1079996579
	.long	1202590843
	.long	1076329185
	.long	-343597384
	.long	1078130769
	.long	-1717986918
	.long	1077320089
	.long	858993459
	.long	1078719283
	.long	-171798692
	.long	1079348264
	.long	0
	.long	1079808000
	.long	1717986918
	.long	1077323366
	.long	858993459
	.long	1079026483
	.long	1202590843
	.long	1077213921
	.long	-1717986918
	.long	1078352281
	.long	-1374389535
	.long	1077043527
	.long	-858993459
	.long	1078291660
	.long	858993459
	.long	1079030579
	.long	-1030792151
	.long	1079101685
	.long	171798692
	.long	1079321559
	.long	-343597384
	.long	1079658577
	.long	-171798692
	.long	1079307304
	.long	-2061584302
	.long	1079673323
	.long	1889785610
	.long	1079347773
	.long	858993459
	.long	1080105779
	.long	-687194767
	.long	1079132323
	.long	1030792151
	.long	1079822090
	.long	343597384
	.long	1077217198
	.long	1546188227
	.long	1078289039
	.long	-343597384
	.long	1075230801
	.long	-2061584302
	.long	1078047211
	.long	0
	.long	1077542912
	.long	2061584302
	.long	1078455828
	.long	-1202590843
	.long	1078494494
	.long	-1374389535
	.long	1079083335
	.long	-1374389535
	.long	1078264135
	.long	-1202590843
	.long	1079043358
	.long	515396076
	.long	1078979461
	.long	-858993459
	.long	1079336140
	.long	1374389535
	.long	1078001336
	.long	171798692
	.long	1079071703
	.long	-1374389535
	.long	1079284039
	.long	-515396076
	.long	1080061050
	.long	-1030792151
	.long	1077405941
	.long	1889785610
	.long	1078553149
	.long	2061584302
	.long	1079102996
	.long	-2061584302
	.long	1079562731
	.long	858993459
	.long	1078555443
	.long	1202590843
	.long	1079155425
	.long	1030792151
	.long	1078966026
	.long	-1889785610
	.long	1080022466
	.long	-1374389535
	.long	1078993223
	.long	-171798692
	.long	1079606312
	.long	-1030792151
	.long	1077553397
	.long	-343597384
	.long	1078425681
	.long	0
	.long	1079472128
	.long	1546188227
	.long	1080093327
	.long	858993459
	.long	1077441331
	.long	343597384
	.long	1078863790
	.long	-2061584302
	.long	1077613035
	.long	343597384
	.long	1078839214
	.long	-1202590843
	.long	1075479838
	.long	-1717986918
	.long	1077844377
	.long	1717986918
	.long	1079518822
	.long	-687194767
	.long	1079636131
	.long	-858993459
	.long	1079323852
	.long	1546188227
	.long	1079579279
	.long	-343597384
	.long	1078229073
	.long	-2061584302
	.long	1078866411
	.long	-343597384
	.long	1077213265
	.long	1717986918
	.long	1079117414
	.long	-1202590843
	.long	1078592798
	.long	0
	.long	1079386112
	.long	-2061584302
	.long	1077793259
	.long	1374389535
	.long	1079037624
	.long	0
	.long	1078493184
	.long	-858993459
	.long	1079274700
	.long	-1546188227
	.long	1075527024
	.long	-858993459
	.long	1077578956
	.long	-1374389535
	.long	1079148871
	.long	-171798692
	.long	1080024104
	.long	-1374389535
	.long	1076355399
	.long	515396076
	.long	1077308293
	.long	-1717986918
	.long	1079191961
	.long	343597384
	.long	1079334830
	.long	1374389535
	.long	1077157560
	.long	1030792151
	.long	1078581002
	.long	687194767
	.long	1077858140
	.long	-1030792151
	.long	1078782197
	.long	-1889785610
	.long	1079317954
	.long	-171798692
	.long	1079741480
	.long	1374389535
	.long	1077452472
	.long	-1030792151
	.long	1078552821
	.long	1374389535
	.long	1073946296
	.long	-171798692
	.long	1077779496
	.long	-1374389535
	.long	1079103815
	.long	858993459
	.long	1079886643
	.long	-1717986918
	.long	1075747225
	.long	-343597384
	.long	1077622865
	.long	343597384
	.long	1078593454
	.long	-1030792151
	.long	1079187701
	.long	-858993459
	.long	1077038284
	.long	0
	.long	1078206464
	.long	687194767
	.long	1075744604
	.long	1546188227
	.long	1078166159
	.long	343597384
	.long	1079269294
	.long	-858993459
	.long	1079676108
	.long	1889785610
	.long	1076300349
	.long	-1546188227
	.long	1077673328
	.long	-1030792151
	.long	1078208757
	.long	-1030792151
	.long	1078364405
	.long	-1202590843
	.long	1079223582
	.long	1546188227
	.long	1079521935
	.long	-858993459
	.long	1079508172
	.long	-515396076
	.long	1079932026
	.long	-1889785610
	.long	1077638594
	.long	-1030792151
	.long	1078954229
	.long	687194767
	.long	1078718300
	.long	-858993459
	.long	1079483596
	.long	1717986918
	.long	1072064102
	.long	-2061584302
	.long	1077449195
	.long	687194767
	.long	1079541596
	.long	515396076
	.long	1080073093
	.long	-515396076
	.long	1077990522
	.long	-1717986918
	.long	1078466969
	.long	858993459
	.long	1079423795
	.long	-2061584302
	.long	1080228331
	.long	0
	.long	1077575680
	.long	-2061584302
	.long	1078596075
	.long	-687194767
	.long	1078317219
	.long	-1889785610
	.long	1078818242
	.long	515396076
	.long	1079401349
	.long	2061584302
	.long	1080079892
	.long	171798692
	.long	1079354327
	.long	1889785610
	.long	1079880253
	.long	-1546188227
	.long	1078926704
	.long	858993459
	.long	1078993715
	.long	171798692
	.long	1077421015
	.long	1546188227
	.long	1078755983
	.long	1546188227
	.long	1078780559
	.long	-1030792151
	.long	1079486709
	.long	0
	.long	1078280192
	.long	1717986918
	.long	1079150182
	.long	-343597384
	.long	1078564945
	.long	515396076
	.long	1079212933
	.long	-1546188227
	.long	1076477296
	.long	-1889785610
	.long	1078359490
	.long	687194767
	.long	1078865756
	.long	-1546188227
	.long	1079209328
	.long	858993459
	.long	1077990195
	.long	515396076
	.long	1079135109
	.long	1889785610
	.long	1077381693
	.long	-1202590843
	.long	1078519070
	.long	1374389535
	.long	1074863800
	.long	-1717986918
	.long	1077385625
	.long	-343597384
	.long	1078859857
	.long	-858993459
	.long	1079622860
	.long	-515396076
	.long	1078031482
	.long	-858993459
	.long	1078987980
	.long	-1374389535
	.long	1079386439
	.long	1717986918
	.long	1079629414
	.long	687194767
	.long	1078816604
	.long	-343597384
	.long	1079416913
	.long	858993459
	.long	1079464755
	.long	2061584302
	.long	1079885332
	.long	-1546188227
	.long	1078730096
	.long	-1717986918
	.long	1079527833
	.long	-1374389535
	.long	1079439687
	.long	-2061584302
	.long	1079845355
	.long	1889785610
	.long	1079069245
	.long	-343597384
	.long	1079433297
	.long	343597384
	.long	1078273966
	.long	-687194767
	.long	1079029923
	.long	-1717986918
	.long	1078458777
	.long	343597384
	.long	1079130030
	.long	-687194767
	.long	1077489827
	.long	858993459
	.long	1078506291
	.long	1374389535
	.long	1079353016
	.long	-1717986918
	.long	1079900569
	.long	1374389535
	.long	1078222520
	.long	2061584302
	.long	1079078420
	.long	171798692
	.long	1078305751
	.long	1374389535
	.long	1079160504
	.long	-687194767
	.long	1079541923
	.long	515396076
	.long	1079675781
	.long	-515396076
	.long	1075778682
	.long	1374389535
	.long	1078083256
	.long	515396076
	.long	1079491461
	.long	343597384
	.long	1079990190
	.long	-1374389535
	.long	1078747463
	.long	-1717986918
	.long	1079097753
	.long	-1546188227
	.long	1073757552
	.long	-515396076
	.long	1077548154
	.long	-171798692
	.long	1075895336
	.long	1202590843
	.long	1077959393
	.long	0
	.long	1078632448
	.long	-687194767
	.long	1079713955
	.long	171798692
	.long	1078264791
	.long	1546188227
	.long	1079235215
	.long	858993459
	.long	1079083827
	.long	1374389535
	.long	1079566008
	.long	-1889785610
	.long	1077704130
	.long	515396076
	.long	1078455173
	.long	858993459
	.long	1078620979
	.long	-1030792151
	.long	1079015669
	.long	687194767
	.long	1076596572
	.long	2061584302
	.long	1077620244
	.long	-1546188227
	.long	1078025584
	.long	-343597384
	.long	1079244881
	.long	1202590843
	.long	1078803169
	.long	-1889785610
	.long	1079391682
	.long	1374389535
	.long	1079426744
	.long	1889785610
	.long	1080060477
	.long	-1374389535
	.long	1075568967
	.long	-687194767
	.long	1077375139
	.long	-858993459
	.long	1078275276
	.long	-171798692
	.long	1079319592
	.long	-1202590843
	.long	1079526686
	.long	515396076
	.long	1079995269
	.long	-1717986918
	.long	1078475161
	.long	1889785610
	.long	1079093821
	.long	-1202590843
	.long	1078863134
	.long	343597384
	.long	1079351214
	.long	515396076
	.long	1078520709
	.long	1202590843
	.long	1078778593
	.long	1202590843
	.long	1077115617
	.long	343597384
	.long	1078593454
	.long	-1374389535
	.long	1079443783
	.long	-2061584302
	.long	1080048107
	.long	2061584302
	.long	1078808084
	.long	1202590843
	.long	1079511777
	.long	1546188227
	.long	1077019279
	.long	1202590843
	.long	1078622945
	.long	-687194767
	.long	1077850275
	.long	-343597384
	.long	1078540369
	.long	-858993459
	.long	1079176396
	.long	687194767
	.long	1079553884
	.long	0
	.long	1079353344
	.long	515396076
	.long	1079741317
	.long	-2061584302
	.long	1079480811
	.long	343597384
	.long	1080131502
	.long	1717986918
	.long	1077651046
	.long	-343597384
	.long	1078360145
	.long	1546188227
	.long	1077183119
	.long	858993459
	.long	1078498099
	.long	-858993459
	.long	1079504076
	.long	1374389535
	.long	1079791288
	.long	1546188227
	.long	1076740751
	.long	687194767
	.long	1077964636
	.long	-1202590843
	.long	1076495646
	.long	343597384
	.long	1078290350
	.long	-858993459
	.long	1078897868
	.long	171798692
	.long	1079325655
	.long	-1717986918
	.long	1078294937
	.long	1030792151
	.long	1079097098
	.long	-343597384
	.long	1077975121
	.long	1030792151
	.long	1078114058
	.long	343597384
	.long	1078658990
	.long	1030792151
	.long	1079072522
	.long	-1202590843
	.long	1078453534
	.long	-1546188227
	.long	1079053680
	.long	1202590843
	.long	1078115041
	.long	1889785610
	.long	1079024189
	.long	-858993459
	.long	1077415116
	.long	-858993459
	.long	1078635724
	.long	-858993459
	.long	1079438540
	.long	-515396076
	.long	1080034426
	.long	-1202590843
	.long	1078322462
	.long	-1374389535
	.long	1078501703
	.long	-1202590843
	.long	1077298462
	.long	687194767
	.long	1077677916
	.long	1717986918
	.long	1079277158
	.long	-1889785610
	.long	1079694786
	.long	-343597384
	.long	1074182225
	.long	343597384
	.long	1077544878
	.long	171798692
	.long	1078674391
	.long	-343597384
	.long	1079478353
	.long	1889785610
	.long	1079310909
	.long	0
	.long	1079599104
	.long	-515396076
	.long	1079219322
	.long	-171798692
	.long	1079520296
	.long	1546188227
	.long	1075692175
	.long	1546188227
	.long	1078067855
	.long	858993459
	.long	1079485235
	.long	-1717986918
	.long	1080058265
	.long	-1889785610
	.long	1078400450
	.long	171798692
	.long	1079059415
	.long	-1030792151
	.long	1078429941
	.long	-343597384
	.long	1079011409
	.long	-343597384
	.long	1078949969
	.long	2061584302
	.long	1079381524
	.long	343597384
	.long	1078118318
	.long	1546188227
	.long	1079079567
	.long	1546188227
	.long	1079566991
	.long	687194767
	.long	1080024924
	.long	1546188227
	.long	1077396111
	.long	1374389535
	.long	1077206712
	.long	-343597384
	.long	1079281745
	.long	171798692
	.long	1079919575
	.long	-343597384
	.long	1078188113
	.long	-343597384
	.long	1078597713
	.long	-1202590843
	.long	1076397342
	.long	515396076
	.long	1077898117
	.long	1717986918
	.long	1079314022
	.long	-687194767
	.long	1080047779
	.long	171798692
	.long	1078641623
	.long	-1202590843
	.long	1079219486
	.long	1889785610
	.long	1079138877
	.long	-2061584302
	.long	1079742955
	.long	1030792151
	.long	1078089482
	.long	-858993459
	.long	1078971596
	.long	-858993459
	.long	1076939980
	.long	1546188227
	.long	1078362767
	.long	687194767
	.long	1075613532
	.long	1030792151
	.long	1078089482
	.long	1889785610
	.long	1078266429
	.long	858993459
	.long	1079112499
	.long	343597384
	.long	1078839214
	.long	1546188227
	.long	1079689871
	.long	-1546188227
	.long	1078238576
	.long	171798692
	.long	1079133143
	.long	1030792151
	.long	1079346954
	.long	-1030792151
	.long	1079826677
	.long	0
	.long	1079111680
	.long	1717986918
	.long	1079555686
	.long	-2061584302
	.long	1079489003
	.long	1202590843
	.long	1080027873
	.long	-1889785610
	.long	1077179842
	.long	1546188227
	.long	1078076047
	.long	1717986918
	.long	1077954150
	.long	343597384
	.long	1079166894
	.long	-687194767
	.long	1079132323
	.long	1717986918
	.long	1079711334
	.long	-515396076
	.long	1078531194
	.long	1202590843
	.long	1079392993
	.long	-687194767
	.long	1079189667
	.long	-1889785610
	.long	1079641538
	.long	-1546188227
	.long	1078697328
	.long	-2061584302
	.long	1079214571
	.long	1374389535
	.long	1078992568
	.long	171798692
	.long	1079538647
	.long	-2061584302
	.long	1079177707
	.long	1202590843
	.long	1079732961
	.long	1546188227
	.long	1078469263
	.long	687194767
	.long	1079603036
	.long	-858993459
	.long	1076579532
	.long	343597384
	.long	1078101934
	.long	-1889785610
	.long	1079518658
	.long	-343597384
	.long	1079953489
	.long	1889785610
	.long	1076038205
	.long	-343597384
	.long	1077393489
	.long	343597384
	.long	1078806446
	.long	1030792151
	.long	1079211786
	.long	1889785610
	.long	1076628029
	.long	-1889785610
	.long	1078810050
	.long	1202590843
	.long	1078663905
	.long	1202590843
	.long	1079048929
	.long	-515396076
	.long	1077499002
	.long	-1546188227
	.long	1078984048
	.long	-171798692
	.long	1079544872
	.long	-1374389535
	.long	1080086855
	.long	687194767
	.long	1077350236
	.long	1030792151
	.long	1078195978
	.long	1889785610
	.long	1078422077
	.long	-858993459
	.long	1078840524
	.long	-858993459
	.long	1079123148
	.long	171798692
	.long	1079583703
	.long	687194767
	.long	1075941212
	.long	343597384
	.long	1076414382
	.long	1717986918
	.long	1079047782
	.long	-1202590843
	.long	1079743774
	.long	1202590843
	.long	1079155425
	.long	-171798692
	.long	1079520296
	.long	1717986918
	.long	1079088742
	.long	-515396076
	.long	1079403642
	.long	1030792151
	.long	1079244554
	.long	-1374389535
	.long	1079365959
	.long	687194767
	.long	1078579036
	.long	-515396076
	.long	1079444602
	.long	-1889785610
	.long	1077360066
	.long	1889785610
	.long	1078323773
	.long	-1717986918
	.long	1072798105
	.long	1717986918
	.long	1078388326
	.long	-1546188227
	.long	1076313456
	.long	-1889785610
	.long	1078547906
	.long	-1546188227
	.long	1079045488
	.long	-1717986918
	.long	1079597465
	.long	1030792151
	.long	1077942026
	.long	-1717986918
	.long	1078868377
	.long	0
	.long	1079001088
	.long	1717986918
	.long	1079232102
	.long	858993459
	.long	1078121267
	.long	-343597384
	.long	1079248977
	.long	515396076
	.long	1079225221
	.long	1546188227
	.long	1079845519
	.long	1546188227
	.long	1074250383
	.long	171798692
	.long	1078035415
	.long	2061584302
	.long	1077177876
	.long	343597384
	.long	1078003630
	.long	-1546188227
	.long	1079549296
	.long	2061584302
	.long	1080012308
	.long	1717986918
	.long	1077732966
	.long	-171798692
	.long	1078975528
	.long	1202590843
	.long	1078778593
	.long	1374389535
	.long	1078996664
	.long	-1717986918
	.long	1077680537
	.long	-515396076
	.long	1078465658
	.long	0
	.long	1078706176
	.long	1202590843
	.long	1079167713
	.long	-1202590843
	.long	1077380382
	.long	1030792151
	.long	1078572810
	.long	-1717986918
	.long	1076304281
	.long	171798692
	.long	1078010839
	.long	-858993459
	.long	1079467212
	.long	-687194767
	.long	1079988387
	.long	-1889785610
	.long	1075770818
	.long	-171798692
	.long	1078066216
	.long	-2061584302
	.long	1079562731
	.long	-515396076
	.long	1079989370
	.long	171798692
	.long	1079464919
	.long	-858993459
	.long	1080042700
	.long	-171798692
	.long	1079041064
	.long	-1717986918
	.long	1079454105
	.long	343597384
	.long	1078454190
	.long	515396076
	.long	1079421829
	.long	343597384
	.long	1077626798
	.long	0
	.long	1078542336
	.long	858993459
	.long	1079153459
	.long	-1717986918
	.long	1079515545
	.long	2061584302
	.long	1078119956
	.long	-1889785610
	.long	1078539714
	.long	-171798692
	.long	1079094312
	.long	1374389535
	.long	1079676600
	.long	-1546188227
	.long	1079004528
	.long	515396076
	.long	1079667589
	.long	-1374389535
	.long	1078837575
	.long	1717986918
	.long	1079514726
	.long	2061584302
	.long	1079340564
	.long	-687194767
	.long	1079972003
	.long	1546188227
	.long	1079054991
	.long	-1374389535
	.long	1079411015
	.long	-171798692
	.long	1077566504
	.long	1030792151
	.long	1078449930
	.long	-1374389535
	.long	1079230791
	.long	-1546188227
	.long	1079696752
	.long	-1030792151
	.long	1078913269
	.long	171798692
	.long	1079231447
	.long	-1374389535
	.long	1076420935
	.long	1202590843
	.long	1078205153
	.long	-1546188227
	.long	1079041392
	.long	1889785610
	.long	1079466557
	.long	-858993459
	.long	1079155916
	.long	-171798692
	.long	1079503912
	.long	-2061584302
	.long	1078931947
	.long	515396076
	.long	1079597957
	.long	-1889785610
	.long	1078228418
	.long	-2061584302
	.long	1079185899
	.long	-1717986918
	.long	1079441817
	.long	515396076
	.long	1079982981
	.long	1030792151
	.long	1079392010
	.long	1202590843
	.long	1079847649
	.long	-858993459
	.long	1078750412
	.long	1202590843
	.long	1079454433
	.long	-1889785610
	.long	1079264706
	.long	1030792151
	.long	1079760650
	.long	515396076
	.long	1078725509
	.long	-1546188227
	.long	1079209328
	.long	171798692
	.long	1078215639
	.long	1202590843
	.long	1078909665
	.long	1030792151
	.long	1079047946
	.long	1889785610
	.long	1079605821
	.long	-1717986918
	.long	1078958489
	.long	-1717986918
	.long	1079486873
	.long	-1030792151
	.long	1077897461
	.long	2061584302
	.long	1078922772
	.long	1030792151
	.long	1079240458
	.long	-1202590843
	.long	1079604510
	.long	-1030792151
	.long	1077979381
	.long	171798692
	.long	1079083991
	.long	515396076
	.long	1079438213
	.long	858993459
	.long	1079817011
	.long	-2061584302
	.long	1079394795
	.long	-1030792151
	.long	1079953653
	.long	-171798692
	.long	1079405608
	.long	-858993459
	.long	1080095948
	.long	343597384
	.long	1078118318
	.long	1889785610
	.long	1078774333
	.long	-1717986918
	.long	1079536025
	.long	1030792151
	.long	1079973642
	.long	0
	.long	1079369728
	.long	171798692
	.long	1079911383
	.long	-171798692
	.long	1077386280
	.long	343597384
	.long	1078314926
	.long	515396076
	.long	1078643589
	.long	-343597384
	.long	1079416913
	.long	-171798692
	.long	1076583464
	.long	0
	.long	1077608448
	.long	-1374389535
	.long	1079456071
	.long	-1546188227
	.long	1080151408
	.long	2061584302
	.long	1079246356
	.long	1717986918
	.long	1079498342
	.long	-1030792151
	.long	1078503669
	.long	-858993459
	.long	1079082188
	.long	1717986918
	.long	1075897958
	.long	-515396076
	.long	1077892218
	.long	0
	.long	1078763520
	.long	-1717986918
	.long	1079572889
	.long	1030792151
	.long	1079355146
	.long	343597384
	.long	1079433134
	.long	-1202590843
	.long	1078633758
	.long	171798692
	.long	1079763927
	.long	171798692
	.long	1079350231
	.long	-171798692
	.long	1079979048
	.long	1546188227
	.long	1076347535
	.long	-1374389535
	.long	1078083911
	.long	343597384
	.long	1075988398
	.long	1717986918
	.long	1077159526
	.long	-515396076
	.long	1079567482
	.long	515396076
	.long	1080290181
	.long	1202590843
	.long	1075346145
	.long	-1546188227
	.long	1078041968
	.long	-1030792151
	.long	1076177141
	.long	-1030792151
	.long	1077504245
	.long	343597384
	.long	1079089070
	.long	-1546188227
	.long	1079606640
	.long	-343597384
	.long	1078605905
	.long	-171798692
	.long	1079135272
	.long	-171798692
	.long	1074945064
	.long	-1546188227
	.long	1078082928
	.long	1889785610
	.long	1079441981
	.long	-171798692
	.long	1079888936
	.long	2061584302
	.long	1073851924
	.long	-171798692
	.long	1077582888
	.long	858993459
	.long	1079284531
	.long	1202590843
	.long	1079749345
	.long	171798692
	.long	1079210967
	.long	-343597384
	.long	1079818321
	.long	515396076
	.long	1079335813
	.long	515396076
	.long	1079917445
	.long	-1030792151
	.long	1077881077
	.long	1374389535
	.long	1078402744
	.long	1717986918
	.long	1079109222
	.long	515396076
	.long	1079536517
	.long	1030792151
	.long	1078540042
	.long	-1889785610
	.long	1079526850
	.long	1889785610
	.long	1077938749
	.long	-1374389535
	.long	1078640967
	.long	2061584302
	.long	1079258644
	.long	515396076
	.long	1079905157
	.long	-515396076
	.long	1076860026
	.long	-687194767
	.long	1078309027
	.long	515396076
	.long	1079401349
	.long	1889785610
	.long	1079913021
	.long	343597384
	.long	1079355310
	.long	-1202590843
	.long	1080001822
	.long	-1717986918
	.long	1079105945
	.long	0
	.long	1079685120
	.long	-1546188227
	.long	1079541104
	.long	-858993459
	.long	1080138956
	.long	-1202590843
	.long	1079125278
	.long	-1889785610
	.long	1079829954
	.long	-1717986918
	.long	1079368089
	.long	343597384
	.long	1079949230
	.long	1202590843
	.long	1077000929
	.long	1889785610
	.long	1077512765
	.long	-687194767
	.long	1079427235
	.long	-687194767
	.long	1079910563
	.long	-1030792151
	.long	1079052533
	.long	1030792151
	.long	1079584522
	.long	343597384
	.long	1078445998
	.long	1374389535
	.long	1079197368
	.long	1546188227
	.long	1069925007
	.long	-1374389535
	.long	1077813575
	.long	-1717986918
	.long	1076992409
	.long	-858993459
	.long	1078308044
	.long	1030792151
	.long	1078343434
	.long	-1889785610
	.long	1079059906
	.long	171798692
	.long	1077371863
	.long	0
	.long	1078796288
	.long	-1889785610
	.long	1078351298
	.long	1030792151
	.long	1078957834
	.long	1030792151
	.long	1073207050
	.long	-1889785610
	.long	1075574210
	.long	171798692
	.long	1078445015
	.long	-1546188227
	.long	1078844784
	.long	2061584302
	.long	1079455252
	.long	-1202590843
	.long	1080124702
	.long	0
	.long	1079099392
	.long	1889785610
	.long	1079896637
	.long	1030792151
	.long	1074386698
	.long	858993459
	.long	1077506867
	.long	-171798692
	.long	1079426088
	.long	-343597384
	.long	1080043601
	.long	343597384
	.long	1079322542
	.long	515396076
	.long	1079925637
	.long	-1030792151
	.long	1077471477
	.long	1374389535
	.long	1078386360
	.long	-858993459
	.long	1079200972
	.long	1889785610
	.long	1079638589
	.long	858993459
	.long	1078014771
	.long	515396076
	.long	1078537093
	.long	-515396076
	.long	1079002234
	.long	-2061584302
	.long	1079312875
	.long	-171798692
	.long	1078918184
	.long	-1546188227
	.long	1079434608
	.long	0
	.long	1076953088
	.long	-858993459
	.long	1078488268
	.long	-1374389535
	.long	1079390535
	.long	-1717986918
	.long	1079839129
	.long	-858993459
	.long	1076317388
	.long	1030792151
	.long	1077794570
	.long	1374389535
	.long	1077780152
	.long	-2061584302
	.long	1078915563
	.long	-343597384
	.long	1078335569
	.long	1202590843
	.long	1079257825
	.long	1202590843
	.long	1076493025
	.long	-1717986918
	.long	1078344089
	.long	-687194767
	.long	1078825123
	.long	-1030792151
	.long	1079425269
	.long	343597384
	.long	1079261102
	.long	0
	.long	1079595008
	.long	1030792151
	.long	1071896330
	.long	687194767
	.long	1078505308
	.long	-858993459
	.long	1079499980
	.long	-1546188227
	.long	1080065392
	.long	-1546188227
	.long	1077247344
	.long	-687194767
	.long	1078644899
	.long	-171798692
	.long	1079135272
	.long	-343597384
	.long	1079650385
	.long	-343597384
	.long	1078458449
	.long	1374389535
	.long	1079176888
	.long	1546188227
	.long	1078903439
	.long	515396076
	.long	1079524229
	.long	-515396076
	.long	1079207034
	.long	-2061584302
	.long	1079738859
	.long	858993459
	.long	1078752051
	.long	-171798692
	.long	1079319592
	.long	-343597384
	.long	1079109713
	.long	515396076
	.long	1079679877
	.long	1374389535
	.long	1075650232
	.long	1717986918
	.long	1078249062
	.long	1717986918
	.long	1075340902
	.long	1546188227
	.long	1077183119
	.long	1889785610
	.long	1078716989
	.long	2061584302
	.long	1079393812
	.long	-858993459
	.long	1078963404
	.long	0
	.long	1079234560
	.long	1717986918
	.long	1077241446
	.long	-171798692
	.long	1078000680
	.long	-687194767
	.long	1078292643
	.long	0
	.long	1079230464
	.long	-2061584302
	.long	1079570923
	.long	2061584302
	.long	1080047124
	.long	-1717986918
	.long	1077729689
	.long	-858993459
	.long	1078586572
	.long	515396076
	.long	1077750661
	.long	-343597384
	.long	1078728785
	.long	-1546188227
	.long	1079287152
	.long	1374389535
	.long	1079914168
	.long	-515396076
	.long	1078170746
	.long	-1374389535
	.long	1079169351
	.long	-858993459
	.long	1077382348
	.long	-1546188227
	.long	1078746480
	.long	-1374389535
	.long	1079439687
	.long	-1546188227
	.long	1080223088
	.long	-1889785610
	.long	1079358914
	.long	171798692
	.long	1079583703
	.long	1030792151
	.long	1079494410
	.long	1202590843
	.long	1080097505
	.long	1202590843
	.long	1074690785
	.long	-858993459
	.long	1077759180
	.long	-515396076
	.long	1074271354
	.long	1546188227
	.long	1076085391
	.long	1030792151
	.long	1079437066
	.long	-1717986918
	.long	1080062361
	.long	-2061584302
	.long	1077154283
	.long	1202590843
	.long	1078156001
	.long	-1202590843
	.long	1079223582
	.long	515396076
	.long	1079675781
	.long	-171798692
	.long	1079110696
	.long	-1374389535
	.long	1079329095
	.long	515396076
	.long	1078799237
	.long	1546188227
	.long	1079267983
	.long	1030792151
	.long	1076254474
	.long	2061584302
	.long	1078488596
	.long	1717986918
	.long	1079445094
	.long	1717986918
	.long	1079952998
	.long	-1202590843
	.long	1077994782
	.long	1030792151
	.long	1078834954
	.long	858993459
	.long	1078260531
	.long	1717986918
	.long	1079334502
	.long	-1546188227
	.long	1078025584
	.long	-1546188227
	.long	1078730096
	.long	1889785610
	.long	1076824637
	.long	-687194767
	.long	1077751971
	.long	1717986918
	.long	1076192870
	.long	2061584302
	.long	1078078996
	.long	-1374389535
	.long	1076928839
	.long	1717986918
	.long	1078347366
	.long	-1717986918
	.long	1078999449
	.long	-171798692
	.long	1079487528
	.long	858993459
	.long	1078735667
	.long	1030792151
	.long	1079129866
	.long	-1374389535
	.long	1079509319
	.long	-515396076
	.long	1080083578
	.long	171798692
	.long	1079477207
	.long	-1202590843
	.long	1080096030
	.long	-171798692
	.long	1079270440
	.long	1374389535
	.long	1079742136
	.long	171798692
	.long	1078895575
	.long	-858993459
	.long	1079291084
	.long	1202590843
	.long	1079347937
	.long	1030792151
	.long	1080078090
	.long	-1202590843
	.long	1076135198
	.long	-171798692
	.long	1078336552
	.long	1546188227
	.long	1078485647
	.long	-1374389535
	.long	1079173447
	.long	858993459
	.long	1079370547
	.long	-515396076
	.long	1079862394
	.long	1717986918
	.long	1079551590
	.long	-1546188227
	.long	1080069488
	.long	-1717986918
	.long	1079298457
	.long	-1202590843
	.long	1079973150
	.long	515396076
	.long	1079085957
	.long	-1202590843
	.long	1079330078
	.long	-343597384
	.long	1078122577
	.long	-515396076
	.long	1078613114
	.long	-171798692
	.long	1079094312
	.long	-687194767
	.long	1079697571
	.long	515396076
	.long	1077357445
	.long	2061584302
	.long	1078226452
	.long	-343597384
	.long	1076246609
	.long	-343597384
	.long	1077975121
	.long	-858993459
	.long	1074056396
	.long	1374389535
	.long	1076911800
	.long	-1374389535
	.long	1079509319
	.long	-687194767
	.long	1079935139
	.long	343597384
	.long	1078962094
	.long	-1717986918
	.long	1079413145
	.long	-687194767
	.long	1078022307
	.long	171798692
	.long	1079026647
	.long	-1030792151
	.long	1078716661
	.long	1546188227
	.long	1079423631
	.long	1717986918
	.long	1077503590
	.long	-858993459
	.long	1078545612
	.long	-1546188227
	.long	1075592560
	.long	1546188227
	.long	1078141583
	.long	687194767
	.long	1076432732
	.long	1202590843
	.long	1077246689
	.long	171798692
	.long	1074963415
	.long	-1030792151
	.long	1076635893
	.long	171798692
	.long	1076634583
	.long	1889785610
	.long	1078159933
	.long	-1374389535
	.long	1079394631
	.long	-858993459
	.long	1079827660
	.long	0
	.long	1078747136
	.long	-1546188227
	.long	1079225712
	.long	1717986918
	.long	1079170662
	.long	-1546188227
	.long	1079385456
	.long	1202590843
	.long	1076198113
	.long	858993459
	.long	1077949235
	.long	1202590843
	.long	1078475489
	.long	-171798692
	.long	1079225384
	.long	-687194767
	.long	1078554787
	.long	1717986918
	.long	1079424614
	.long	0
	.long	1077248000
	.long	1202590843
	.long	1078721249
	.long	515396076
	.long	1078987653
	.long	0
	.long	1079672832
	.long	-858993459
	.long	1077791948
	.long	-858993459
	.long	1078545612
	.long	-171798692
	.long	1078074408
	.long	-343597384
	.long	1078679633
	.long	1889785610
	.long	1077905981
	.long	858993459
	.long	1078416179
	.long	-1030792151
	.long	1078331637
	.long	1030792151
	.long	1078597386
	.long	-687194767
	.long	1079181475
	.long	-343597384
	.long	1079371857
	.long	-1717986918
	.long	1079237017
	.long	-1717986918
	.long	1079482777
	.long	-515396076
	.long	1079551098
	.long	515396076
	.long	1080091525
	.long	0
	.long	1079144448
	.long	1374389535
	.long	1079357112
	.long	343597384
	.long	1077962670
	.long	171798692
	.long	1078862807
	.long	-1202590843
	.long	1079489822
	.long	-1374389535
	.long	1080029511
	.long	2061584302
	.long	1078849044
	.long	-171798692
	.long	1079581736
	.long	1202590843
	.long	1079429857
	.long	-687194767
	.long	1079812259
	.long	1717986918
	.long	1076422246
	.long	171798692
	.long	1078068183
	.long	343597384
	.long	1079510958
	.long	-1202590843
	.long	1079907614
	.long	-343597384
	.long	1079171153
	.long	-1202590843
	.long	1079776542
	.long	-1546188227
	.long	1079512432
	.long	858993459
	.long	1080038195
	.long	343597384
	.long	1077626798
	.long	858993459
	.long	1078317875
	.long	515396076
	.long	1078193029
	.long	-1546188227
	.long	1079233904
	.long	-1889785610
	.long	1078277570
	.long	1030792151
	.long	1078916874
	.long	1374389535
	.long	1074339512
	.long	-171798692
	.long	1077042216
	.long	687194767
	.long	1079402332
	.long	-2061584302
	.long	1080087019
	.long	1374389535
	.long	1075945144
	.long	-1889785610
	.long	1077376450
	.long	515396076
	.long	1079413637
	.long	343597384
	.long	1079895982
	.long	1546188227
	.long	1077150351
	.long	-1374389535
	.long	1078673735
	.long	515396076
	.long	1076751237
	.long	-858993459
	.long	1078283468
	.long	1889785610
	.long	1079142973
	.long	-1546188227
	.long	1079717232
	.long	-1030792151
	.long	1079236853
	.long	-858993459
	.long	1079659724
	.long	-2061584302
	.long	1078628843
	.long	-515396076
	.long	1079403642
	.long	343597384
	.long	1079367598
	.long	-343597384
	.long	1079629905
	.long	-858993459
	.long	1079176396
	.long	-1202590843
	.long	1079969054
	.long	171798692
	.long	1077339095
	.long	1374389535
	.long	1078419128
	.long	171798692
	.long	1077945303
	.long	687194767
	.long	1079181148
	.long	-1717986918
	.long	1078606233
	.long	-515396076
	.long	1079133306
	.long	-515396076
	.long	1076008058
	.long	-1717986918
	.long	1078000025
	.long	171798692
	.long	1079165911
	.long	-1889785610
	.long	1079485890
	.long	-1889785610
	.long	1078793666
	.long	1889785610
	.long	1079503421
	.long	343597384
	.long	1078396846
	.long	1546188227
	.long	1078919823
	.long	687194767
	.long	1079189340
	.long	-171798692
	.long	1079659560
	.long	-1717986918
	.long	1077008793
	.long	343597384
	.long	1078609838
	.long	-1374389535
	.long	1079071047
	.long	-1717986918
	.long	1079695769
	.long	0
	.long	1077608448
	.long	1030792151
	.long	1077950218
	.long	1717986918
	.long	1078969958
	.long	-2061584302
	.long	1079493099
	.long	-343597384
	.long	1078663249
	.long	1374389535
	.long	1079779000
	.long	-2061584302
	.long	1073500651
	.long	1374389535
	.long	-1074979144
	.long	-1030792151
	.long	1079429365
	.long	-858993459
	.long	1080065228
	.long	-687194767
	.long	1078505635
	.long	-1374389535
	.long	1079210311
	.long	-2061584302
	.long	1078776299
	.long	-1202590843
	.long	1079375134
	.long	515396076
	.long	1078848389
	.long	1717986918
	.long	1079584358
	.long	-343597384
	.long	1072871505
	.long	687194767
	.long	1077202780
	.long	1717986918
	.long	1079092838
	.long	-1202590843
	.long	1079776542
	.long	1889785610
	.long	1077594685
	.long	-1374389535
	.long	1078419783
	.long	515396076
	.long	1079180165
	.long	0
	.long	1079627776
	.long	171798692
	.long	1078633431
	.long	-2061584302
	.long	1079550443
	.long	-343597384
	.long	1078605905
	.long	1030792151
	.long	1079133962
	.long	-1030792151
	.long	1079286005
	.long	1889785610
	.long	1079769661
	.long	-858993459
	.long	1079327948
	.long	2061584302
	.long	1079799316
	.long	0
	.long	1079164928
	.long	-1374389535
	.long	1079808327
	.long	343597384
	.long	1078773678
	.long	-2061584302
	.long	1079316971
	.long	-1717986918
	.long	1078548889
	.long	515396076
	.long	1079044997
	.long	-171798692
	.long	1077566504
	.long	-687194767
	.long	1079079075
	.long	-687194767
	.long	1078259875
	.long	1546188227
	.long	1079116431
	.long	-2061584302
	.long	1073893867
	.long	687194767
	.long	1075941212
	.long	-515396076
	.long	1077761146
	.long	1030792151
	.long	1079072522
	.long	-1889785610
	.long	1071183298
	.long	0
	.long	1076002816
	.long	-1030792151
	.long	1078159605
	.long	171798692
	.long	1078641623
	.long	-2061584302
	.long	1078047211
	.long	-1889785610
	.long	1078973890
	.long	-171798692
	.long	1074945064
	.long	687194767
	.long	1078161244
	.long	1030792151
	.long	1075631882
	.long	0
	.long	1078009856
	.long	-1889785610
	.long	1077081538
	.long	-1889785610
	.long	1078179266
	.long	1030792151
	.long	1077860106
	.long	-1889785610
	.long	1078867394
	.long	-515396076
	.long	1079084154
	.long	515396076
	.long	1079561093
	.long	1374389535
	.long	1079537336
	.long	2061584302
	.long	1080163860
	.long	-1889785610
	.long	1079006658
	.long	1717986918
	.long	1079531110
	.long	-171798692
	.long	1079467048
	.long	-343597384
	.long	1079994449
	.long	-1717986918
	.long	1079028121
	.long	1030792151
	.long	1079588618
	.long	687194767
	.long	1078185820
	.long	-2061584302
	.long	1079067115
	.long	1546188227
	.long	1077559951
	.long	-1202590843
	.long	1078379806
	.long	1889785610
	.long	1079171645
	.long	-1374389535
	.long	1079865671
	.long	171798692
	.long	1079030743
	.long	-1889785610
	.long	1079338434
	.long	-1374389535
	.long	1077076295
	.long	1374389535
	.long	1078189752
	.long	-1717986918
	.long	1077516697
	.long	-858993459
	.long	1078783180
	.long	-1546188227
	.long	1079405936
	.long	1374389535
	.long	1080039096
	.long	1202590843
	.long	1077525217
	.long	0
	.long	1078665216
	.long	2061584302
	.long	1075424788
	.long	1889785610
	.long	1078061629
	.long	515396076
	.long	1078668165
	.long	-1030792151
	.long	1079421173
	.long	515396076
	.long	1077865349
	.long	0
	.long	1078607872
	.long	1202590843
	.long	1079245537
	.long	1202590843
	.long	1079724769
	.long	-1202590843
	.long	1078101278
	.long	-343597384
	.long	1078466641
	.long	-343597384
	.long	1079412817
	.long	1546188227
	.long	1079665295
	.long	1546188227
	.long	1073595023
	.long	687194767
	.long	1076825948
	.long	858993459
	.long	1079317299
	.long	-687194767
	.long	1080004771
	.long	1717986918
	.long	1078445670
	.long	-1374389535
	.long	1079390535
	.long	-171798692
	.long	1079528488
	.long	2061584302
	.long	1080040980
	.long	-2061584302
	.long	1079120363
	.long	858993459
	.long	1079595827
	.long	1889785610
	.long	1076857405
	.long	1889785610
	.long	1078430269
	.long	-1202590843
	.long	1079178526
	.long	171798692
	.long	1079714775
	.long	1374389535
	.long	1078869688
	.long	0
	.long	1079672832
	.long	-171798692
	.long	1078549544
	.long	-1030792151
	.long	1079437557
	.long	-171798692
	.long	1076976680
	.long	2061584302
	.long	1078078996
	.long	-1374389535
	.long	1077305671
	.long	-515396076
	.long	1079002234
	.long	1202590843
	.long	1078385377
	.long	0
	.long	1079132160
	.long	-1889785610
	.long	1077081538
	.long	-687194767
	.long	1078136995
	.long	687194767
	.long	1078841180
	.long	1889785610
	.long	1079495229
	.long	-1889785610
	.long	1074591170
	.long	-515396076
	.long	1075975290
	.long	343597384
	.long	1076676526
	.long	1202590843
	.long	1078426337
	.long	-171798692
	.long	1077746728
	.long	1889785610
	.long	1078528573
	.long	-2061584302
	.long	1075335659
	.long	-2061584302
	.long	1078202859
	.long	-1717986918
	.long	1079105945
	.long	1202590843
	.long	1079417569
	.long	-1717986918
	.long	1079466393
	.long	0
	.long	1079930880
	.long	515396076
	.long	1079249797
	.long	-1889785610
	.long	1079940546
	.long	1889785610
	.long	1078250045
	.long	1030792151
	.long	1079084810
	.long	-687194767
	.long	1077817507
	.long	687194767
	.long	1078947676
	.long	-1030792151
	.long	1076832501
	.long	858993459
	.long	1078186803
	.long	-2061584302
	.long	1073762795
	.long	-1717986918
	.long	1078008217
	.long	-1717986918
	.long	1076533657
	.long	-1030792151
	.long	1077668085
	.long	-1717986918
	.long	1075288473
	.long	-1889785610
	.long	1078146498
	.long	1202590843
	.long	1079360225
	.long	-687194767
	.long	1079558307
	.long	2061584302
	.long	1078169108
	.long	-1889785610
	.long	1079178690
	.long	-171798692
	.long	1078623272
	.long	687194767
	.long	1079492444
	.long	-1546188227
	.long	1077771632
	.long	515396076
	.long	1078668165
	.long	-1717986918
	.long	1079450009
	.long	858993459
	.long	1080144691
	.long	0
	.long	1079496704
	.long	-1374389535
	.long	1079865671
	.long	-1202590843
	.long	1079407902
	.long	-858993459
	.long	1079872716
	.long	2061584302
	.long	1077014036
	.long	-343597384
	.long	1077950545
	.long	-687194767
	.long	1079042211
	.long	515396076
	.long	1079716741
	.long	1546188227
	.long	1079112335
	.long	-1889785610
	.long	1079457218
	.long	-1889785610
	.long	1077605826
	.long	171798692
	.long	1077830615
	.long	-1202590843
	.long	1079502110
	.long	-515396076
	.long	1080114298
	.long	-515396076
	.long	1078113402
	.long	343597384
	.long	1079179182
	.long	-1202590843
	.long	1077724446
	.long	343597384
	.long	1078642606
	.long	1546188227
	.long	1077904015
	.long	1202590843
	.long	1078876897
	.long	-1374389535
	.long	1079394631
	.long	1202590843
	.long	1079638753
	.long	343597384
	.long	1075464110
	.long	-515396076
	.long	1077466234
	.long	858993459
	.long	1078416179
	.long	1717986918
	.long	1078855270
	.long	1030792151
	.long	1079371530
	.long	-1202590843
	.long	1080079646
	.long	1030792151
	.long	1078703882
	.long	-1374389535
	.long	1079439687
	.long	1030792151
	.long	1079568138
	.long	1546188227
	.long	1079804559
	.long	-1030792151
	.long	1075914997
	.long	343597384
	.long	1077430190
	.long	-1030792151
	.long	1079126261
	.long	-171798692
	.long	1079471144
	.long	1374389535
	.long	1079000760
	.long	-1030792151
	.long	1079322869
	.long	343597384
	.long	1077594030
	.long	-1374389535
	.long	1078944071
	.long	1717986918
	.long	1078470246
	.long	-515396076
	.long	1079395450
	.long	-1717986918
	.long	1078409625
	.long	-1374389535
	.long	1079300423
	.long	858993459
	.long	1079001907
	.long	343597384
	.long	1079355310
	.long	-858993459
	.long	1079373004
	.long	1717986918
	.long	1079649894
	.long	1717986918
	.long	1078609510
	.long	858993459
	.long	1079165747
	.long	-343597384
	.long	1079482449
	.long	-1030792151
	.long	1080002805
	.long	-1889785610
	.long	1078515138
	.long	1202590843
	.long	1078868705
	.long	1717986918
	.long	1079240294
	.long	-1030792151
	.long	1079859445
	.long	1889785610
	.long	1079327293
	.long	0
	.long	1079742464
	.long	-343597384
	.long	1079130193
	.long	-1546188227
	.long	1079512432
	.long	858993459
	.long	1077424947
	.long	515396076
	.long	1078545285
	.long	-515396076
	.long	1079284858
	.long	171798692
	.long	1079620567
	.long	-1030792151
	.long	1078044917
	.long	1717986918
	.long	1078568550
	.long	1717986918
	.long	1078978150
	.long	1030792151
	.long	1079310090
	.long	687194767
	.long	1079418716
	.long	343597384
	.long	1079781294
	.long	1717986918
	.long	1079084646
	.long	-1889785610
	.long	1079842242
	.long	1030792151
	.long	1078204170
	.long	1374389535
	.long	1079033528
	.long	515396076
	.long	1079393157
	.long	1202590843
	.long	1080097505
	.long	2061584302
	.long	1078521364
	.long	343597384
	.long	1079519150
	.long	1546188227
	.long	1075364495
	.long	-343597384
	.long	1078040657
	.long	-343597384
	.long	1079478353
	.long	-1374389535
	.long	1079738695
	.long	1374389535
	.long	1079455416
	.long	-2061584302
	.long	1080025579
	.long	-1889785610
	.long	1077786050
	.long	-1546188227
	.long	1078607216
	.long	-1546188227
	.long	1077738864
	.long	-1546188227
	.long	1078107504
	.long	-1202590843
	.long	1079338270
	.long	-1889785610
	.long	1079838146
	.long	0
	.long	1079533568
	.long	-1374389535
	.long	1080144199
	.long	-515396076
	.long	1072829562
	.long	-343597384
	.long	1077557329
	.long	-1546188227
	.long	1079496048
	.long	1546188227
	.long	1079865999
	.long	1030792151
	.long	1078056714
	.long	687194767
	.long	1079000924
	.long	-2061584302
	.long	1079423467
	.long	-1889785610
	.long	1079961026
	.long	171798692
	.long	1078207447
	.long	-1889785610
	.long	1079301570
	.long	-2061584302
	.long	1079468523
	.long	1717986918
	.long	1079912038
	.long	1889785610
	.long	1079560765
	.long	-1202590843
	.long	1080053022
	.long	-1546188227
	.long	1079078256
	.long	-1717986918
	.long	1079638425
	.long	-2061584302
	.long	1078948331
	.long	1374389535
	.long	1079168696
	.long	1717986918
	.long	1079498342
	.long	515396076
	.long	1080273797
	.long	1546188227
	.long	1077723791
	.long	1030792151
	.long	1078638346
	.long	1202590843
	.long	1077033697
	.long	0
	.long	1078108160
	.long	171798692
	.long	1078076375
	.long	515396076
	.long	1079106437
	.long	-2061584302
	.long	1078137323
	.long	-858993459
	.long	1078897868
	.long	1717986918
	.long	1078019686
	.long	-858993459
	.long	1078897868
	.long	-1030792151
	.long	1077684469
	.long	-1030792151
	.long	1078167797
	.long	1202590843
	.long	1079155425
	.long	-343597384
	.long	1079421009
	.long	-1202590843
	.long	1078183198
	.long	-1374389535
	.long	1079079239
	.long	-515396076
	.long	1079276666
	.long	1546188227
	.long	1079874191
	.long	-687194767
	.long	1078071459
	.long	-343597384
	.long	1078802513
	.long	-1374389535
	.long	1079370055
	.long	-2061584302
	.long	1079996907
	.long	-1889785610
	.long	1078826434
	.long	-1546188227
	.long	1079496048
	.long	-1374389535
	.long	1072881991
	.long	1889785610
	.long	1077185085
	.long	1717986918
	.long	1077732966
	.long	-1889785610
	.long	1079076290
	.long	-171798692
	.long	1079090216
	.long	1889785610
	.long	1079675453
	.long	-1202590843
	.long	1076905246
	.long	171798692
	.long	1078019031
	.long	171798692
	.long	1077486551
	.long	2061584302
	.long	1078677012
	.long	0
	.long	1077559296
	.long	0
	.long	1078419456
	.long	2061584302
	.long	1075981844
	.long	-343597384
	.long	1078138961
	.long	858993459
	.long	1078416179
	.long	-343597384
	.long	1079076945
	.long	-515396076
	.long	1077531770
	.long	0
	.long	1078288384
	.long	1030792151
	.long	1079359242
	.long	1717986918
	.long	1080108646
	.long	515396076
	.long	1078111109
	.long	343597384
	.long	1079261102
	.long	1889785610
	.long	1079196221
	.long	1717986918
	.long	1079723622
	.long	-1889785610
	.long	1079006658
	.long	1030792151
	.long	1079572234
	.long	-687194767
	.long	1078685859
	.long	1717986918
	.long	1079154278
	.long	-1030792151
	.long	1077029109
	.long	2061584302
	.long	1078332948
	.long	2061584302
	.long	1078586900
	.long	-1030792151
	.long	1079199989
	.long	-1374389535
	.long	1078174023
	.long	2061584302
	.long	1079250452
	.long	515396076
	.long	1076095877
	.long	858993459
	.long	1077375795
	.long	515396076
	.long	1077750661
	.long	1717986918
	.long	1078634086
	.long	171798692
	.long	1078445015
	.long	171798692
	.long	1079067607
	.long	515396076
	.long	1078659973
	.long	-2061584302
	.long	1079308779
	.long	-687194767
	.long	1079558307
	.long	2061584302
	.long	1079688724
	.long	687194767
	.long	1079177052
	.long	2061584302
	.long	1079598612
	.long	-858993459
	.long	1079430348
	.long	171798692
	.long	1080050647
	.long	1717986918
	.long	1076553318
	.long	1546188227
	.long	1078182543
	.long	-687194767
	.long	1078366371
	.long	-1546188227
	.long	1079139696
	.long	515396076
	.long	1078020997
	.long	1889785610
	.long	1079032381
	.long	-1374389535
	.long	1079337287
	.long	687194767
	.long	1079717724
	.long	171798692
	.long	1079157719
	.long	0
	.long	1079300096
	.long	-343597384
	.long	1074182225
	.long	-171798692
	.long	1077255208
	.long	-343597384
	.long	1078171729
	.long	1374389535
	.long	1079246520
	.long	1717986918
	.long	1079567974
	.long	1546188227
	.long	1080101519
	.long	-1030792151
	.long	1078995189
	.long	515396076
	.long	1079475077
	.long	-1717986918
	.long	1079269785
	.long	-1717986918
	.long	1079785881
	.long	687194767
	.long	1079263068
	.long	687194767
	.long	1079766876
	.long	1374389535
	.long	1077616312
	.long	-171798692
	.long	1078877224
	.long	1030792151
	.long	1079392010
	.long	343597384
	.long	1080049582
	.long	0
	.long	1079128064
	.long	687194767
	.long	1079693148
	.long	-1889785610
	.long	1075869122
	.long	1374389535
	.long	1077960376
	.long	1889785610
	.long	1077578301
	.long	-2061584302
	.long	1079120363
	.long	-687194767
	.long	1078210723
	.long	-1030792151
	.long	1079113973
	.long	343597384
	.long	1077528494
	.long	-343597384
	.long	1078720593
	.long	-1717986918
	.long	1077778841
	.long	-2061584302
	.long	1078358507
	.long	0
	.long	1079517184
	.long	-515396076
	.long	1080005754
	.long	-687194767
	.long	1079140515
	.long	-1717986918
	.long	1079347609
	.long	-343597384
	.long	1078704209
	.long	1202590843
	.long	1079110369
	.long	858993459
	.long	1079378739
	.long	515396076
	.long	1079909253
	.long	1374389535
	.long	1079545528
	.long	343597384
	.long	1079981998
	.long	-1030792151
	.long	1079298293
	.long	-1717986918
	.long	1079916953
	.long	-1374389535
	.long	1076486471
	.long	1717986918
	.long	1078208102
	.long	-1374389535
	.long	1074323783
	.long	687194767
	.long	1077383004
	.long	0
	.long	1075249152
	.long	-343597384
	.long	1077573713
	.long	-1374389535
	.long	1074585927
	.long	171798692
	.long	1076667351
	.long	-687194767
	.long	1078325411
	.long	1889785610
	.long	1078782525
	.long	1546188227
	.long	1079034511
	.long	2061584302
	.long	1079574036
	.long	-1717986918
	.long	1078114713
	.long	1889785610
	.long	1079179837
	.long	-343597384
	.long	1075984465
	.long	1374389535
	.long	1077780152
	.long	-1546188227
	.long	1078861168
	.long	-858993459
	.long	1079479500
	.long	-1374389535
	.long	1079103815
	.long	-1717986918
	.long	1079925145
	.long	1889785610
	.long	1076562493
	.long	1717986918
	.long	1077700198
	.long	687194767
	.long	1079279452
	.long	-858993459
	.long	1080016076
	.long	687194767
	.long	1079201628
	.long	-858993459
	.long	1079684300
	.long	-687194767
	.long	1079193763
	.long	1374389535
	.long	1079918264
	.long	-2061584302
	.long	1079439851
	.long	-171798692
	.long	1079741480
	.long	1030792151
	.long	1078761226
	.long	-515396076
	.long	1079190650
	.long	2061584302
	.long	1073851924
	.long	1030792151
	.long	1077466890
	.long	1889785610
	.long	1078340157
	.long	171798692
	.long	1079157719
	.long	-1889785610
	.long	1079125442
	.long	515396076
	.long	1079479173
	.long	0
	.long	1078386688
	.long	171798692
	.long	1078903767
	.long	-1030792151
	.long	1078733045
	.long	1717986918
	.long	1079277158
	.long	1546188227
	.long	1078248079
	.long	-1717986918
	.long	1079011737
	.long	687194767
	.long	1078619996
	.long	-1202590843
	.long	1079465246
	.long	343597384
	.long	1078151086
	.long	1374389535
	.long	1078689464
	.long	-171798692
	.long	1079565352
	.long	687194767
	.long	1080061788
	.long	-1546188227
	.long	1076837744
	.long	1546188227
	.long	1078551183
	.long	2061584302
	.long	1075359252
	.long	-1374389535
	.long	1078452551
	.long	1202590843
	.long	1079098081
	.long	1889785610
	.long	1079671357
	.long	-1202590843
	.long	1078715678
	.long	171798692
	.long	1079251927
	.long	-171798692
	.long	1078148136
	.long	-1202590843
	.long	1078510878
	.long	858993459
	.long	1077801779
	.long	-1546188227
	.long	1078672752
	.long	1717986918
	.long	1079092838
	.long	515396076
	.long	1079450501
	.long	1374389535
	.long	1077845688
	.long	343597384
	.long	1079015342
	.long	-1717986918
	.long	1077303705
	.long	-687194767
	.long	1078669475
	.long	1546188227
	.long	1079190159
	.long	1717986918
	.long	1079588454
	.long	-515396076
	.long	1079571578
	.long	-858993459
	.long	1080104140
	.long	-515396076
	.long	1078948986
	.long	-1374389535
	.long	1079611719
	.long	-858993459
	.long	1078365388
	.long	2061584302
	.long	1078849044
	.long	-343597384
	.long	1078728785
	.long	-171798692
	.long	1079454760
	.long	2061584302
	.long	1079393812
	.long	343597384
	.long	1080084398
	.long	-1374389535
	.long	1077829959
	.long	1717986918
	.long	1078847078
	.long	1546188227
	.long	1078289039
	.long	1374389535
	.long	1079013048
	.long	2061584302
	.long	1078840852
	.long	-1374389535
	.long	1079275847
	.long	687194767
	.long	1074892636
	.long	0
	.long	1077641216
	.long	-1030792151
	.long	1076111605
	.long	515396076
	.long	1076685701
	.long	858993459
	.long	1078137651
	.long	-171798692
	.long	1078352936
	.long	-1374389535
	.long	1079132487
	.long	515396076
	.long	1079675781
	.long	-1717986918
	.long	1076763033
	.long	1202590843
	.long	1077754593
	.long	687194767
	.long	1078759260
	.long	1374389535
	.long	1079385784
	.long	-687194767
	.long	1078866083
	.long	-515396076
	.long	1079403642
	.long	171798692
	.long	1078453207
	.long	858993459
	.long	1079309107
	.long	-1374389535
	.long	1079206215
	.long	-1202590843
	.long	1079887134
	.long	1202590843
	.long	1079151329
	.long	1717986918
	.long	1079694950
	.long	-343597384
	.long	1075624017
	.long	-1717986918
	.long	1078253977
	.long	-1717986918
	.long	1079404953
	.long	515396076
	.long	1080097669
	.long	1546188227
	.long	1079009935
	.long	515396076
	.long	1079405445
	.long	1202590843
	.long	1078246113
	.long	343597384
	.long	1079023534
	.long	-1889785610
	.long	1075443138
	.long	1889785610
	.long	1078127165
	.long	2061584302
	.long	1078431252
	.long	1202590843
	.long	1079204577
	.long	1889785610
	.long	1079462461
	.long	0
	.long	1080174592
	.long	-343597384
	.long	1077753937
	.long	-1202590843
	.long	1078846750
	.long	-1546188227
	.long	1077902704
	.long	1374389535
	.long	1079156408
	.long	-1717986918
	.long	1078524313
	.long	1202590843
	.long	1079270113
	.long	515396076
	.long	1079257989
	.long	1202590843
	.long	1079843553
	.long	1546188227
	.long	1078289039
	.long	-1717986918
	.long	1079110041
	.long	171798692
	.long	1079243735
	.long	-1889785610
	.long	1079543234
	.long	1202590843
	.long	1076296417
	.long	171798692
	.long	1078084567
	.long	-1546188227
	.long	1079078256
	.long	-1030792151
	.long	1079445749
	.long	1030792151
	.long	1079551754
	.long	1546188227
	.long	1080113807
	.long	1202590843
	.long	1073773281
	.long	343597384
	.long	1076479918
	.long	1030792151
	.long	1077122826
	.long	-171798692
	.long	1078606888
	.long	-687194767
	.long	1078194339
	.long	1202590843
	.long	1079134945
	.long	-1202590843
	.long	1078084894
	.long	0
	.long	1078829056
	.long	-1202590843
	.long	1079530782
	.long	1374389535
	.long	1079856824
	.long	-1546188227
	.long	1077992816
	.long	-1374389535
	.long	1079112007
	.long	-1889785610
	.long	1076590018
	.long	687194767
	.long	1078284124
	.long	-515396076
	.long	1077826682
	.long	-1717986918
	.long	1079249305
	.long	1374389535
	.long	1078156984
	.long	1889785610
	.long	1078676029
	.long	-1202590843
	.long	1076561182
	.long	0
	.long	1077280768
	.long	1030792151
	.long	1078040330
	.long	687194767
	.long	1079115612
	.long	-687194767
	.long	1079181475
	.long	858993459
	.long	1079817011
	.long	858993459
	.long	1077392179
	.long	-515396076
	.long	1078162554
	.long	-858993459
	.long	1072745676
	.long	1030792151
	.long	1078089482
	.long	1546188227
	.long	1078723215
	.long	-1717986918
	.long	1079429529
	.long	1374389535
	.long	1079365304
	.long	0
	.long	1079689216
	.long	-171798692
	.long	1079409704
	.long	171798692
	.long	1079886807
	.long	-1030792151
	.long	1078888693
	.long	1546188227
	.long	1079284367
	.long	2061584302
	.long	1078758932
	.long	1030792151
	.long	1079211786
	.long	687194767
	.long	1078587228
	.long	-343597384
	.long	1079187537
	.long	-2061584302
	.long	1077563883
	.long	687194767
	.long	1078267740
	.long	-1717986918
	.long	1077467545
	.long	1030792151
	.long	1078466314
	.long	515396076
	.long	1076915077
	.long	-1717986918
	.long	1078385049
	.long	1889785610
	.long	1074465341
	.long	-2061584302
	.long	1078006251
	.long	858993459
	.long	1073820467
	.long	343597384
	.long	1077790638
	.long	-1717986918
	.long	1077991833
	.long	171798692
	.long	1078764503
	.long	-1889785610
	.long	1075180994
	.long	515396076
	.long	1076882309
	.long	-343597384
	.long	1075296337
	.long	343597384
	.long	1077610414
	.long	-858993459
	.long	1078054092
	.long	-1546188227
	.long	1078902128
	.long	343597384
	.long	1079048110
	.long	-2061584302
	.long	1079448043
	.long	-343597384
	.long	1079138385
	.long	-1374389535
	.long	1079775559
	.long	1546188227
	.long	1075102351
	.long	-2061584302
	.long	1077285355
	.long	1546188227
	.long	1076707983
	.long	1889785610
	.long	1078503997
	.long	-1717986918
	.long	1079138713
	.long	687194767
	.long	1079713628
	.long	1717986918
	.long	1079514726
	.long	515396076
	.long	1080103813
	.long	-1717986918
	.long	1079409049
	.long	-171798692
	.long	1079876648
	.long	-1546188227
	.long	1079168368
	.long	-1546188227
	.long	1079659888
	.long	-687194767
	.long	1079107747
	.long	-343597384
	.long	1079994449
	.long	-2061584302
	.long	1079185899
	.long	-1889785610
	.long	1079350722
	.long	-1202590843
	.long	1079133470
	.long	-858993459
	.long	1079491788
	.long	-343597384
	.long	1078114385
	.long	1717986918
	.long	1079043686
	.long	-858993459
	.long	1079037132
	.long	-1202590843
	.long	1079608606
	.long	-171798692
	.long	1078230056
	.long	-1889785610
	.long	1079072194
	.long	0
	.long	1079435264
	.long	-1374389535
	.long	1080066375
	.long	858993459
	.long	1073165107
	.long	1717986918
	.long	1077405286
	.long	-1030792151
	.long	1074669813
	.long	515396076
	.long	1078037381
	.long	343597384
	.long	1078175662
	.long	-1030792151
	.long	1078601973
	.long	-1030792151
	.long	1078405365
	.long	-858993459
	.long	1079422156
	.long	-687194767
	.long	1077850275
	.long	171798692
	.long	1078379479
	.long	687194767
	.long	1078284124
	.long	171798692
	.long	1079256023
	.long	-858993459
	.long	1079119052
	.long	-1717986918
	.long	1079708057
	.long	687194767
	.long	1076694876
	.long	-515396076
	.long	1078269050
	.long	1374389535
	.long	1079328440
	.long	-1202590843
	.long	1079674142
	.long	1374389535
	.long	1079099064
	.long	1717986918
	.long	1079854694
	.long	-687194767
	.long	1076785315
	.long	-515396076
	.long	1078080634
	.long	-171798692
	.long	1078746152
	.long	-2061584302
	.long	1079489003
	.long	1546188227
	.long	1079550607
	.long	-343597384
	.long	1080068177
	.long	-515396076
	.long	1079436410
	.long	1374389535
	.long	1080012472
	.long	-171798692
	.long	1078983720
	.long	-1717986918
	.long	1079568793
	.long	1030792151
	.long	1079305994
	.long	171798692
	.long	1079796695
	.long	2061584302
	.long	1078152724
	.long	343597384
	.long	1078626222
	.long	-515396076
	.long	1078293626
	.long	858993459
	.long	1079255859
	.long	-2061584302
	.long	1079513579
	.long	-343597384
	.long	1080141905
	.long	-1889785610
	.long	1078654402
	.long	1717986918
	.long	1079211622
	.long	1717986918
	.long	1079445094
	.long	-1374389535
	.long	1080009031
	.long	1717986918
	.long	1079551590
	.long	1889785610
	.long	1079802429
	.long	1546188227
	.long	1079415439
	.long	171798692
	.long	1079866327
	.long	1546188227
	.long	1077887631
	.long	1030792151
	.long	1078753034
	.long	0
	.long	1079095296
	.long	-1202590843
	.long	1079596318
	.long	687194767
	.long	1078587228
	.long	-515396076
	.long	1079235706
	.long	2061584302
	.long	1078554132
	.long	-1889785610
	.long	1079256514
	.long	-2061584302
	.long	1078735339
	.long	2061584302
	.long	1079176724
	.long	-343597384
	.long	1079109713
	.long	171798692
	.long	1079530455
	.long	858993459
	.long	1078293299
	.long	-171798692
	.long	1079069736
	.long	-1546188227
	.long	1078205808
	.long	1546188227
	.long	1079042703
	.long	-687194767
	.long	1078194339
	.long	-2061584302
	.long	1079017963
	.long	-1889785610
	.long	1078056386
	.long	-1889785610
	.long	1078785474
	.long	515396076
	.long	1079352197
	.long	1030792151
	.long	1079973642
	.long	343597384
	.long	1079162798
	.long	-1374389535
	.long	1079644487
	.long	-1889785610
	.long	1078343106
	.long	-1546188227
	.long	1079463280
	.long	-1202590843
	.long	1079321886
	.long	-1202590843
	.long	1079899422
	.long	-1374389535
	.long	1079419207
	.long	343597384
	.long	1079822254
	.long	2061584302
	.long	1078316564
	.long	-1202590843
	.long	1079112990
	.long	1546188227
	.long	1075167887
	.long	687194767
	.long	1077661532
	.long	515396076
	.long	1078397829
	.long	343597384
	.long	1079060398
	.local	_ZL8d_n_data
	.comm	_ZL8d_n_data,4,4
	.globl	n_data
	.align 4
	.type	n_data, @object
	.size	n_data, 4
n_data:
	.long	1000
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC3:
	.long	-8388608
	.long	1104006500
	.align 8
.LC4:
	.long	0
	.long	1076101120
	.align 8
.LC5:
	.long	-858993459
	.long	1073007820
	.align 8
.LC10:
	.long	1202590843
	.long	1065646817
	.align 8
.LC20:
	.long	0
	.long	1104006501
	.ident	"GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:


#include <hip/hip_runtime.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <unistd.h>
#include <hip/hip_runtime_api.h>
#include <errno.h>
#include <unistd.h>

/******************************************************************************
 * The variable names and the function names of this program is same as provided by the university.
  The added variable and function are the only changes made to this program. 


 * To compile:
 *   nvcc -o Q2.1_a Q2.1_a.cu -lm
 * 
 * To run:
 *   .Q2.1_a
 * 
 *****************************************************************************/

typedef struct point_t {
  double x;
  double y;
} point_t;

int n_data = 1000;
__device__ int d_n_data = 1000;


point_t data[] = {
   {83.74,106.34},{73.39,113.86},{77.96,116.13},{79.05,99.53},
  {78.42,123.49},{66.05,92.78},{65.28,89.23},{82.08,112.68},
  {76.00,89.05},{69.45,97.14},{82.39,118.99},{60.34,80.15},
  {57.04,89.13},{80.20,127.97},{84.48,105.81},{78.12,133.41},
  {70.52,93.88},{93.03,125.69},{70.05,95.63},{68.58,89.01},
  { 6.70,32.41},{ 6.10,15.84},{16.40,49.00},{32.23,43.99},
  {56.73,70.58},{64.22,101.28},{56.10,77.67},{55.15,76.24},
  {18.14,27.20},{35.20,69.89},{56.60,74.69},{21.74,44.62},
  {18.17,37.32},{73.48,96.31},{85.17,126.58},{84.95,124.48},
  {79.38,121.14},{95.12,130.68},{21.14,49.79},{ 2.36,32.37},
  {40.79,64.39},{44.71,59.59},{63.84,91.03},{40.63,55.66},
  { 4.75,32.97},{34.81,54.46},{27.77,55.46},{87.10,120.46},
  {31.41,49.15},{34.79,50.51},{21.17,49.44},{ 8.87,25.18},
  {96.25,125.31},{32.01,51.61},{81.53,119.04},{ 9.78,35.30},
  {70.64,105.43},{76.65,115.25},{48.74,71.25},{87.70,123.83},
  { 6.78,50.34},{83.93,124.53},{ 7.81,33.51},{32.90,58.00},
  {38.81,76.13},{84.21,110.96},{26.93,56.53},{35.68,66.30},
  {89.43,128.18},{40.25,59.29},{ 0.29,20.10},{27.46,49.81},
  {59.70,87.64},{44.81,81.52},{ 4.25,49.98},{57.40,87.62},
  { 6.23,25.46},{37.29,57.19},{31.14,43.38},{82.59,101.25},
  {23.18,49.57},{84.95,128.84},{29.80,41.03},{12.78,46.02},
  {15.66,45.37},{99.80,130.02},{94.17,132.91},{22.60,60.75},
  {61.72,81.84},{99.84,123.21},{ 0.26,23.42},{56.43,83.42},
  {95.09,136.25},{93.48,136.33},{69.29,104.04},{97.09,127.39},
  {56.57,81.25},{10.12,45.78},{78.95,115.47},{59.81,76.07},
  {22.57,30.01},{88.86,123.23},{25.04,48.17},{ 2.15,16.57},
  { 0.60,22.46},{23.62,57.28},{71.99,109.50},{99.72,132.03},
  {50.01,81.97},{ 9.47,27.03},{ 4.77,17.19},{18.97,55.61},
  { 7.00,35.20},{22.59,63.88},{44.67,69.17},{80.60,96.96},
  {58.54,100.03},{83.99,119.83},{49.74,82.94},{80.87,116.76},
  { 1.43,28.16},{97.12,109.29},{ 8.72,45.48},{ 0.16,17.61},
  {42.41,66.50},{60.60,106.80},{70.66,110.42},{45.21,58.05},
  {22.51,35.63},{97.11,126.70},{88.39,134.12},{92.45,102.06},
  {24.94,48.84},{10.11,43.11},{85.41,124.57},{ 1.06,18.21},
  {12.83,42.16},{97.76,136.25},{65.19,106.28},{41.08,67.65},
  {73.42,108.37},{ 1.90,19.83},{87.83,109.92},{31.08,75.47},
  {26.01,51.85},{16.81,30.60},{73.31,110.27},{ 3.17,17.35},
  {73.47,110.59},{59.71,83.99},{91.47,109.86},{55.68,69.73},
  {39.19,75.61},{33.03,72.17},{65.06,88.92},{12.71,44.96},
  {60.87,90.97},{98.35,140.22},{12.03,24.38},{17.66,24.44},
  {10.55,31.26},{70.28,99.49},{29.17,65.26},{29.72,59.44},
  {93.11,130.73},{10.31,38.89},{ 7.84,28.59},{95.04,114.02},
  {17.64,37.28},{15.99,49.27},{99.33,118.30},{75.31,109.18},
  {37.72,50.12},{24.63,34.10},{25.68,46.44},{62.28,71.69},
  {73.85,104.53},{ 8.77,33.27},{41.19,77.99},{97.40,116.13},
  {12.02,37.19},{ 9.29,34.87},{31.27,52.74},{17.94,43.58},
  {16.40,25.59},{55.52,96.88},{94.83,127.70},{68.98,110.26},
  {31.23,54.59},{49.17,63.18},{19.53,38.67},{83.68,101.98},
  {68.82,96.06},{86.77,124.87},{63.85,106.88},{52.77,98.17},
  {59.42,89.11},{27.27,52.85},{61.01,90.34},{80.10,116.89},
  {73.81,112.05},{32.67,55.78},{ 5.19,14.02},{49.60,67.97},
  {85.97,103.76},{12.63,25.81},{63.11,97.75},{ 8.28,32.23},
  {39.62,61.00},{44.63,70.61},{80.02,109.81},{67.41,91.42},
  {56.76,81.23},{65.41,97.47},{35.93,64.01},{61.15,93.82},
  {15.85,38.57},{34.33,58.62},{86.53,111.39},{57.52,70.74},
  {80.21,117.90},{92.02,129.92},{71.09,110.89},{56.23,70.38},
  {49.93,73.71},{93.20,125.76},{11.74,37.94},{22.60,55.90},
  {86.19,114.25},{22.65,66.55},{20.98,44.70},{18.38,42.85},
  {66.80,71.14},{84.56,105.13},{83.69,106.03},{86.16,136.85},
  {73.01,115.11},{21.03,42.77},{ 5.68,35.39},{26.00,47.86},
  {49.04,70.02},{42.01,67.58},{63.84,85.45},{33.99,69.31},
  {82.27,131.39},{23.91,50.83},{71.22,99.28},{50.90,74.42},
  {63.43,127.34},{64.52,101.94},{26.16,46.94},{93.75,135.33},
  {24.45,60.31},{27.07,59.56},{ 6.63,30.60},{96.60,103.76},
  {84.70,100.29},{40.94,60.39},{20.97,72.10},{52.04,88.50},
  {29.82,67.23},{49.00,81.70},{ 6.81,26.55},{74.02,127.44},
  {11.94,22.42},{76.65,85.37},{20.12,51.68},{30.81,57.82},
  {84.34,110.19},{24.62,50.82},{ 2.39,29.61},{71.27,119.05},
  { 7.65,27.22},{52.06,76.39},{18.30,40.25},{ 7.64,39.02},
  {81.37,106.20},{11.52,27.99},{40.32,45.07},{78.58,96.79},
  {95.95,121.82},{27.46,63.07},{55.87,94.45},{ 0.70,24.57},
  {97.99,132.86},{33.66,48.20},{90.80,151.81},{26.50,52.14},
  {43.63,58.92},{89.43,133.69},{86.56,118.66},{62.23,64.55},
  {24.14,57.02},{57.77,94.64},{42.50,74.10},{51.19,77.93},
  {12.87,44.92},{60.37,77.71},{33.65,73.18},{23.54,49.79},
  { 4.28,23.60},{60.19,102.95},{34.91,64.20},{88.52,103.35},
  {58.87,90.38},{93.30,118.97},{56.23,97.15},{91.77,116.53},
  {69.16,91.38},{42.31,66.76},{47.95,72.87},{25.19,49.40},
  {86.48,119.90},{40.74,69.72},{43.28,74.73},{98.01,106.18},
  { 7.77,36.49},{94.93,125.37},{56.76,70.90},{ 2.03,26.08},
  { 8.43,32.71},{53.25,108.51},{42.03,79.29},{70.05,99.48},
  {28.46,47.84},{52.90,65.89},{13.78,27.18},{34.73,79.88},
  {58.46,88.84},{90.98,131.32},{ 6.97,23.44},{42.35,84.44},
  {97.08,125.68},{48.45,70.66},{60.29,86.37},{49.84,57.71},
  {19.48,52.06},{92.02,129.81},{58.61,96.17},{18.01,52.96},
  {30.69,50.44},{75.70,98.74},{86.50,110.18},{94.28,139.99},
  {27.65,44.94},{20.51,49.15},{95.70,113.23},{14.88,32.87},
  {13.01,42.81},{61.35,84.81},{42.95,70.86},{33.19,37.43},
  {54.06,69.36},{47.79,68.21},{37.46,66.41},{24.05,53.35},
  {91.70,128.14},{43.79,49.26},{22.27,28.06},{81.85,107.34},
  { 2.84,26.03},{54.53,94.13},{83.91,101.50},{78.32,96.69},
  { 7.44,36.02},{94.55,131.05},{46.17,68.56},{47.07,65.63},
  {62.94,88.22},{37.56,69.79},{99.54,127.49},{23.76,20.87},
  {82.13,121.06},{39.69,52.19},{12.26,31.42},{84.10,129.77},
  {53.53,78.33},{73.41,110.28},{36.68,63.60},{16.80,45.02},
  { 7.14,36.68},{42.08,71.80},{59.56,107.04},{41.23,73.06},
  {86.11,115.39},{71.75,98.85},{94.78,127.67},{20.46,36.27},
  {32.55,75.12},{73.01,108.35},{50.16,88.92},{76.51,104.09},
  {55.23,78.03},{64.48,97.81},{75.78,109.67},{48.27,101.74},
  {13.65,37.06},{96.59,123.13},{ 9.52,23.72},{58.56,77.86},
  {14.02,58.67},{54.21,67.92},{25.33,63.98},{98.19,134.54},
  {23.06,39.93},{46.83,59.60},{72.45,100.56},{ 8.78,12.39},
  {67.85,110.33},{74.42,96.69},{70.35,89.57},{79.86,87.27},
  {51.62,92.07},{23.21,43.83},{ 1.10,45.80},{11.62,50.67},
  {67.71,101.40},{32.18,60.45},{65.00,79.10},{37.65,80.13},
  {78.68,116.54},{ 2.97,35.03},{20.43,34.06},{98.46,126.72},
  {28.90,63.72},{57.71,64.73},{28.10,48.16},{55.50,75.17},
  {23.52,51.43},{11.55,34.28},{93.45,125.26},{ 7.74,35.97},
  {99.28,125.32},{93.31,129.15},{67.44,92.65},{47.81,90.68},
  {27.28,50.50},{74.30,96.40},{37.61,50.42},{70.69,106.23},
  {65.21,105.68},{59.51,96.35},{85.72,124.26},{68.29,90.02},
  {26.36,47.68},{79.02,107.46},{61.82,79.06},{12.44,40.21},
  {67.46,93.41},{74.45,95.69},{62.39,101.43},{40.92,76.28},
  {91.90,124.93},{88.86,116.67},{56.85,92.67},{81.09,111.36},
  {56.09,77.71},{40.53,61.71},{67.86,101.91},{63.20,94.65},
  {31.41,62.11},{79.61,101.83},{33.32,70.06},{91.68,114.80},
  {89.03,123.14},{89.69,135.65},{37.56,57.58},{97.65,124.36},
  {87.50,120.56},{23.61,43.56},{53.59,90.38},{13.68,27.00},
  {92.77,142.42},{79.97,95.35},{49.32,69.95},{ 8.45,31.33},
  {57.25,99.90},{86.61,91.37},{53.29,111.56},{86.31,124.69},
  {11.88,36.51},{ 9.14,20.15},{99.57,159.36},{ 6.12,35.23},
  {10.58,25.41},{70.37,101.96},{52.44,73.19},{ 4.59,36.48},
  {91.91,119.19},{ 2.21,26.61},{82.30,110.67},{77.81,114.88},
  {85.43,120.93},{31.16,46.24},{71.60,97.68},{50.43,97.09},
  {32.08,53.51},{80.72,120.18},{15.79,43.38},{89.43,120.66},
  {86.62,126.08},{71.40,106.75},{97.96,140.90},{72.58,115.59},
  {87.40,122.87},{17.73,25.54},{91.01,120.51},{68.14,100.61},
  {47.56,76.98},{ 0.17,30.13},{17.60,43.35},{44.43,68.59},
  {23.39,58.25},{44.67,63.18},{ 1.49, 6.99},{47.53,59.73},
  {92.72,139.16},{71.00,119.66},{ 3.23,25.45},{90.94,129.26},
  {84.62,121.43},{24.91,45.74},{77.20,103.91},{34.40,50.34},
  {65.07,84.03},{61.97,91.46},{17.00,48.85},{88.77,116.15},
  {11.65,29.84},{29.62,61.89},{44.19,80.67},{12.99,44.45},
  {59.13,90.89},{80.87,101.25},{ 0.62,49.37},{95.45,131.92},
  {21.49,53.63},{73.19,104.63},{47.94,75.73},{61.52,96.93},
  {77.57,110.03},{56.90,84.44},{71.63,106.43},{ 7.28,41.55},
  { 6.10,20.51},{55.83,88.97},{63.35,79.25},{21.40,33.97},
  {42.88,79.00},{99.78,129.69},{28.85,51.85},{29.17,56.19},
  {82.46,120.73},{39.16,75.27},{23.55,56.73},{91.77,151.17},
  {86.84,100.56},{95.11,135.84},{ 3.81,29.30},{ 3.01, 9.88},
  {91.61,131.55},{20.07,38.71},{78.58,106.18},{71.69,85.02},
  {58.34,81.29},{11.17,48.86},{92.10,123.10},{33.79,59.43},
  {41.90,85.35},{34.73,56.23},{15.52,29.19},{10.70,36.36},
  {16.63,44.55},{64.90,94.69},{56.40,72.86},{96.02,134.14},
  {94.06,135.66},{81.44,110.23},{61.28,82.70},{86.17,133.47},
  {10.26,44.22},{48.77,75.52},{87.55,117.57},{98.60,132.42},
  {83.15,124.33},{70.18,85.08},{37.69,52.66},{70.69,107.51},
  {23.17,40.86},{11.11,33.19},{ 2.60,16.37},{96.02,122.01},
  {63.31,90.15},{34.63,66.56},{55.82,90.79},{25.40,50.60},
  { 7.06,38.27},{12.53,21.48},{ 4.66,14.08},{14.07,38.83},
  {89.02,115.45},{56.75,78.71},{75.35,88.46},{10.74,32.40},
  {48.46,78.69},{50.88,90.85},{21.50,55.96},{64.18,106.00},
  {29.80,50.60},{36.22,54.69},{31.54,46.65},{44.07,52.18},
  {76.01,87.63},{79.40,94.40},{98.57,135.11},{73.75,86.73},
  {32.81,60.28},{94.83,127.77},{59.86,100.44},{91.17,114.51},
  {12.45,36.03},{96.12,120.33},{75.38,112.33},{96.21,128.60},
  {27.28,43.65},{39.84,79.21},{42.42,61.93},{ 3.14,18.36},
  {89.49,134.56},{ 8.81,23.46},{90.18,119.62},{20.01,54.51},
  {14.96,42.60},{73.66,108.71},{79.39,105.20},{53.14,89.57},
  {87.37,103.38},{75.70,124.08},{22.89,46.74},{32.28,75.99},
  {52.45,73.07},{ 9.29,33.95},{75.06,94.59},{58.17,95.66},
  {46.06,62.02},{76.49,105.19},{17.85,52.56},{69.27,107.40},
  {27.00,32.43},{63.55,95.03},{54.19,112.48},{ 1.77,-0.91},
  {91.14,131.90},{49.38,77.77},{57.64,87.83},{59.84,100.60},
  { 1.17,20.81},{70.60,112.33},{26.79,46.76},{75.93,103.25},
  {53.28,98.53},{52.44,73.11},{82.39,111.91},{84.95,113.72},
  {75.00,114.27},{57.56,84.28},{50.70,67.68},{26.36,69.76},
  {41.88,72.04},{ 2.29, 8.78},{29.33,69.36},{ 0.39, 9.25},
  {38.82,53.53},{35.39,63.67},{ 4.59,38.87},{ 7.21,34.25},
  {18.96,39.42},{30.84,60.42},{70.07,99.18},{97.73,143.94},
  {65.34,97.35},{93.44,125.63},{66.65,100.86},{39.62,69.03},
  {26.26,45.54},{75.41,117.77},{66.81,85.59},{18.88,39.74},
  {25.60,57.85},{89.71,128.71},{25.73,54.25},{ 6.42,35.83},
  {54.34,90.64},{30.92,52.50},{79.92,109.17},{37.04,48.19},
  {90.13,105.54},{ 1.86,15.53},{84.30,126.26},{47.55,88.77},
  {97.19,128.94},{72.28,101.30},{15.77,47.08},{75.83,108.56},
  {60.49,106.00},{50.72,91.64},{17.36,36.36},{22.38,65.07},
  {45.71,73.00},{18.96,38.13},{59.62,95.16},{ 3.62, 9.04},
  {14.39,46.96},{29.11,50.08},{ 6.08,40.14},{71.40,90.42},
  {93.40,121.75},{80.18,122.34},{41.58,70.11},{30.19,62.87},
  {15.58,39.65},{ 2.04,34.20},{13.30,27.91},{ 5.90,38.42},
  {86.92,99.01},{39.11,75.84},{52.97,94.99},{29.49,54.34},
  {92.40,141.60},{95.25,117.77},{89.83,118.20},{17.93,32.44},
  {67.51,108.68},{71.79,92.84},{26.96,30.39},{95.58,137.89},
  {37.41,75.87},{28.77,53.56},{31.51,60.71},{89.02,103.92},
  { 6.57,24.83},{46.65,60.05},{87.61,133.66},{55.43,91.77},
  {99.61,114.04},{ 8.58,24.28},{72.64,93.69},{64.98,84.64},
  {26.78,62.76},{48.30,89.07},{46.45,83.27},{65.05,86.62},
  {87.70,104.60},{52.55,75.05},{94.38,126.14},{49.67,60.46},
  {79.60,117.39},{84.91,110.25},{72.88,96.21},{24.20,50.59},
  {82.32,102.81},{35.32,51.30},{63.80,83.86},{90.49,112.62},
  {70.10,116.34},{40.18,66.98},{88.93,135.84},{49.86,96.62},
  { 6.19,35.19},{94.13,110.02},{92.73,127.53},{29.71,52.48},
  {28.99,37.23},{85.58,116.09},{97.50,141.54},{ 1.13,26.22},
  {95.21,117.79},{35.68,64.99},{90.78,123.59},{40.28,83.34},
  {93.53,120.60},{99.16,130.41},{69.71,103.90},{62.89,75.23},
  {95.35,157.36},{28.76,53.43},{18.23,37.25},{36.28,71.43},
  {38.14,61.35},{34.55,61.35},{28.16,39.07},{74.42,90.63},
  {39.54,69.77},{81.82,118.29},{36.13,58.44},{87.52,125.78},
  {59.17,95.21},{ 1.18,20.54},{28.90,69.59},{70.44,106.16},
  {16.27,34.53},{25.14,54.61},{26.25,46.75},{ 9.09,38.19},
  {46.65,69.63},{25.83,42.75},{86.86,137.20},{37.34,80.87},
  {76.91,109.10},{65.34,99.86},{54.88,74.35},{18.16,44.11},
  {51.86,77.14},{39.26,80.22},{ 9.96,23.45},{29.17,53.30},
  {47.53,69.06},{54.09,83.78},{99.01,106.97},{75.74,101.47},
  {91.20,130.12},{13.45,39.52},{45.13,73.46},{34.59,66.91},
  {85.52,108.74},{74.56,83.25},{ 2.84,21.61},{39.19,79.98},
  {99.60,136.33},{64.64,93.93},{81.40,112.90},{80.99,111.74},
  {27.12,60.72},{88.86,129.99},{72.75,107.24},{ 8.23,32.74},
  {26.54,72.28},{40.38,71.89},{25.78,55.94},{29.60,44.89},
  {96.50,126.32},{73.51,86.15},{55.44,71.67},{88.05,120.43},
  {98.23,124.87},{83.14,120.90},{12.94,40.30},{ 3.11,23.56},
  { 5.75,26.47},{ 3.61,14.32},{43.88,57.83},{67.04,99.97},
  {37.45,75.91},{ 9.11,29.62},{60.23,94.20},{71.27,121.40},
  {13.52,28.40},{81.99,126.95},{77.24,106.70},{76.76,120.98},
  {91.78,110.19},{57.18,76.57},{ 2.21,24.84},{44.33,74.56},
  {72.59,94.18},{45.75,61.53},{56.32,81.85},{41.52,65.65},
  {52.87,93.33},{38.56,54.99},{99.44,131.48},{15.62,50.77},
  { 6.17,47.76},{70.92,105.91},{55.79,80.31},{38.47,49.54},
  {29.95,54.48},{70.60,92.43},{30.62,65.87},{22.35,54.38},
  {76.54,100.85},{99.82,136.65},{62.91,102.27},{45.10,59.86},
  {56.19,92.69},{88.97,134.24},{30.38,59.80},{42.77,65.73},
  {59.61,81.77},{ 4.39,27.50},{10.08,14.46},{38.15,44.72},
  {73.02,106.18},{15.05,29.23},{57.12,88.48},{60.38,89.57},
  {47.78,83.80},{77.52,119.08},{74.17,107.35},{ 7.18,41.70},
  {89.65,135.86},{65.54,89.68},{41.46,66.37},{ 6.49,37.83},
  {47.11,77.42},{93.16,145.25},{29.22,59.79},{31.49,74.48},
  {49.95,81.42},{80.68,116.42},{42.77,71.65},{79.81,98.09},
  {11.49,36.53},{69.71,92.14},{98.61,137.83},{ 2.06,12.89},
  {19.59,52.47},{39.88,73.17},{36.54,59.25},{97.33,117.23},
  {33.73,71.77},{13.73,42.62},{30.33,80.15},{38.74,54.58},
  {13.51,22.00},{35.18,71.99},{76.01,114.80},{23.70,38.91},
  { 1.05,36.68},{56.02,91.15},{87.23,107.00},{89.94,119.06},
  {61.07,82.29},{57.11,77.86},{51.87,76.38},{26.32,42.12},
  {24.85,48.18},{16.42,45.70},{ 3.38,34.14},{ 2.15,29.78},
  {33.70,57.28},{ 5.49,15.96},{ 5.93,27.03},{35.60,61.48},
  {67.87,92.28},{73.38,112.27},{ 5.19,22.07},{14.63,49.33},
  {73.40,108.49},{96.35,136.61},{89.90,118.44},{75.21,105.21},
  {71.51,125.63},{76.28,86.34},{73.08,94.95},{37.44,67.60},
  {67.20,102.08},{40.97,69.34},{91.50,132.04},{ 1.45,23.90},
  { 3.77,35.09},{39.31,52.32},{46.32,90.70},{30.69,45.53},
  {42.62,80.56},{72.20,108.15},{14.53,42.16},{84.98,106.08},
  {70.98,117.10},{15.22,36.41},{56.72,94.78},{98.54,132.26},
  {91.57,126.73},{63.97,99.65},{83.61,113.56},{38.61,53.06},
  {42.91,80.55},{96.28,141.26},{53.92,77.85},{92.10,126.52},
  {98.60,113.91},{90.29,117.81},{31.26,56.93},{70.75,101.33},
  {51.87,79.32},{50.86,80.59},{56.39,75.72},{71.63,97.31},
  {42.90,69.19},{40.23,67.54},{39.88,66.03},{35.67,57.92},
  {86.43,124.36},{74.87,104.27},{44.42,93.21},{84.58,119.83},
  {90.52,115.12},{43.61,71.83},{ 5.44,27.81},{46.09,68.62}};

double residual_error(double x, double y, double m, double c) {
  double e = (m * x) + c - y;
  return e * e;
}

__device__ double d_residual_error(double x, double y, double m, double c) {
  double e = (m * x) + c - y;
  return e * e;
}

double rms_error(double m, double c) {
  int i;
  double mean;
  double error_sum = 0;
  
  for(i=0; i<n_data; i++) {
    error_sum += residual_error(data[i].x, data[i].y, m, c);
  }
  
  mean = error_sum / n_data;
  
  return sqrt(mean);
}

__global__ void d_rms_error(double *m, double *c, double *error_sum_arr, point_t *d_data) {

	int i = threadIdx.x + blockIdx.x * blockDim.x;

  error_sum_arr[i] = d_residual_error(d_data[i].x, d_data[i].y, *m, *c);
}

int time_difference(struct timespec *start, struct timespec *finish, 
                              long long int *difference) {
  long long int ds =  finish->tv_sec - start->tv_sec; 
  long long int dn =  finish->tv_nsec - start->tv_nsec; 

  if(dn < 0 ) {
    ds--;
    dn += 1000000000; 
  } 
  *difference = ds * 1000000000 + dn;
  return !(*difference > 0);
}

int main() {
  int i;
  double bm = 1.3;
  double bc = 10;
  double be;
  double dm[8];
  double dc[8];
  double e[8];
  double step = 0.01;
  double best_error = 999999999;
  int best_error_i;
  int minimum_found = 0;
  
  double om[] = {0,1,1, 1, 0,-1,-1,-1};
  double oc[] = {1,1,0,-1,-1,-1, 0, 1};

	struct timespec start, finish;   
  long long int time_elapsed;

	
  clock_gettime(CLOCK_MONOTONIC, &start);

	hipError_t error;

	
  double *d_dm;
  double *d_dc;
	double *d_error_sum_arr;
	point_t *d_data;
	
  be = rms_error(bm, bc);

	
	error = hipMalloc(&d_dm, (sizeof(double) * 8));
 	if(error){
   	fprintf(stderr, "hipMalloc on d_dm returned %d %s\n", error,
    	hipGetErrorString(error));
   	exit(1);
 	}
	
	
	error = hipMalloc(&d_dc, (sizeof(double) * 8));
 	if(error){
   	fprintf(stderr, "hipMalloc on d_dc returned %d %s\n", error,
  	  hipGetErrorString(error));
   	exit(1);
 	}
	
	
	error = hipMalloc(&d_error_sum_arr, (sizeof(double) * 1000));
 	if(error){
   	fprintf(stderr, "hipMalloc on d_error_sum_arr returned %d %s\n", error,
   	  hipGetErrorString(error));
   	exit(1);
 	}

	
	error = hipMalloc(&d_data, sizeof(data));
 	if(error){
   	fprintf(stderr, "hipMalloc on d_data returned %d %s\n", error,
   	  hipGetErrorString(error));
   	exit(1);
 	}

  while(!minimum_found) {
    for(i=0;i<8;i++) {
      dm[i] = bm + (om[i] * step);
      dc[i] = bc + (oc[i] * step);    
    }

		
  	error = hipMemcpy(d_dm, dm, (sizeof(double) * 8), hipMemcpyHostToDevice);  
  	if(error){
    	fprintf(stderr, "hipMemcpy to d_dm returned %d %s\n", error,
      hipGetErrorString(error));
  	}

		
  	error = hipMemcpy(d_dc, dc, (sizeof(double) * 8), hipMemcpyHostToDevice);  
  	if(error){
    	fprintf(stderr, "hipMemcpy to d_dc returned %d %s\n", error,
      hipGetErrorString(error));
  	}

		
  	error = hipMemcpy(d_data, data, sizeof(data), hipMemcpyHostToDevice);  
  	if(error){
    	fprintf(stderr, "hipMemcpy to d_data returned %d %s\n", error,
      hipGetErrorString(error));
  	}
		
    for(i=0;i<8;i++) {
			
			double h_error_sum_arr[1000];
			double error_sum_total;
			double error_sum_mean;
			d_rms_error <<<100,10>>>(&d_dm[i], &d_dc[i], d_error_sum_arr, d_data);
			hipDeviceSynchronize();
		  error = hipMemcpy(&h_error_sum_arr, d_error_sum_arr, (sizeof(double) * 1000), hipMemcpyDeviceToHost);  
		  if(error){
	    fprintf(stderr, "hipMemcpy to error_sum returned %d %s\n", error,
	      hipGetErrorString(error));
		  }
			for(int j=0; j<n_data; j++) {
    		error_sum_total += h_error_sum_arr[j];
  		}

			error_sum_mean = error_sum_total / n_data;
			e[i] = sqrt(error_sum_mean);

      if(e[i] < best_error) {
        best_error = e[i];
        best_error_i = i;
      }

			error_sum_total = 0;
    }


    if(best_error < be) {
      be = best_error;
      bm = dm[best_error_i];
      bc = dc[best_error_i];
    } else {
      minimum_found = 1;
    }
  }

	error = hipFree(d_dm);
	if(error){
		fprintf(stderr, "hipFree on d_dm returned %d %s\n", error,
	  	hipGetErrorString(error));
		exit(1);
	}
	
	error = hipFree(d_dc);
	if(error){
		fprintf(stderr, "hipFree on d_dc returned %d %s\n", error,
			hipGetErrorString(error));
		exit(1);
	}

	error = hipFree(d_data);
	if(error){
		fprintf(stderr, "hipFree on d_data returned %d %s\n", error,
	  	hipGetErrorString(error));
	 	exit(1);
	}
		
	error = hipFree(d_error_sum_arr);
	if(error){
		fprintf(stderr, "hipFree on d_error_sum_arr returned %d %s\n", error,
	  	hipGetErrorString(error));
	 	exit(1);
	}

  printf("minimum m,c is %lf,%lf with error %lf\n", bm, bc, be);

	clock_gettime(CLOCK_MONOTONIC, &finish);

  time_difference(&start, &finish, &time_elapsed);

  printf("Time elapsed was %lldns or %0.9lfs\n", time_elapsed, 
         (time_elapsed/1.0e9));
	
  return 0;
}

	.text
	.file	"Q2.1_a.hip"
	.globl	_Z14residual_errordddd          # -- Begin function _Z14residual_errordddd
	.type	_Z14residual_errordddd,@function
_Z14residual_errordddd:                 # @_Z14residual_errordddd
	.cfi_startproc
# %bb.0:
	mulsd	%xmm2, %xmm0
	addsd	%xmm3, %xmm0
	subsd	%xmm1, %xmm0
	mulsd	%xmm0, %xmm0
	retq
.Lfunc_end0:
	.size	_Z14residual_errordddd, .Lfunc_end0-_Z14residual_errordddd
	.cfi_endproc
                                        # -- End function
	.globl	_Z9rms_errordd                  # -- Begin function _Z9rms_errordd
	.type	_Z9rms_errordd,@function
_Z9rms_errordd:                         # @_Z9rms_errordd
	.cfi_startproc
# %bb.0:
	movapd	%xmm0, %xmm2
	movl	n_data(%rip), %eax
	xorpd	%xmm3, %xmm3
	xorpd	%xmm0, %xmm0
	testl	%eax, %eax
	jle	.LBB1_3
# %bb.1:                                # %.lr.ph.preheader
	movq	%rax, %rcx
	shlq	$4, %rcx
	xorl	%edx, %edx
.LBB1_2:                                # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movsd	data(%rdx), %xmm4               # xmm4 = mem[0],zero
	mulsd	%xmm2, %xmm4
	addsd	%xmm1, %xmm4
	subsd	data+8(%rdx), %xmm4
	mulsd	%xmm4, %xmm4
	addsd	%xmm4, %xmm0
	addq	$16, %rdx
	cmpq	%rdx, %rcx
	jne	.LBB1_2
.LBB1_3:                                # %._crit_edge
	xorps	%xmm1, %xmm1
	cvtsi2sd	%eax, %xmm1
	divsd	%xmm1, %xmm0
	ucomisd	%xmm3, %xmm0
	jb	sqrt                            # TAILCALL
# %bb.4:                                # %._crit_edge.split
	sqrtsd	%xmm0, %xmm0
	retq
.Lfunc_end1:
	.size	_Z9rms_errordd, .Lfunc_end1-_Z9rms_errordd
	.cfi_endproc
                                        # -- End function
	.globl	_Z26__device_stub__d_rms_errorPdS_S_P7point_t # -- Begin function _Z26__device_stub__d_rms_errorPdS_S_P7point_t
	.type	_Z26__device_stub__d_rms_errorPdS_S_P7point_t,@function
_Z26__device_stub__d_rms_errorPdS_S_P7point_t: # @_Z26__device_stub__d_rms_errorPdS_S_P7point_t
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	16(%rsp), %rdx
	movq	%rcx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	8(%rsp), %r12
	movq	%rsp, %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z11d_rms_errorPdS_S_P7point_t, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end2:
	.size	_Z26__device_stub__d_rms_errorPdS_S_P7point_t, .Lfunc_end2-_Z26__device_stub__d_rms_errorPdS_S_P7point_t
	.cfi_endproc
                                        # -- End function
	.globl	_Z15time_differenceP8timespecS0_Px # -- Begin function _Z15time_differenceP8timespecS0_Px
	.type	_Z15time_differenceP8timespecS0_Px,@function
_Z15time_differenceP8timespecS0_Px:     # @_Z15time_differenceP8timespecS0_Px
	.cfi_startproc
# %bb.0:
	movq	(%rsi), %rax
	subq	(%rdi), %rax
	movq	8(%rsi), %rcx
	subq	8(%rdi), %rcx
	leaq	1000000000(%rcx), %rsi
	movq	%rcx, %rdi
	sarq	$63, %rdi
	addq	%rax, %rdi
	testq	%rcx, %rcx
	cmovnsq	%rcx, %rsi
	imulq	$1000000000, %rdi, %rcx         # imm = 0x3B9ACA00
	xorl	%eax, %eax
	addq	%rsi, %rcx
	movq	%rcx, (%rdx)
	setle	%al
	retq
.Lfunc_end3:
	.size	_Z15time_differenceP8timespecS0_Px, .Lfunc_end3-_Z15time_differenceP8timespecS0_Px
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst8,"aM",@progbits,8
	.p2align	3, 0x0                          # -- Begin function main
.LCPI4_0:
	.quad	0x3ff4cccccccccccd              # double 1.3
.LCPI4_1:
	.quad	0x4024000000000000              # double 10
.LCPI4_2:
	.quad	0x41cdcd64ff800000              # double 999999999
.LCPI4_3:
	.quad	0x3f847ae147ae147b              # double 0.01
.LCPI4_4:
	.quad	0x41cdcd6500000000              # double 1.0E+9
.LCPI4_5:
	.quad	0x0000000000000000              # double 0
	.text
	.globl	main
	.type	main,@function
main:                                   # @main
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$8344, %rsp                     # imm = 0x2098
	.cfi_def_cfa_offset 8400
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	xorps	%xmm0, %xmm0
	movaps	%xmm0, 144(%rsp)
	movaps	%xmm0, 160(%rsp)
	movaps	%xmm0, 176(%rsp)
	movabsq	$4607182418800017408, %rax      # imm = 0x3FF0000000000000
	movq	%rax, 152(%rsp)
	movq	%rax, 160(%rsp)
	movq	%rax, 168(%rsp)
	movabsq	$-4616189618054758400, %rcx     # imm = 0xBFF0000000000000
	movq	%rcx, 184(%rsp)
	movq	%rcx, 192(%rsp)
	movq	%rcx, 200(%rsp)
	movaps	%xmm0, 96(%rsp)
	movaps	%xmm0, 112(%rsp)
	movaps	%xmm0, 128(%rsp)
	movq	%rax, 80(%rsp)
	movq	%rax, 88(%rsp)
	movq	%rcx, 104(%rsp)
	movq	%rcx, 112(%rsp)
	movq	%rcx, 120(%rsp)
	movq	%rax, 136(%rsp)
	leaq	64(%rsp), %rsi
	movl	$1, %edi
	callq	clock_gettime
	movsd	.LCPI4_0(%rip), %xmm0           # xmm0 = mem[0],zero
	movsd	.LCPI4_1(%rip), %xmm1           # xmm1 = mem[0],zero
	callq	_Z9rms_errordd
	movsd	%xmm0, 8(%rsp)                  # 8-byte Spill
	leaq	40(%rsp), %rdi
	movl	$64, %esi
	callq	hipMalloc
	testl	%eax, %eax
	jne	.LBB4_1
# %bb.3:
	leaq	32(%rsp), %rdi
	movl	$64, %esi
	callq	hipMalloc
	testl	%eax, %eax
	jne	.LBB4_4
# %bb.5:
	leaq	24(%rsp), %rdi
	movl	$8000, %esi                     # imm = 0x1F40
	callq	hipMalloc
	testl	%eax, %eax
	jne	.LBB4_6
# %bb.7:
	leaq	16(%rsp), %rdi
	movl	$16000, %esi                    # imm = 0x3E80
	callq	hipMalloc
	testl	%eax, %eax
	jne	.LBB4_40
# %bb.8:                                # %.preheader.preheader
	movsd	.LCPI4_2(%rip), %xmm0           # xmm0 = mem[0],zero
	movsd	%xmm0, (%rsp)                   # 8-byte Spill
	movabsq	$4294967306, %r14               # imm = 0x10000000A
	movsd	.LCPI4_3(%rip), %xmm3           # xmm3 = mem[0],zero
	leaq	90(%r14), %r12
	leaq	336(%rsp), %r13
                                        # implicit-def: $r15d
	movsd	.LCPI4_0(%rip), %xmm1           # xmm1 = mem[0],zero
	movsd	.LCPI4_1(%rip), %xmm2           # xmm2 = mem[0],zero
.LBB4_9:                                # %.preheader
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB4_10 Depth 2
                                        #     Child Loop BB4_18 Depth 2
                                        #       Child Loop BB4_30 Depth 3
	xorl	%eax, %eax
.LBB4_10:                               #   Parent Loop BB4_9 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movsd	144(%rsp,%rax,8), %xmm0         # xmm0 = mem[0],zero
	mulsd	%xmm3, %xmm0
	addsd	%xmm1, %xmm0
	movsd	%xmm0, 272(%rsp,%rax,8)
	movsd	80(%rsp,%rax,8), %xmm0          # xmm0 = mem[0],zero
	mulsd	%xmm3, %xmm0
	addsd	%xmm2, %xmm0
	movsd	%xmm0, 208(%rsp,%rax,8)
	incq	%rax
	cmpq	$8, %rax
	jne	.LBB4_10
# %bb.11:                               #   in Loop: Header=BB4_9 Depth=1
	movsd	%xmm2, 48(%rsp)                 # 8-byte Spill
	movsd	%xmm1, 56(%rsp)                 # 8-byte Spill
	movq	40(%rsp), %rdi
	movl	$64, %edx
	leaq	272(%rsp), %rsi
	movl	$1, %ecx
	callq	hipMemcpy
	testl	%eax, %eax
	jne	.LBB4_12
.LBB4_13:                               #   in Loop: Header=BB4_9 Depth=1
	movq	32(%rsp), %rdi
	movl	$64, %edx
	leaq	208(%rsp), %rsi
	movl	$1, %ecx
	callq	hipMemcpy
	testl	%eax, %eax
	jne	.LBB4_14
.LBB4_15:                               #   in Loop: Header=BB4_9 Depth=1
	movq	16(%rsp), %rdi
	movl	$data, %esi
	movl	$16000, %edx                    # imm = 0x3E80
	movl	$1, %ecx
	callq	hipMemcpy
	testl	%eax, %eax
	jne	.LBB4_16
.LBB4_17:                               # %.preheader149
                                        #   in Loop: Header=BB4_9 Depth=1
	xorl	%ebx, %ebx
.LBB4_18:                               #   Parent Loop BB4_9 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB4_30 Depth 3
	movq	%r12, %rdi
	movl	$1, %esi
	movq	%r14, %rdx
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
	testl	%eax, %eax
	jne	.LBB4_20
# %bb.19:                               #   in Loop: Header=BB4_18 Depth=2
	leaq	(,%rbx,8), %rsi
	movq	40(%rsp), %rdi
	addq	%rsi, %rdi
	addq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
	movq	16(%rsp), %rcx
	callq	_Z26__device_stub__d_rms_errorPdS_S_P7point_t
.LBB4_20:                               #   in Loop: Header=BB4_18 Depth=2
	callq	hipDeviceSynchronize
	movq	24(%rsp), %rsi
	movl	$8000, %edx                     # imm = 0x1F40
	movq	%r13, %rdi
	movl	$2, %ecx
	callq	hipMemcpy
	testl	%eax, %eax
	jne	.LBB4_21
.LBB4_22:                               #   in Loop: Header=BB4_18 Depth=2
	movl	n_data(%rip), %eax
	xorpd	%xmm0, %xmm0
	testl	%eax, %eax
	jle	.LBB4_23
# %bb.29:                               # %.lr.ph.preheader
                                        #   in Loop: Header=BB4_18 Depth=2
	xorl	%ecx, %ecx
.LBB4_30:                               # %.lr.ph
                                        #   Parent Loop BB4_9 Depth=1
                                        #     Parent Loop BB4_18 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	addsd	336(%rsp,%rcx,8), %xmm0
	incq	%rcx
	cmpq	%rcx, %rax
	jne	.LBB4_30
.LBB4_23:                               # %._crit_edge
                                        #   in Loop: Header=BB4_18 Depth=2
	xorps	%xmm1, %xmm1
	cvtsi2sd	%eax, %xmm1
	divsd	%xmm1, %xmm0
	ucomisd	.LCPI4_5(%rip), %xmm0
	jb	.LBB4_25
# %bb.24:                               #   in Loop: Header=BB4_18 Depth=2
	sqrtsd	%xmm0, %xmm0
	jmp	.LBB4_26
.LBB4_25:                               # %call.sqrt
                                        #   in Loop: Header=BB4_18 Depth=2
	callq	sqrt
.LBB4_26:                               # %._crit_edge.split
                                        #   in Loop: Header=BB4_18 Depth=2
	movsd	(%rsp), %xmm1                   # 8-byte Reload
                                        # xmm1 = mem[0],zero
	ucomisd	%xmm0, %xmm1
	cmoval	%ebx, %r15d
	minsd	%xmm1, %xmm0
	incq	%rbx
	movsd	%xmm0, (%rsp)                   # 8-byte Spill
	cmpq	$8, %rbx
	jne	.LBB4_18
	jmp	.LBB4_27
.LBB4_21:                               #   in Loop: Header=BB4_18 Depth=2
	movl	%eax, %ebp
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.7, %esi
	movq	%r14, %rdi
	movabsq	$4294967306, %r14               # imm = 0x10000000A
	movl	%ebp, %edx
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	fprintf
	jmp	.LBB4_22
.LBB4_27:                               #   in Loop: Header=BB4_9 Depth=1
	movsd	8(%rsp), %xmm1                  # 8-byte Reload
                                        # xmm1 = mem[0],zero
	ucomisd	%xmm0, %xmm1
	movsd	.LCPI4_3(%rip), %xmm3           # xmm3 = mem[0],zero
	jbe	.LBB4_31
# %bb.28:                               #   in Loop: Header=BB4_9 Depth=1
	movslq	%r15d, %rax
	movsd	272(%rsp,%rax,8), %xmm1         # xmm1 = mem[0],zero
	movsd	208(%rsp,%rax,8), %xmm2         # xmm2 = mem[0],zero
	movsd	%xmm0, 8(%rsp)                  # 8-byte Spill
	movsd	%xmm0, (%rsp)                   # 8-byte Spill
	jmp	.LBB4_9
.LBB4_12:                               #   in Loop: Header=BB4_9 Depth=1
	movl	%eax, %ebp
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.4, %esi
	movq	%r14, %rdi
	movabsq	$4294967306, %r14               # imm = 0x10000000A
	movl	%ebp, %edx
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	fprintf
	jmp	.LBB4_13
.LBB4_14:                               #   in Loop: Header=BB4_9 Depth=1
	movl	%eax, %ebp
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.5, %esi
	movq	%r14, %rdi
	movabsq	$4294967306, %r14               # imm = 0x10000000A
	movl	%ebp, %edx
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	fprintf
	jmp	.LBB4_15
.LBB4_16:                               #   in Loop: Header=BB4_9 Depth=1
	movl	%eax, %ebp
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.6, %esi
	movq	%r14, %rdi
	movabsq	$4294967306, %r14               # imm = 0x10000000A
	movl	%ebp, %edx
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	fprintf
	jmp	.LBB4_17
.LBB4_31:
	movq	40(%rsp), %rdi
	callq	hipFree
	testl	%eax, %eax
	jne	.LBB4_32
# %bb.33:
	movq	32(%rsp), %rdi
	callq	hipFree
	testl	%eax, %eax
	jne	.LBB4_34
# %bb.35:
	movq	16(%rsp), %rdi
	callq	hipFree
	testl	%eax, %eax
	jne	.LBB4_36
# %bb.37:
	movq	24(%rsp), %rdi
	callq	hipFree
	testl	%eax, %eax
	jne	.LBB4_38
# %bb.39:
	movl	$.L.str.12, %edi
	movsd	56(%rsp), %xmm0                 # 8-byte Reload
                                        # xmm0 = mem[0],zero
	movsd	48(%rsp), %xmm1                 # 8-byte Reload
                                        # xmm1 = mem[0],zero
	movsd	8(%rsp), %xmm2                  # 8-byte Reload
                                        # xmm2 = mem[0],zero
	movb	$3, %al
	callq	printf
	leaq	336(%rsp), %rbx
	movl	$1, %edi
	movq	%rbx, %rsi
	callq	clock_gettime
	movq	(%rbx), %rax
	subq	64(%rsp), %rax
	movq	8(%rbx), %rcx
	subq	72(%rsp), %rcx
	leaq	1000000000(%rcx), %rdx
	movq	%rcx, %rsi
	sarq	$63, %rsi
	addq	%rax, %rsi
	testq	%rcx, %rcx
	cmovnsq	%rcx, %rdx
	imulq	$1000000000, %rsi, %rsi         # imm = 0x3B9ACA00
	addq	%rdx, %rsi
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rsi, %xmm0
	divsd	.LCPI4_4(%rip), %xmm0
	movl	$.L.str.13, %edi
	movb	$1, %al
	callq	printf
	xorl	%eax, %eax
	addq	$8344, %rsp                     # imm = 0x2098
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.LBB4_1:
	.cfi_def_cfa_offset 8400
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str, %esi
	jmp	.LBB4_2
.LBB4_4:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.1, %esi
	jmp	.LBB4_2
.LBB4_6:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.2, %esi
	jmp	.LBB4_2
.LBB4_40:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.3, %esi
	jmp	.LBB4_2
.LBB4_32:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.8, %esi
	jmp	.LBB4_2
.LBB4_34:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.9, %esi
	jmp	.LBB4_2
.LBB4_36:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.10, %esi
	jmp	.LBB4_2
.LBB4_38:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.11, %esi
.LBB4_2:
	movq	%r14, %rdi
	movl	%ebx, %edx
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	fprintf
	movl	$1, %edi
	callq	exit
.Lfunc_end4:
	.size	main, .Lfunc_end4-main
	.cfi_endproc
                                        # -- End function
	.p2align	4, 0x90                         # -- Begin function __hip_module_ctor
	.type	__hip_module_ctor,@function
__hip_module_ctor:                      # @__hip_module_ctor
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	subq	$32, %rsp
	.cfi_def_cfa_offset 48
	.cfi_offset %rbx, -16
	movq	__hip_gpubin_handle(%rip), %rbx
	testq	%rbx, %rbx
	jne	.LBB5_2
# %bb.1:
	movl	$__hip_fatbin_wrapper, %edi
	callq	__hipRegisterFatBinary
	movq	%rax, %rbx
	movq	%rax, __hip_gpubin_handle(%rip)
.LBB5_2:
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z11d_rms_errorPdS_S_P7point_t, %esi
	movl	$.L__unnamed_1, %edx
	movl	$.L__unnamed_1, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	movl	$0, 8(%rsp)
	movl	$0, (%rsp)
	movl	$d_n_data, %esi
	movl	$.L__unnamed_2, %edx
	movl	$.L__unnamed_2, %ecx
	movl	$4, %r9d
	movq	%rbx, %rdi
	xorl	%r8d, %r8d
	callq	__hipRegisterVar
	movl	$__hip_module_dtor, %edi
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	atexit                          # TAILCALL
.Lfunc_end5:
	.size	__hip_module_ctor, .Lfunc_end5-__hip_module_ctor
	.cfi_endproc
                                        # -- End function
	.p2align	4, 0x90                         # -- Begin function __hip_module_dtor
	.type	__hip_module_dtor,@function
__hip_module_dtor:                      # @__hip_module_dtor
	.cfi_startproc
# %bb.0:
	movq	__hip_gpubin_handle(%rip), %rdi
	testq	%rdi, %rdi
	je	.LBB6_2
# %bb.1:
	pushq	%rax
	.cfi_def_cfa_offset 16
	callq	__hipUnregisterFatBinary
	movq	$0, __hip_gpubin_handle(%rip)
	addq	$8, %rsp
	.cfi_def_cfa_offset 8
.LBB6_2:
	retq
.Lfunc_end6:
	.size	__hip_module_dtor, .Lfunc_end6-__hip_module_dtor
	.cfi_endproc
                                        # -- End function
	.type	n_data,@object                  # @n_data
	.data
	.globl	n_data
	.p2align	2, 0x0
n_data:
	.long	1000                            # 0x3e8
	.size	n_data, 4

	.type	d_n_data,@object                # @d_n_data
	.local	d_n_data
	.comm	d_n_data,4,4
	.type	data,@object                    # @data
	.globl	data
	.p2align	4, 0x0
data:
	.quad	0x4054ef5c28f5c28f              # double 83.739999999999994
	.quad	0x405a95c28f5c28f6              # double 106.34
	.quad	0x405258f5c28f5c29              # double 73.39
	.quad	0x405c770a3d70a3d7              # double 113.86
	.quad	0x40537d70a3d70a3d              # double 77.959999999999993
	.quad	0x405d0851eb851eb8              # double 116.13
	.quad	0x4053c33333333333              # double 79.049999999999997
	.quad	0x4058e1eb851eb852              # double 99.530000000000001
	.quad	0x40539ae147ae147b              # double 78.420000000000001
	.quad	0x405edf5c28f5c28f              # double 123.48999999999999
	.quad	0x4050833333333333              # double 66.049999999999997
	.quad	0x405731eb851eb852              # double 92.780000000000001
	.quad	0x405051eb851eb852              # double 65.280000000000001
	.quad	0x40564eb851eb851f              # double 89.230000000000003
	.quad	0x4054851eb851eb85              # double 82.079999999999998
	.quad	0x405c2b851eb851ec              # double 112.68000000000001
	.quad	0x4053000000000000              # double 76
	.quad	0x4056433333333333              # double 89.049999999999997
	.quad	0x40515ccccccccccd              # double 69.450000000000003
	.quad	0x405848f5c28f5c29              # double 97.14
	.quad	0x405498f5c28f5c29              # double 82.39
	.quad	0x405dbf5c28f5c28f              # double 118.98999999999999
	.quad	0x404e2b851eb851ec              # double 60.340000000000003
	.quad	0x405409999999999a              # double 80.150000000000006
	.quad	0x404c851eb851eb85              # double 57.039999999999999
	.quad	0x40564851eb851eb8              # double 89.129999999999995
	.quad	0x40540ccccccccccd              # double 80.200000000000002
	.quad	0x405ffe147ae147ae              # double 127.97
	.quad	0x40551eb851eb851f              # double 84.480000000000003
	.quad	0x405a73d70a3d70a4              # double 105.81
	.quad	0x405387ae147ae148              # double 78.120000000000005
	.quad	0x4060ad1eb851eb85              # double 133.41
	.quad	0x4051a147ae147ae1              # double 70.519999999999996
	.quad	0x40577851eb851eb8              # double 93.879999999999995
	.quad	0x405741eb851eb852              # double 93.030000000000001
	.quad	0x405f6c28f5c28f5c              # double 125.69
	.quad	0x4051833333333333              # double 70.049999999999997
	.quad	0x4057e851eb851eb8              # double 95.629999999999995
	.quad	0x4051251eb851eb85              # double 68.579999999999998
	.quad	0x405640a3d70a3d71              # double 89.010000000000005
	.quad	0x401acccccccccccd              # double 6.7000000000000002
	.quad	0x4040347ae147ae14              # double 32.409999999999997
	.quad	0x4018666666666666              # double 6.0999999999999996
	.quad	0x402fae147ae147ae              # double 15.84
	.quad	0x4030666666666666              # double 16.399999999999999
	.quad	0x4048800000000000              # double 49
	.quad	0x40401d70a3d70a3d              # double 32.229999999999997
	.quad	0x4045feb851eb851f              # double 43.990000000000002
	.quad	0x404c5d70a3d70a3d              # double 56.729999999999997
	.quad	0x4051a51eb851eb85              # double 70.579999999999998
	.quad	0x40500e147ae147ae              # double 64.219999999999999
	.quad	0x405951eb851eb852              # double 101.28
	.quad	0x404c0ccccccccccd              # double 56.100000000000001
	.quad	0x40536ae147ae147b              # double 77.670000000000001
	.quad	0x404b933333333333              # double 55.149999999999999
	.quad	0x40530f5c28f5c28f              # double 76.239999999999994
	.quad	0x403223d70a3d70a4              # double 18.140000000000001
	.quad	0x403b333333333333              # double 27.199999999999999
	.quad	0x404199999999999a              # double 35.200000000000003
	.quad	0x405178f5c28f5c29              # double 69.890000000000001
	.quad	0x404c4ccccccccccd              # double 56.600000000000001
	.quad	0x4052ac28f5c28f5c              # double 74.689999999999998
	.quad	0x4035bd70a3d70a3d              # double 21.739999999999998
	.quad	0x40464f5c28f5c28f              # double 44.619999999999997
	.quad	0x40322b851eb851ec              # double 18.170000000000002
	.quad	0x4042a8f5c28f5c29              # double 37.32
	.quad	0x40525eb851eb851f              # double 73.480000000000003
	.quad	0x405813d70a3d70a4              # double 96.310000000000002
	.quad	0x40554ae147ae147b              # double 85.170000000000001
	.quad	0x405fa51eb851eb85              # double 126.58
	.quad	0x40553ccccccccccd              # double 84.950000000000002
	.quad	0x405f1eb851eb851f              # double 124.48
	.quad	0x4053d851eb851eb8              # double 79.379999999999995
	.quad	0x405e48f5c28f5c29              # double 121.14
	.quad	0x4057c7ae147ae148              # double 95.120000000000005
	.quad	0x406055c28f5c28f6              # double 130.68000000000001
	.quad	0x403523d70a3d70a4              # double 21.140000000000001
	.quad	0x4048e51eb851eb85              # double 49.789999999999999
	.quad	0x4002e147ae147ae1              # double 2.3599999999999999
	.quad	0x40402f5c28f5c28f              # double 32.369999999999997
	.quad	0x4044651eb851eb85              # double 40.789999999999999
	.quad	0x405018f5c28f5c29              # double 64.390000000000001
	.quad	0x40465ae147ae147b              # double 44.710000000000001
	.quad	0x404dcb851eb851ec              # double 59.590000000000003
	.quad	0x404feb851eb851ec              # double 63.840000000000003
	.quad	0x4056c1eb851eb852              # double 91.030000000000001
	.quad	0x404450a3d70a3d71              # double 40.630000000000003
	.quad	0x404bd47ae147ae14              # double 55.659999999999997
	.quad	0x4013000000000000              # double 4.75
	.quad	0x40407c28f5c28f5c              # double 32.969999999999999
	.quad	0x404167ae147ae148              # double 34.810000000000002
	.quad	0x404b3ae147ae147b              # double 54.460000000000001
	.quad	0x403bc51eb851eb85              # double 27.77
	.quad	0x404bbae147ae147b              # double 55.460000000000001
	.quad	0x4055c66666666666              # double 87.099999999999994
	.quad	0x405e1d70a3d70a3d              # double 120.45999999999999
	.quad	0x403f68f5c28f5c29              # double 31.41
	.quad	0x4048933333333333              # double 49.149999999999999
	.quad	0x4041651eb851eb85              # double 34.789999999999999
	.quad	0x40494147ae147ae1              # double 50.509999999999998
	.quad	0x40352b851eb851ec              # double 21.170000000000002
	.quad	0x4048b851eb851eb8              # double 49.439999999999998
	.quad	0x4021bd70a3d70a3d              # double 8.8699999999999992
	.quad	0x40392e147ae147ae              # double 25.18
	.quad	0x4058100000000000              # double 96.25
	.quad	0x405f53d70a3d70a4              # double 125.31
	.quad	0x40400147ae147ae1              # double 32.009999999999998
	.quad	0x4049ce147ae147ae              # double 51.609999999999999
	.quad	0x405461eb851eb852              # double 81.530000000000001
	.quad	0x405dc28f5c28f5c3              # double 119.04000000000001
	.quad	0x40238f5c28f5c28f              # double 9.7799999999999993
	.quad	0x4041a66666666666              # double 35.299999999999997
	.quad	0x4051a8f5c28f5c29              # double 70.640000000000001
	.quad	0x405a5b851eb851ec              # double 105.43000000000001
	.quad	0x405329999999999a              # double 76.650000000000006
	.quad	0x405cd00000000000              # double 115.25
	.quad	0x40485eb851eb851f              # double 48.740000000000002
	.quad	0x4051d00000000000              # double 71.25
	.quad	0x4055eccccccccccd              # double 87.700000000000002
	.quad	0x405ef51eb851eb85              # double 123.83
	.quad	0x401b1eb851eb851f              # double 6.7800000000000002
	.quad	0x40492b851eb851ec              # double 50.340000000000003
	.quad	0x4054fb851eb851ec              # double 83.930000000000007
	.quad	0x405f21eb851eb852              # double 124.53
	.quad	0x401f3d70a3d70a3d              # double 7.8099999999999996
	.quad	0x4040c147ae147ae1              # double 33.509999999999998
	.quad	0x4040733333333333              # double 32.899999999999999
	.quad	0x404d000000000000              # double 58
	.quad	0x404367ae147ae148              # double 38.810000000000002
	.quad	0x40530851eb851eb8              # double 76.129999999999995
	.quad	0x40550d70a3d70a3d              # double 84.209999999999993
	.quad	0x405bbd70a3d70a3d              # double 110.95999999999999
	.quad	0x403aee147ae147ae              # double 26.93
	.quad	0x404c43d70a3d70a4              # double 56.530000000000001
	.quad	0x4041d70a3d70a3d7              # double 35.68
	.quad	0x4050933333333333              # double 66.299999999999997
	.quad	0x40565b851eb851ec              # double 89.430000000000007
	.quad	0x406005c28f5c28f6              # double 128.18000000000001
	.quad	0x4044200000000000              # double 40.25
	.quad	0x404da51eb851eb85              # double 59.289999999999999
	.quad	0x3fd28f5c28f5c28f              # double 0.28999999999999998
	.quad	0x403419999999999a              # double 20.100000000000001
	.quad	0x403b75c28f5c28f6              # double 27.460000000000001
	.quad	0x4048e7ae147ae148              # double 49.810000000000002
	.quad	0x404dd9999999999a              # double 59.700000000000003
	.quad	0x4055e8f5c28f5c29              # double 87.64
	.quad	0x404667ae147ae148              # double 44.810000000000002
	.quad	0x40546147ae147ae1              # double 81.519999999999996
	.quad	0x4011000000000000              # double 4.25
	.quad	0x4048fd70a3d70a3d              # double 49.979999999999997
	.quad	0x404cb33333333333              # double 57.399999999999999
	.quad	0x4055e7ae147ae148              # double 87.620000000000005
	.quad	0x4018eb851eb851ec              # double 6.2300000000000004
	.quad	0x403975c28f5c28f6              # double 25.460000000000001
	.quad	0x4042a51eb851eb85              # double 37.289999999999999
	.quad	0x404c9851eb851eb8              # double 57.189999999999998
	.quad	0x403f23d70a3d70a4              # double 31.140000000000001
	.quad	0x4045b0a3d70a3d71              # double 43.380000000000003
	.quad	0x4054a5c28f5c28f6              # double 82.590000000000003
	.quad	0x4059500000000000              # double 101.25
	.quad	0x40372e147ae147ae              # double 23.18
	.quad	0x4048c8f5c28f5c29              # double 49.57
	.quad	0x40553ccccccccccd              # double 84.950000000000002
	.quad	0x40601ae147ae147b              # double 128.84
	.quad	0x403dcccccccccccd              # double 29.800000000000001
	.quad	0x404483d70a3d70a4              # double 41.030000000000001
	.quad	0x40298f5c28f5c28f              # double 12.779999999999999
	.quad	0x4047028f5c28f5c3              # double 46.020000000000003
	.quad	0x402f51eb851eb852              # double 15.66
	.quad	0x4046af5c28f5c28f              # double 45.369999999999997
	.quad	0x4058f33333333333              # double 99.799999999999997
	.quad	0x406040a3d70a3d71              # double 130.02000000000001
	.quad	0x40578ae147ae147b              # double 94.170000000000001
	.quad	0x40609d1eb851eb85              # double 132.91
	.quad	0x403699999999999a              # double 22.600000000000001
	.quad	0x404e600000000000              # double 60.75
	.quad	0x404edc28f5c28f5c              # double 61.719999999999999
	.quad	0x405475c28f5c28f6              # double 81.840000000000003
	.quad	0x4058f5c28f5c28f6              # double 99.840000000000003
	.quad	0x405ecd70a3d70a3d              # double 123.20999999999999
	.quad	0x3fd0a3d70a3d70a4              # double 0.26000000000000001
	.quad	0x40376b851eb851ec              # double 23.420000000000002
	.quad	0x404c370a3d70a3d7              # double 56.43
	.quad	0x4054dae147ae147b              # double 83.420000000000001
	.quad	0x4057c5c28f5c28f6              # double 95.090000000000003
	.quad	0x4061080000000000              # double 136.25
	.quad	0x40575eb851eb851f              # double 93.480000000000003
	.quad	0x40610a8f5c28f5c3              # double 136.33000000000001
	.quad	0x4051528f5c28f5c3              # double 69.290000000000006
	.quad	0x405a028f5c28f5c3              # double 104.04000000000001
	.quad	0x405845c28f5c28f6              # double 97.090000000000003
	.quad	0x405fd8f5c28f5c29              # double 127.39
	.quad	0x404c48f5c28f5c29              # double 56.57
	.quad	0x4054500000000000              # double 81.25
	.quad	0x40243d70a3d70a3d              # double 10.119999999999999
	.quad	0x4046e3d70a3d70a4              # double 45.780000000000001
	.quad	0x4053bccccccccccd              # double 78.950000000000002
	.quad	0x405cde147ae147ae              # double 115.47
	.quad	0x404de7ae147ae148              # double 59.810000000000002
	.quad	0x4053047ae147ae14              # double 76.069999999999993
	.quad	0x403691eb851eb852              # double 22.57
	.quad	0x403e028f5c28f5c3              # double 30.010000000000002
	.quad	0x4056370a3d70a3d7              # double 88.859999999999999
	.quad	0x405eceb851eb851f              # double 123.23
	.quad	0x40390a3d70a3d70a              # double 25.039999999999999
	.quad	0x404815c28f5c28f6              # double 48.170000000000002
	.quad	0x4001333333333333              # double 2.1499999999999999
	.quad	0x403091eb851eb852              # double 16.57
	.quad	0x3fe3333333333333              # double 0.59999999999999998
	.quad	0x403675c28f5c28f6              # double 22.460000000000001
	.quad	0x40379eb851eb851f              # double 23.620000000000001
	.quad	0x404ca3d70a3d70a4              # double 57.280000000000001
	.quad	0x4051ff5c28f5c28f              # double 71.989999999999995
	.quad	0x405b600000000000              # double 109.5
	.quad	0x4058ee147ae147ae              # double 99.719999999999998
	.quad	0x406080f5c28f5c29              # double 132.03
	.quad	0x40490147ae147ae1              # double 50.009999999999998
	.quad	0x40547e147ae147ae              # double 81.969999999999999
	.quad	0x4022f0a3d70a3d71              # double 9.4700000000000006
	.quad	0x403b07ae147ae148              # double 27.030000000000001
	.quad	0x4013147ae147ae14              # double 4.7699999999999996
	.quad	0x403130a3d70a3d71              # double 17.190000000000001
	.quad	0x4032f851eb851eb8              # double 18.969999999999999
	.quad	0x404bce147ae147ae              # double 55.609999999999999
	.quad	0x401c000000000000              # double 7
	.quad	0x404199999999999a              # double 35.200000000000003
	.quad	0x4036970a3d70a3d7              # double 22.59
	.quad	0x404ff0a3d70a3d71              # double 63.880000000000003
	.quad	0x404655c28f5c28f6              # double 44.670000000000002
	.quad	0x40514ae147ae147b              # double 69.170000000000002
	.quad	0x4054266666666666              # double 80.599999999999994
	.quad	0x40583d70a3d70a3d              # double 96.959999999999993
	.quad	0x404d451eb851eb85              # double 58.539999999999999
	.quad	0x405901eb851eb852              # double 100.03
	.quad	0x4054ff5c28f5c28f              # double 83.989999999999994
	.quad	0x405df51eb851eb85              # double 119.83
	.quad	0x4048deb851eb851f              # double 49.740000000000002
	.quad	0x4054bc28f5c28f5c              # double 82.939999999999998
	.quad	0x405437ae147ae148              # double 80.870000000000005
	.quad	0x405d30a3d70a3d71              # double 116.76000000000001
	.quad	0x3ff6e147ae147ae1              # double 1.4299999999999999
	.quad	0x403c28f5c28f5c29              # double 28.16
	.quad	0x405847ae147ae148              # double 97.120000000000005
	.quad	0x405b528f5c28f5c3              # double 109.29000000000001
	.quad	0x402170a3d70a3d71              # double 8.7200000000000006
	.quad	0x4046bd70a3d70a3d              # double 45.479999999999997
	.quad	0x3fc47ae147ae147b              # double 0.16
	.quad	0x40319c28f5c28f5c              # double 17.609999999999999
	.quad	0x4045347ae147ae14              # double 42.409999999999997
	.quad	0x4050a00000000000              # double 66.5
	.quad	0x404e4ccccccccccd              # double 60.600000000000001
	.quad	0x405ab33333333333              # double 106.8
	.quad	0x4051aa3d70a3d70a              # double 70.659999999999997
	.quad	0x405b9ae147ae147b              # double 110.42
	.quad	0x40469ae147ae147b              # double 45.210000000000001
	.quad	0x404d066666666666              # double 58.049999999999997
	.quad	0x4036828f5c28f5c3              # double 22.510000000000002
	.quad	0x4041d0a3d70a3d71              # double 35.630000000000003
	.quad	0x4058470a3d70a3d7              # double 97.109999999999999
	.quad	0x405faccccccccccd              # double 126.7
	.quad	0x405618f5c28f5c29              # double 88.39
	.quad	0x4060c3d70a3d70a4              # double 134.12
	.quad	0x40571ccccccccccd              # double 92.450000000000002
	.quad	0x405983d70a3d70a4              # double 102.06
	.quad	0x4038f0a3d70a3d71              # double 24.940000000000001
	.quad	0x40486b851eb851ec              # double 48.840000000000003
	.quad	0x40243851eb851eb8              # double 10.109999999999999
	.quad	0x40458e147ae147ae              # double 43.109999999999999
	.quad	0x40555a3d70a3d70a              # double 85.409999999999997
	.quad	0x405f247ae147ae14              # double 124.56999999999999
	.quad	0x3ff0f5c28f5c28f6              # double 1.0600000000000001
	.quad	0x403235c28f5c28f6              # double 18.210000000000001
	.quad	0x4029a8f5c28f5c29              # double 12.83
	.quad	0x4045147ae147ae14              # double 42.159999999999997
	.quad	0x405870a3d70a3d71              # double 97.760000000000005
	.quad	0x4061080000000000              # double 136.25
	.quad	0x40504c28f5c28f5c              # double 65.189999999999998
	.quad	0x405a91eb851eb852              # double 106.28
	.quad	0x40448a3d70a3d70a              # double 41.079999999999998
	.quad	0x4050e9999999999a              # double 67.650000000000006
	.quad	0x40525ae147ae147b              # double 73.420000000000001
	.quad	0x405b17ae147ae148              # double 108.37
	.quad	0x3ffe666666666666              # double 1.8999999999999999
	.quad	0x4033d47ae147ae14              # double 19.829999999999998
	.quad	0x4055f51eb851eb85              # double 87.829999999999998
	.quad	0x405b7ae147ae147b              # double 109.92
	.quad	0x403f147ae147ae14              # double 31.079999999999998
	.quad	0x4052de147ae147ae              # double 75.469999999999999
	.quad	0x403a028f5c28f5c3              # double 26.010000000000002
	.quad	0x4049eccccccccccd              # double 51.850000000000001
	.quad	0x4030cf5c28f5c28f              # double 16.809999999999999
	.quad	0x403e99999999999a              # double 30.600000000000001
	.quad	0x405253d70a3d70a4              # double 73.310000000000002
	.quad	0x405b9147ae147ae1              # double 110.27
	.quad	0x40095c28f5c28f5c              # double 3.1699999999999999
	.quad	0x403159999999999a              # double 17.350000000000001
	.quad	0x40525e147ae147ae              # double 73.469999999999999
	.quad	0x405ba5c28f5c28f6              # double 110.59
	.quad	0x404ddae147ae147b              # double 59.710000000000001
	.quad	0x4054ff5c28f5c28f              # double 83.989999999999994
	.quad	0x4056de147ae147ae              # double 91.469999999999998
	.quad	0x405b770a3d70a3d7              # double 109.86
	.quad	0x404bd70a3d70a3d7              # double 55.68
	.quad	0x40516eb851eb851f              # double 69.730000000000004
	.quad	0x40439851eb851eb8              # double 39.189999999999998
	.quad	0x4052e70a3d70a3d7              # double 75.609999999999999
	.quad	0x404083d70a3d70a4              # double 33.030000000000001
	.quad	0x40520ae147ae147b              # double 72.170000000000002
	.quad	0x405043d70a3d70a4              # double 65.060000000000002
	.quad	0x40563ae147ae147b              # double 88.920000000000001
	.quad	0x40296b851eb851ec              # double 12.710000000000001
	.quad	0x40467ae147ae147b              # double 44.960000000000001
	.quad	0x404e6f5c28f5c28f              # double 60.869999999999997
	.quad	0x4056be147ae147ae              # double 90.969999999999999
	.quad	0x4058966666666666              # double 98.349999999999994
	.quad	0x4061870a3d70a3d7              # double 140.22
	.quad	0x40280f5c28f5c28f              # double 12.029999999999999
	.quad	0x40386147ae147ae1              # double 24.379999999999999
	.quad	0x4031a8f5c28f5c29              # double 17.66
	.quad	0x403870a3d70a3d71              # double 24.440000000000001
	.quad	0x402519999999999a              # double 10.550000000000001
	.quad	0x403f428f5c28f5c3              # double 31.260000000000002
	.quad	0x405191eb851eb852              # double 70.280000000000001
	.quad	0x4058df5c28f5c28f              # double 99.489999999999994
	.quad	0x403d2b851eb851ec              # double 29.170000000000002
	.quad	0x405050a3d70a3d71              # double 65.260000000000005
	.quad	0x403db851eb851eb8              # double 29.719999999999999
	.quad	0x404db851eb851eb8              # double 59.439999999999998
	.quad	0x4057470a3d70a3d7              # double 93.109999999999999
	.quad	0x4060575c28f5c28f              # double 130.72999999999999
	.quad	0x40249eb851eb851f              # double 10.31
	.quad	0x404371eb851eb852              # double 38.890000000000001
	.quad	0x401f5c28f5c28f5c              # double 7.8399999999999999
	.quad	0x403c970a3d70a3d7              # double 28.59
	.quad	0x4057c28f5c28f5c3              # double 95.040000000000006
	.quad	0x405c8147ae147ae1              # double 114.02
	.quad	0x4031a3d70a3d70a4              # double 17.640000000000001
	.quad	0x4042a3d70a3d70a4              # double 37.280000000000001
	.quad	0x402ffae147ae147b              # double 15.99
	.quad	0x4048a28f5c28f5c3              # double 49.270000000000003
	.quad	0x4058d51eb851eb85              # double 99.329999999999998
	.quad	0x405d933333333333              # double 118.3
	.quad	0x4052d3d70a3d70a4              # double 75.310000000000002
	.quad	0x405b4b851eb851ec              # double 109.18000000000001
	.quad	0x4042dc28f5c28f5c              # double 37.719999999999999
	.quad	0x40490f5c28f5c28f              # double 50.119999999999997
	.quad	0x4038a147ae147ae1              # double 24.629999999999999
	.quad	0x40410ccccccccccd              # double 34.100000000000001
	.quad	0x4039ae147ae147ae              # double 25.68
	.quad	0x40473851eb851eb8              # double 46.439999999999998
	.quad	0x404f23d70a3d70a4              # double 62.280000000000001
	.quad	0x4051ec28f5c28f5c              # double 71.689999999999998
	.quad	0x4052766666666666              # double 73.849999999999994
	.quad	0x405a21eb851eb852              # double 104.53
	.quad	0x40218a3d70a3d70a              # double 8.7699999999999996
	.quad	0x4040a28f5c28f5c3              # double 33.270000000000003
	.quad	0x40449851eb851eb8              # double 41.189999999999998
	.quad	0x40537f5c28f5c28f              # double 77.989999999999994
	.quad	0x405859999999999a              # double 97.400000000000005
	.quad	0x405d0851eb851eb8              # double 116.13
	.quad	0x40280a3d70a3d70a              # double 12.02
	.quad	0x40429851eb851eb8              # double 37.189999999999998
	.quad	0x4022947ae147ae14              # double 9.2899999999999991
	.quad	0x40416f5c28f5c28f              # double 34.869999999999997
	.quad	0x403f451eb851eb85              # double 31.27
	.quad	0x404a5eb851eb851f              # double 52.740000000000002
	.quad	0x4031f0a3d70a3d71              # double 17.940000000000001
	.quad	0x4045ca3d70a3d70a              # double 43.579999999999998
	.quad	0x4030666666666666              # double 16.399999999999999
	.quad	0x4039970a3d70a3d7              # double 25.59
	.quad	0x404bc28f5c28f5c3              # double 55.520000000000003
	.quad	0x40583851eb851eb8              # double 96.879999999999995
	.quad	0x4057b51eb851eb85              # double 94.829999999999998
	.quad	0x405feccccccccccd              # double 127.7
	.quad	0x40513eb851eb851f              # double 68.980000000000004
	.quad	0x405b90a3d70a3d71              # double 110.26000000000001
	.quad	0x403f3ae147ae147b              # double 31.23
	.quad	0x404b4b851eb851ec              # double 54.590000000000003
	.quad	0x404895c28f5c28f6              # double 49.170000000000002
	.quad	0x404f970a3d70a3d7              # double 63.18
	.quad	0x403387ae147ae148              # double 19.530000000000001
	.quad	0x404355c28f5c28f6              # double 38.670000000000002
	.quad	0x4054eb851eb851ec              # double 83.680000000000007
	.quad	0x40597eb851eb851f              # double 101.98
	.quad	0x4051347ae147ae14              # double 68.819999999999993
	.quad	0x405803d70a3d70a4              # double 96.060000000000002
	.quad	0x4055b147ae147ae1              # double 86.769999999999996
	.quad	0x405f37ae147ae148              # double 124.87
	.quad	0x404feccccccccccd              # double 63.850000000000001
	.quad	0x405ab851eb851eb8              # double 106.88
	.quad	0x404a628f5c28f5c3              # double 52.770000000000003
	.quad	0x40588ae147ae147b              # double 98.170000000000001
	.quad	0x404db5c28f5c28f6              # double 59.420000000000002
	.quad	0x4056470a3d70a3d7              # double 89.109999999999999
	.quad	0x403b451eb851eb85              # double 27.27
	.quad	0x404a6ccccccccccd              # double 52.850000000000001
	.quad	0x404e8147ae147ae1              # double 61.009999999999998
	.quad	0x405695c28f5c28f6              # double 90.340000000000003
	.quad	0x4054066666666666              # double 80.099999999999994
	.quad	0x405d38f5c28f5c29              # double 116.89
	.quad	0x405273d70a3d70a4              # double 73.810000000000002
	.quad	0x405c033333333333              # double 112.05
	.quad	0x404055c28f5c28f6              # double 32.670000000000002
	.quad	0x404be3d70a3d70a4              # double 55.780000000000001
	.quad	0x4014c28f5c28f5c3              # double 5.1900000000000004
	.quad	0x402c0a3d70a3d70a              # double 14.02
	.quad	0x4048cccccccccccd              # double 49.600000000000001
	.quad	0x4050fe147ae147ae              # double 67.969999999999999
	.quad	0x40557e147ae147ae              # double 85.969999999999999
	.quad	0x4059f0a3d70a3d71              # double 103.76000000000001
	.quad	0x4029428f5c28f5c3              # double 12.630000000000001
	.quad	0x4039cf5c28f5c28f              # double 25.809999999999999
	.quad	0x404f8e147ae147ae              # double 63.109999999999999
	.quad	0x4058700000000000              # double 97.75
	.quad	0x40208f5c28f5c28f              # double 8.2799999999999994
	.quad	0x40401d70a3d70a3d              # double 32.229999999999997
	.quad	0x4043cf5c28f5c28f              # double 39.619999999999997
	.quad	0x404e800000000000              # double 61
	.quad	0x404650a3d70a3d71              # double 44.630000000000003
	.quad	0x4051a70a3d70a3d7              # double 70.609999999999999
	.quad	0x40540147ae147ae1              # double 80.019999999999996
	.quad	0x405b73d70a3d70a4              # double 109.81
	.quad	0x4050da3d70a3d70a              # double 67.409999999999997
	.quad	0x4056dae147ae147b              # double 91.420000000000001
	.quad	0x404c6147ae147ae1              # double 56.759999999999998
	.quad	0x40544eb851eb851f              # double 81.230000000000003
	.quad	0x40505a3d70a3d70a              # double 65.409999999999997
	.quad	0x40585e147ae147ae              # double 97.469999999999998
	.quad	0x4041f70a3d70a3d7              # double 35.93
	.quad	0x405000a3d70a3d71              # double 64.010000000000005
	.quad	0x404e933333333333              # double 61.149999999999999
	.quad	0x4057747ae147ae14              # double 93.819999999999993
	.quad	0x402fb33333333333              # double 15.85
	.quad	0x404348f5c28f5c29              # double 38.57
	.quad	0x40412a3d70a3d70a              # double 34.329999999999998
	.quad	0x404d4f5c28f5c28f              # double 58.619999999999997
	.quad	0x4055a1eb851eb852              # double 86.530000000000001
	.quad	0x405bd8f5c28f5c29              # double 111.39
	.quad	0x404cc28f5c28f5c3              # double 57.520000000000003
	.quad	0x4051af5c28f5c28f              # double 70.739999999999995
	.quad	0x40540d70a3d70a3d              # double 80.209999999999993
	.quad	0x405d79999999999a              # double 117.90000000000001
	.quad	0x40570147ae147ae1              # double 92.019999999999996
	.quad	0x40603d70a3d70a3d              # double 129.91999999999999
	.quad	0x4051c5c28f5c28f6              # double 71.090000000000003
	.quad	0x405bb8f5c28f5c29              # double 110.89
	.quad	0x404c1d70a3d70a3d              # double 56.229999999999997
	.quad	0x40519851eb851eb8              # double 70.379999999999995
	.quad	0x4048f70a3d70a3d7              # double 49.93
	.quad	0x40526d70a3d70a3d              # double 73.709999999999993
	.quad	0x40574ccccccccccd              # double 93.200000000000002
	.quad	0x405f70a3d70a3d71              # double 125.76000000000001
	.quad	0x40277ae147ae147b              # double 11.74
	.quad	0x4042f851eb851eb8              # double 37.939999999999998
	.quad	0x403699999999999a              # double 22.600000000000001
	.quad	0x404bf33333333333              # double 55.899999999999999
	.quad	0x40558c28f5c28f5c              # double 86.189999999999998
	.quad	0x405c900000000000              # double 114.25
	.quad	0x4036a66666666666              # double 22.649999999999999
	.quad	0x4050a33333333333              # double 66.549999999999997
	.quad	0x4034fae147ae147b              # double 20.98
	.quad	0x404659999999999a              # double 44.700000000000003
	.quad	0x40326147ae147ae1              # double 18.379999999999999
	.quad	0x40456ccccccccccd              # double 42.850000000000001
	.quad	0x4050b33333333333              # double 66.799999999999997
	.quad	0x4051c8f5c28f5c29              # double 71.140000000000001
	.quad	0x405523d70a3d70a4              # double 84.560000000000002
	.quad	0x405a4851eb851eb8              # double 105.13
	.quad	0x4054ec28f5c28f5c              # double 83.689999999999998
	.quad	0x405a81eb851eb852              # double 106.03
	.quad	0x40558a3d70a3d70a              # double 86.159999999999997
	.quad	0x40611b3333333333              # double 136.84999999999999
	.quad	0x405240a3d70a3d71              # double 73.010000000000005
	.quad	0x405cc70a3d70a3d7              # double 115.11
	.quad	0x403507ae147ae148              # double 21.030000000000001
	.quad	0x4045628f5c28f5c3              # double 42.770000000000003
	.quad	0x4016b851eb851eb8              # double 5.6799999999999997
	.quad	0x4041b1eb851eb852              # double 35.390000000000001
	.quad	0x403a000000000000              # double 26
	.quad	0x4047ee147ae147ae              # double 47.859999999999999
	.quad	0x4048851eb851eb85              # double 49.039999999999999
	.quad	0x40518147ae147ae1              # double 70.019999999999996
	.quad	0x40450147ae147ae1              # double 42.009999999999998
	.quad	0x4050e51eb851eb85              # double 67.579999999999998
	.quad	0x404feb851eb851ec              # double 63.840000000000003
	.quad	0x40555ccccccccccd              # double 85.450000000000002
	.quad	0x4040feb851eb851f              # double 33.990000000000002
	.quad	0x405153d70a3d70a4              # double 69.310000000000002
	.quad	0x40549147ae147ae1              # double 82.269999999999996
	.quad	0x40606c7ae147ae14              # double 131.38999999999999
	.quad	0x4037e8f5c28f5c29              # double 23.91
	.quad	0x40496a3d70a3d70a              # double 50.829999999999998
	.quad	0x4051ce147ae147ae              # double 71.219999999999999
	.quad	0x4058d1eb851eb852              # double 99.280000000000001
	.quad	0x4049733333333333              # double 50.899999999999999
	.quad	0x40529ae147ae147b              # double 74.420000000000001
	.quad	0x404fb70a3d70a3d7              # double 63.43
	.quad	0x405fd5c28f5c28f6              # double 127.34
	.quad	0x40502147ae147ae1              # double 64.519999999999996
	.quad	0x40597c28f5c28f5c              # double 101.94
	.quad	0x403a28f5c28f5c29              # double 26.16
	.quad	0x40477851eb851eb8              # double 46.939999999999998
	.quad	0x4057700000000000              # double 93.75
	.quad	0x4060ea8f5c28f5c3              # double 135.33000000000001
	.quad	0x4038733333333333              # double 24.449999999999999
	.quad	0x404e27ae147ae148              # double 60.310000000000002
	.quad	0x403b11eb851eb852              # double 27.07
	.quad	0x404dc7ae147ae148              # double 59.560000000000002
	.quad	0x401a851eb851eb85              # double 6.6299999999999999
	.quad	0x403e99999999999a              # double 30.600000000000001
	.quad	0x4058266666666666              # double 96.599999999999994
	.quad	0x4059f0a3d70a3d71              # double 103.76000000000001
	.quad	0x40552ccccccccccd              # double 84.700000000000002
	.quad	0x4059128f5c28f5c3              # double 100.29000000000001
	.quad	0x40447851eb851eb8              # double 40.939999999999998
	.quad	0x404e31eb851eb852              # double 60.390000000000001
	.quad	0x4034f851eb851eb8              # double 20.969999999999999
	.quad	0x4052066666666666              # double 72.099999999999994
	.quad	0x404a051eb851eb85              # double 52.039999999999999
	.quad	0x4056200000000000              # double 88.5
	.quad	0x403dd1eb851eb852              # double 29.82
	.quad	0x4050ceb851eb851f              # double 67.230000000000004
	.quad	0x4048800000000000              # double 49
	.quad	0x40546ccccccccccd              # double 81.700000000000002
	.quad	0x401b3d70a3d70a3d              # double 6.8099999999999996
	.quad	0x403a8ccccccccccd              # double 26.550000000000001
	.quad	0x40528147ae147ae1              # double 74.019999999999996
	.quad	0x405fdc28f5c28f5c              # double 127.44
	.quad	0x4027e147ae147ae1              # double 11.94
	.quad	0x40366b851eb851ec              # double 22.420000000000002
	.quad	0x405329999999999a              # double 76.650000000000006
	.quad	0x405557ae147ae148              # double 85.370000000000005
	.quad	0x40341eb851eb851f              # double 20.120000000000001
	.quad	0x4049d70a3d70a3d7              # double 51.68
	.quad	0x403ecf5c28f5c28f              # double 30.809999999999999
	.quad	0x404ce8f5c28f5c29              # double 57.82
	.quad	0x405515c28f5c28f6              # double 84.340000000000003
	.quad	0x405b8c28f5c28f5c              # double 110.19
	.quad	0x40389eb851eb851f              # double 24.620000000000001
	.quad	0x404968f5c28f5c29              # double 50.82
	.quad	0x40031eb851eb851f              # double 2.3900000000000001
	.quad	0x403d9c28f5c28f5c              # double 29.609999999999999
	.quad	0x4051d147ae147ae1              # double 71.269999999999996
	.quad	0x405dc33333333333              # double 119.05
	.quad	0x401e99999999999a              # double 7.6500000000000004
	.quad	0x403b3851eb851eb8              # double 27.219999999999999
	.quad	0x404a07ae147ae148              # double 52.060000000000002
	.quad	0x405318f5c28f5c29              # double 76.39
	.quad	0x40324ccccccccccd              # double 18.300000000000001
	.quad	0x4044200000000000              # double 40.25
	.quad	0x401e8f5c28f5c28f              # double 7.6399999999999996
	.quad	0x4043828f5c28f5c3              # double 39.020000000000003
	.quad	0x405457ae147ae148              # double 81.370000000000005
	.quad	0x405a8ccccccccccd              # double 106.2
	.quad	0x40270a3d70a3d70a              # double 11.52
	.quad	0x403bfd70a3d70a3d              # double 27.989999999999998
	.quad	0x404428f5c28f5c29              # double 40.32
	.quad	0x404688f5c28f5c29              # double 45.07
	.quad	0x4053a51eb851eb85              # double 78.579999999999998
	.quad	0x4058328f5c28f5c3              # double 96.790000000000006
	.quad	0x4057fccccccccccd              # double 95.950000000000002
	.quad	0x405e747ae147ae14              # double 121.81999999999999
	.quad	0x403b75c28f5c28f6              # double 27.460000000000001
	.quad	0x404f88f5c28f5c29              # double 63.07
	.quad	0x404bef5c28f5c28f              # double 55.869999999999997
	.quad	0x40579ccccccccccd              # double 94.450000000000002
	.quad	0x3fe6666666666666              # double 0.69999999999999996
	.quad	0x403891eb851eb852              # double 24.57
	.quad	0x40587f5c28f5c28f              # double 97.989999999999994
	.quad	0x40609b851eb851ec              # double 132.86000000000001
	.quad	0x4040d47ae147ae14              # double 33.659999999999997
	.quad	0x404819999999999a              # double 48.200000000000003
	.quad	0x4056b33333333333              # double 90.799999999999997
	.quad	0x4062f9eb851eb852              # double 151.81
	.quad	0x403a800000000000              # double 26.5
	.quad	0x404a11eb851eb852              # double 52.140000000000001
	.quad	0x4045d0a3d70a3d71              # double 43.630000000000003
	.quad	0x404d75c28f5c28f6              # double 58.920000000000002
	.quad	0x40565b851eb851ec              # double 89.430000000000007
	.quad	0x4060b6147ae147ae              # double 133.69
	.quad	0x4055a3d70a3d70a4              # double 86.560000000000002
	.quad	0x405daa3d70a3d70a              # double 118.66
	.quad	0x404f1d70a3d70a3d              # double 62.229999999999997
	.quad	0x4050233333333333              # double 64.549999999999997
	.quad	0x403823d70a3d70a4              # double 24.140000000000001
	.quad	0x404c828f5c28f5c3              # double 57.020000000000003
	.quad	0x404ce28f5c28f5c3              # double 57.770000000000003
	.quad	0x4057a8f5c28f5c29              # double 94.64
	.quad	0x4045400000000000              # double 42.5
	.quad	0x4052866666666666              # double 74.099999999999994
	.quad	0x40499851eb851eb8              # double 51.189999999999998
	.quad	0x40537b851eb851ec              # double 77.930000000000007
	.quad	0x4029bd70a3d70a3d              # double 12.869999999999999
	.quad	0x404675c28f5c28f6              # double 44.920000000000002
	.quad	0x404e2f5c28f5c28f              # double 60.369999999999997
	.quad	0x40536d70a3d70a3d              # double 77.709999999999993
	.quad	0x4040d33333333333              # double 33.649999999999999
	.quad	0x40524b851eb851ec              # double 73.180000000000007
	.quad	0x40378a3d70a3d70a              # double 23.539999999999999
	.quad	0x4048e51eb851eb85              # double 49.789999999999999
	.quad	0x40111eb851eb851f              # double 4.2800000000000002
	.quad	0x403799999999999a              # double 23.600000000000001
	.quad	0x404e1851eb851eb8              # double 60.189999999999998
	.quad	0x4059bccccccccccd              # double 102.95
	.quad	0x4041747ae147ae14              # double 34.909999999999997
	.quad	0x40500ccccccccccd              # double 64.200000000000003
	.quad	0x40562147ae147ae1              # double 88.519999999999996
	.quad	0x4059d66666666666              # double 103.34999999999999
	.quad	0x404d6f5c28f5c28f              # double 58.869999999999997
	.quad	0x40569851eb851eb8              # double 90.379999999999995
	.quad	0x4057533333333333              # double 93.299999999999997
	.quad	0x405dbe147ae147ae              # double 118.97
	.quad	0x404c1d70a3d70a3d              # double 56.229999999999997
	.quad	0x405849999999999a              # double 97.150000000000005
	.quad	0x4056f147ae147ae1              # double 91.769999999999996
	.quad	0x405d21eb851eb852              # double 116.53
	.quad	0x40514a3d70a3d70a              # double 69.159999999999997
	.quad	0x4056d851eb851eb8              # double 91.379999999999995
	.quad	0x404527ae147ae148              # double 42.310000000000002
	.quad	0x4050b0a3d70a3d71              # double 66.760000000000005
	.quad	0x4047f9999999999a              # double 47.950000000000003
	.quad	0x405237ae147ae148              # double 72.870000000000005
	.quad	0x403930a3d70a3d71              # double 25.190000000000001
	.quad	0x4048b33333333333              # double 49.399999999999999
	.quad	0x40559eb851eb851f              # double 86.480000000000003
	.quad	0x405df9999999999a              # double 119.90000000000001
	.quad	0x40445eb851eb851f              # double 40.740000000000002
	.quad	0x40516e147ae147ae              # double 69.719999999999999
	.quad	0x4045a3d70a3d70a4              # double 43.280000000000001
	.quad	0x4052aeb851eb851f              # double 74.730000000000003
	.quad	0x405880a3d70a3d71              # double 98.010000000000005
	.quad	0x405a8b851eb851ec              # double 106.18000000000001
	.quad	0x401f147ae147ae14              # double 7.7699999999999996
	.quad	0x40423eb851eb851f              # double 36.490000000000002
	.quad	0x4057bb851eb851ec              # double 94.930000000000007
	.quad	0x405f57ae147ae148              # double 125.37
	.quad	0x404c6147ae147ae1              # double 56.759999999999998
	.quad	0x4051b9999999999a              # double 70.900000000000006
	.quad	0x40003d70a3d70a3d              # double 2.0299999999999998
	.quad	0x403a147ae147ae14              # double 26.079999999999998
	.quad	0x4020dc28f5c28f5c              # double 8.4299999999999997
	.quad	0x40405ae147ae147b              # double 32.710000000000001
	.quad	0x404aa00000000000              # double 53.25
	.quad	0x405b20a3d70a3d71              # double 108.51000000000001
	.quad	0x404503d70a3d70a4              # double 42.030000000000001
	.quad	0x4053d28f5c28f5c3              # double 79.290000000000006
	.quad	0x4051833333333333              # double 70.049999999999997
	.quad	0x4058deb851eb851f              # double 99.480000000000003
	.quad	0x403c75c28f5c28f6              # double 28.460000000000001
	.quad	0x4047eb851eb851ec              # double 47.840000000000003
	.quad	0x404a733333333333              # double 52.899999999999999
	.quad	0x405078f5c28f5c29              # double 65.890000000000001
	.quad	0x402b8f5c28f5c28f              # double 13.779999999999999
	.quad	0x403b2e147ae147ae              # double 27.18
	.quad	0x40415d70a3d70a3d              # double 34.729999999999997
	.quad	0x4053f851eb851eb8              # double 79.879999999999995
	.quad	0x404d3ae147ae147b              # double 58.460000000000001
	.quad	0x405635c28f5c28f6              # double 88.840000000000003
	.quad	0x4056beb851eb851f              # double 90.980000000000003
	.quad	0x40606a3d70a3d70a              # double 131.31999999999999
	.quad	0x401be147ae147ae1              # double 6.9699999999999998
	.quad	0x403770a3d70a3d71              # double 23.440000000000001
	.quad	0x40452ccccccccccd              # double 42.350000000000001
	.quad	0x40551c28f5c28f5c              # double 84.439999999999998
	.quad	0x4058451eb851eb85              # double 97.079999999999998
	.quad	0x405f6b851eb851ec              # double 125.68000000000001
	.quad	0x404839999999999a              # double 48.450000000000003
	.quad	0x4051aa3d70a3d70a              # double 70.659999999999997
	.quad	0x404e251eb851eb85              # double 60.289999999999999
	.quad	0x405597ae147ae148              # double 86.370000000000005
	.quad	0x4048eb851eb851ec              # double 49.840000000000003
	.quad	0x404cdae147ae147b              # double 57.710000000000001
	.quad	0x40337ae147ae147b              # double 19.48
	.quad	0x404a07ae147ae148              # double 52.060000000000002
	.quad	0x40570147ae147ae1              # double 92.019999999999996
	.quad	0x406039eb851eb852              # double 129.81
	.quad	0x404d4e147ae147ae              # double 58.609999999999999
	.quad	0x40580ae147ae147b              # double 96.170000000000001
	.quad	0x4032028f5c28f5c3              # double 18.010000000000002
	.quad	0x404a7ae147ae147b              # double 52.960000000000001
	.quad	0x403eb0a3d70a3d71              # double 30.690000000000001
	.quad	0x40493851eb851eb8              # double 50.439999999999998
	.quad	0x4052eccccccccccd              # double 75.700000000000002
	.quad	0x4058af5c28f5c28f              # double 98.739999999999994
	.quad	0x4055a00000000000              # double 86.5
	.quad	0x405b8b851eb851ec              # double 110.18000000000001
	.quad	0x405791eb851eb852              # double 94.280000000000001
	.quad	0x40617fae147ae148              # double 139.99000000000001
	.quad	0x403ba66666666666              # double 27.649999999999999
	.quad	0x40467851eb851eb8              # double 44.939999999999998
	.quad	0x4034828f5c28f5c3              # double 20.510000000000002
	.quad	0x4048933333333333              # double 49.149999999999999
	.quad	0x4057eccccccccccd              # double 95.700000000000002
	.quad	0x405c4eb851eb851f              # double 113.23
	.quad	0x402dc28f5c28f5c3              # double 14.880000000000001
	.quad	0x40406f5c28f5c28f              # double 32.869999999999997
	.quad	0x402a051eb851eb85              # double 13.01
	.quad	0x404567ae147ae148              # double 42.810000000000002
	.quad	0x404eaccccccccccd              # double 61.350000000000001
	.quad	0x405533d70a3d70a4              # double 84.810000000000002
	.quad	0x404579999999999a              # double 42.950000000000003
	.quad	0x4051b70a3d70a3d7              # double 70.859999999999999
	.quad	0x40409851eb851eb8              # double 33.189999999999998
	.quad	0x4042b70a3d70a3d7              # double 37.43
	.quad	0x404b07ae147ae148              # double 54.060000000000002
	.quad	0x4051570a3d70a3d7              # double 69.359999999999999
	.quad	0x4047e51eb851eb85              # double 47.789999999999999
	.quad	0x40510d70a3d70a3d              # double 68.209999999999994
	.quad	0x4042bae147ae147b              # double 37.460000000000001
	.quad	0x40509a3d70a3d70a              # double 66.409999999999997
	.quad	0x40380ccccccccccd              # double 24.050000000000001
	.quad	0x404aaccccccccccd              # double 53.350000000000001
	.quad	0x4056eccccccccccd              # double 91.700000000000002
	.quad	0x4060047ae147ae14              # double 128.13999999999999
	.quad	0x4045e51eb851eb85              # double 43.789999999999999
	.quad	0x4048a147ae147ae1              # double 49.259999999999998
	.quad	0x4036451eb851eb85              # double 22.27
	.quad	0x403c0f5c28f5c28f              # double 28.059999999999999
	.quad	0x4054766666666666              # double 81.849999999999994
	.quad	0x405ad5c28f5c28f6              # double 107.34
	.quad	0x4006b851eb851eb8              # double 2.8399999999999999
	.quad	0x403a07ae147ae148              # double 26.030000000000001
	.quad	0x404b43d70a3d70a4              # double 54.530000000000001
	.quad	0x40578851eb851eb8              # double 94.129999999999995
	.quad	0x4054fa3d70a3d70a              # double 83.909999999999997
	.quad	0x4059600000000000              # double 101.5
	.quad	0x4053947ae147ae14              # double 78.319999999999993
	.quad	0x40582c28f5c28f5c              # double 96.689999999999998
	.quad	0x401dc28f5c28f5c3              # double 7.4400000000000004
	.quad	0x4042028f5c28f5c3              # double 36.020000000000003
	.quad	0x4057a33333333333              # double 94.549999999999997
	.quad	0x406061999999999a              # double 131.05000000000001
	.quad	0x404715c28f5c28f6              # double 46.170000000000002
	.quad	0x405123d70a3d70a4              # double 68.560000000000002
	.quad	0x404788f5c28f5c29              # double 47.07
	.quad	0x40506851eb851eb8              # double 65.629999999999995
	.quad	0x404f7851eb851eb8              # double 62.939999999999998
	.quad	0x40560e147ae147ae              # double 88.219999999999999
	.quad	0x4042c7ae147ae148              # double 37.560000000000002
	.quad	0x4051728f5c28f5c3              # double 69.790000000000006
	.quad	0x4058e28f5c28f5c3              # double 99.540000000000006
	.quad	0x405fdf5c28f5c28f              # double 127.48999999999999
	.quad	0x4037c28f5c28f5c3              # double 23.760000000000002
	.quad	0x4034deb851eb851f              # double 20.870000000000001
	.quad	0x40548851eb851eb8              # double 82.129999999999995
	.quad	0x405e43d70a3d70a4              # double 121.06
	.quad	0x4043d851eb851eb8              # double 39.689999999999998
	.quad	0x404a1851eb851eb8              # double 52.189999999999998
	.quad	0x4028851eb851eb85              # double 12.26
	.quad	0x403f6b851eb851ec              # double 31.420000000000002
	.quad	0x4055066666666666              # double 84.099999999999994
	.quad	0x406038a3d70a3d71              # double 129.77000000000001
	.quad	0x404ac3d70a3d70a4              # double 53.530000000000001
	.quad	0x4053951eb851eb85              # double 78.329999999999998
	.quad	0x40525a3d70a3d70a              # double 73.409999999999997
	.quad	0x405b91eb851eb852              # double 110.28
	.quad	0x4042570a3d70a3d7              # double 36.68
	.quad	0x404fcccccccccccd              # double 63.600000000000001
	.quad	0x4030cccccccccccd              # double 16.800000000000001
	.quad	0x4046828f5c28f5c3              # double 45.020000000000003
	.quad	0x401c8f5c28f5c28f              # double 7.1399999999999997
	.quad	0x4042570a3d70a3d7              # double 36.68
	.quad	0x40450a3d70a3d70a              # double 42.079999999999998
	.quad	0x4051f33333333333              # double 71.799999999999997
	.quad	0x404dc7ae147ae148              # double 59.560000000000002
	.quad	0x405ac28f5c28f5c3              # double 107.04000000000001
	.quad	0x40449d70a3d70a3d              # double 41.229999999999997
	.quad	0x405243d70a3d70a4              # double 73.060000000000002
	.quad	0x4055870a3d70a3d7              # double 86.109999999999999
	.quad	0x405cd8f5c28f5c29              # double 115.39
	.quad	0x4051f00000000000              # double 71.75
	.quad	0x4058b66666666666              # double 98.849999999999994
	.quad	0x4057b1eb851eb852              # double 94.780000000000001
	.quad	0x405feae147ae147b              # double 127.67
	.quad	0x403475c28f5c28f6              # double 20.460000000000001
	.quad	0x4042228f5c28f5c3              # double 36.270000000000003
	.quad	0x4040466666666666              # double 32.549999999999997
	.quad	0x4052c7ae147ae148              # double 75.120000000000005
	.quad	0x405240a3d70a3d71              # double 73.010000000000005
	.quad	0x405b166666666666              # double 108.34999999999999
	.quad	0x4049147ae147ae14              # double 50.159999999999997
	.quad	0x40563ae147ae147b              # double 88.920000000000001
	.quad	0x405320a3d70a3d71              # double 76.510000000000005
	.quad	0x405a05c28f5c28f6              # double 104.09
	.quad	0x404b9d70a3d70a3d              # double 55.229999999999997
	.quad	0x405381eb851eb852              # double 78.030000000000001
	.quad	0x40501eb851eb851f              # double 64.480000000000004
	.quad	0x405873d70a3d70a4              # double 97.810000000000002
	.quad	0x4052f1eb851eb852              # double 75.780000000000001
	.quad	0x405b6ae147ae147b              # double 109.67
	.quad	0x4048228f5c28f5c3              # double 48.270000000000003
	.quad	0x40596f5c28f5c28f              # double 101.73999999999999
	.quad	0x402b4ccccccccccd              # double 13.65
	.quad	0x404287ae147ae148              # double 37.060000000000002
	.quad	0x405825c28f5c28f6              # double 96.590000000000003
	.quad	0x405ec851eb851eb8              # double 123.13
	.quad	0x40230a3d70a3d70a              # double 9.5199999999999996
	.quad	0x4037b851eb851eb8              # double 23.719999999999999
	.quad	0x404d47ae147ae148              # double 58.560000000000002
	.quad	0x4053770a3d70a3d7              # double 77.859999999999999
	.quad	0x402c0a3d70a3d70a              # double 14.02
	.quad	0x404d55c28f5c28f6              # double 58.670000000000002
	.quad	0x404b1ae147ae147b              # double 54.210000000000001
	.quad	0x4050fae147ae147b              # double 67.920000000000002
	.quad	0x4039547ae147ae14              # double 25.329999999999998
	.quad	0x404ffd70a3d70a3d              # double 63.979999999999997
	.quad	0x40588c28f5c28f5c              # double 98.189999999999998
	.quad	0x4060d147ae147ae1              # double 134.53999999999999
	.quad	0x40370f5c28f5c28f              # double 23.059999999999999
	.quad	0x4043f70a3d70a3d7              # double 39.93
	.quad	0x40476a3d70a3d70a              # double 46.829999999999998
	.quad	0x404dcccccccccccd              # double 59.600000000000001
	.quad	0x40521ccccccccccd              # double 72.450000000000003
	.quad	0x405923d70a3d70a4              # double 100.56
	.quad	0x40218f5c28f5c28f              # double 8.7799999999999994
	.quad	0x4028c7ae147ae148              # double 12.390000000000001
	.quad	0x4050f66666666666              # double 67.849999999999994
	.quad	0x405b951eb851eb85              # double 110.33
	.quad	0x40529ae147ae147b              # double 74.420000000000001
	.quad	0x40582c28f5c28f5c              # double 96.689999999999998
	.quad	0x4051966666666666              # double 70.349999999999994
	.quad	0x4056647ae147ae14              # double 89.569999999999993
	.quad	0x4053f70a3d70a3d7              # double 79.859999999999999
	.quad	0x4055d147ae147ae1              # double 87.269999999999996
	.quad	0x4049cf5c28f5c28f              # double 51.619999999999997
	.quad	0x4057047ae147ae14              # double 92.069999999999993
	.quad	0x403735c28f5c28f6              # double 23.210000000000001
	.quad	0x4045ea3d70a3d70a              # double 43.829999999999998
	.quad	0x3ff199999999999a              # double 1.1000000000000001
	.quad	0x4046e66666666666              # double 45.799999999999997
	.quad	0x40273d70a3d70a3d              # double 11.619999999999999
	.quad	0x404955c28f5c28f6              # double 50.670000000000002
	.quad	0x4050ed70a3d70a3d              # double 67.709999999999994
	.quad	0x405959999999999a              # double 101.40000000000001
	.quad	0x4040170a3d70a3d7              # double 32.18
	.quad	0x404e39999999999a              # double 60.450000000000003
	.quad	0x4050400000000000              # double 65
	.quad	0x4053c66666666666              # double 79.099999999999994
	.quad	0x4042d33333333333              # double 37.649999999999999
	.quad	0x40540851eb851eb8              # double 80.129999999999995
	.quad	0x4053ab851eb851ec              # double 78.680000000000007
	.quad	0x405d228f5c28f5c3              # double 116.54000000000001
	.quad	0x4007c28f5c28f5c3              # double 2.9700000000000002
	.quad	0x404183d70a3d70a4              # double 35.030000000000001
	.quad	0x40346e147ae147ae              # double 20.43
	.quad	0x404107ae147ae148              # double 34.060000000000002
	.quad	0x40589d70a3d70a3d              # double 98.459999999999993
	.quad	0x405fae147ae147ae              # double 126.72
	.quad	0x403ce66666666666              # double 28.899999999999999
	.quad	0x404fdc28f5c28f5c              # double 63.719999999999999
	.quad	0x404cdae147ae147b              # double 57.710000000000001
	.quad	0x40502eb851eb851f              # double 64.730000000000004
	.quad	0x403c19999999999a              # double 28.100000000000001
	.quad	0x4048147ae147ae14              # double 48.159999999999997
	.quad	0x404bc00000000000              # double 55.5
	.quad	0x4052cae147ae147b              # double 75.170000000000001
	.quad	0x4037851eb851eb85              # double 23.52
	.quad	0x4049b70a3d70a3d7              # double 51.43
	.quad	0x402719999999999a              # double 11.550000000000001
	.quad	0x404123d70a3d70a4              # double 34.280000000000001
	.quad	0x40575ccccccccccd              # double 93.450000000000002
	.quad	0x405f50a3d70a3d71              # double 125.26000000000001
	.quad	0x401ef5c28f5c28f6              # double 7.7400000000000002
	.quad	0x4041fc28f5c28f5c              # double 35.969999999999999
	.quad	0x4058d1eb851eb852              # double 99.280000000000001
	.quad	0x405f547ae147ae14              # double 125.31999999999999
	.quad	0x405753d70a3d70a4              # double 93.310000000000002
	.quad	0x406024cccccccccd              # double 129.15000000000001
	.quad	0x4050dc28f5c28f5c              # double 67.439999999999998
	.quad	0x405729999999999a              # double 92.650000000000005
	.quad	0x4047e7ae147ae148              # double 47.810000000000002
	.quad	0x4056ab851eb851ec              # double 90.680000000000007
	.quad	0x403b47ae147ae148              # double 27.280000000000001
	.quad	0x4049400000000000              # double 50.5
	.quad	0x4052933333333333              # double 74.299999999999997
	.quad	0x405819999999999a              # double 96.400000000000005
	.quad	0x4042ce147ae147ae              # double 37.609999999999999
	.quad	0x404935c28f5c28f6              # double 50.420000000000002
	.quad	0x4051ac28f5c28f5c              # double 70.689999999999998
	.quad	0x405a8eb851eb851f              # double 106.23
	.quad	0x40504d70a3d70a3d              # double 65.209999999999994
	.quad	0x405a6b851eb851ec              # double 105.68000000000001
	.quad	0x404dc147ae147ae1              # double 59.509999999999998
	.quad	0x4058166666666666              # double 96.349999999999994
	.quad	0x40556e147ae147ae              # double 85.719999999999999
	.quad	0x405f10a3d70a3d71              # double 124.26000000000001
	.quad	0x4051128f5c28f5c3              # double 68.290000000000006
	.quad	0x40568147ae147ae1              # double 90.019999999999996
	.quad	0x403a5c28f5c28f5c              # double 26.359999999999999
	.quad	0x4047d70a3d70a3d7              # double 47.68
	.quad	0x4053c147ae147ae1              # double 79.019999999999996
	.quad	0x405add70a3d70a3d              # double 107.45999999999999
	.quad	0x404ee8f5c28f5c29              # double 61.82
	.quad	0x4053c3d70a3d70a4              # double 79.060000000000002
	.quad	0x4028e147ae147ae1              # double 12.44
	.quad	0x40441ae147ae147b              # double 40.210000000000001
	.quad	0x4050dd70a3d70a3d              # double 67.459999999999994
	.quad	0x40575a3d70a3d70a              # double 93.409999999999996
	.quad	0x40529ccccccccccd              # double 74.450000000000002
	.quad	0x4057ec28f5c28f5c              # double 95.689999999999998
	.quad	0x404f31eb851eb852              # double 62.390000000000001
	.quad	0x40595b851eb851ec              # double 101.43000000000001
	.quad	0x404475c28f5c28f6              # double 40.920000000000002
	.quad	0x405311eb851eb852              # double 76.280000000000001
	.quad	0x4056f9999999999a              # double 91.900000000000005
	.quad	0x405f3b851eb851ec              # double 124.93000000000001
	.quad	0x4056370a3d70a3d7              # double 88.859999999999999
	.quad	0x405d2ae147ae147b              # double 116.67
	.quad	0x404c6ccccccccccd              # double 56.850000000000001
	.quad	0x40572ae147ae147b              # double 92.670000000000001
	.quad	0x405445c28f5c28f6              # double 81.090000000000003
	.quad	0x405bd70a3d70a3d7              # double 111.36
	.quad	0x404c0b851eb851ec              # double 56.090000000000003
	.quad	0x40536d70a3d70a3d              # double 77.709999999999993
	.quad	0x404443d70a3d70a4              # double 40.530000000000001
	.quad	0x404edae147ae147b              # double 61.710000000000001
	.quad	0x4050f70a3d70a3d7              # double 67.859999999999999
	.quad	0x40597a3d70a3d70a              # double 101.91
	.quad	0x404f99999999999a              # double 63.200000000000003
	.quad	0x4057a9999999999a              # double 94.650000000000005
	.quad	0x403f68f5c28f5c29              # double 31.41
	.quad	0x404f0e147ae147ae              # double 62.109999999999999
	.quad	0x4053e70a3d70a3d7              # double 79.609999999999999
	.quad	0x4059751eb851eb85              # double 101.83
	.quad	0x4040a8f5c28f5c29              # double 33.32
	.quad	0x405183d70a3d70a4              # double 70.060000000000002
	.quad	0x4056eb851eb851ec              # double 91.680000000000007
	.quad	0x405cb33333333333              # double 114.8
	.quad	0x405641eb851eb852              # double 89.030000000000001
	.quad	0x405ec8f5c28f5c29              # double 123.14
	.quad	0x40566c28f5c28f5c              # double 89.689999999999998
	.quad	0x4060f4cccccccccd              # double 135.65000000000001
	.quad	0x4042c7ae147ae148              # double 37.560000000000002
	.quad	0x404cca3d70a3d70a              # double 57.579999999999998
	.quad	0x405869999999999a              # double 97.650000000000005
	.quad	0x405f170a3d70a3d7              # double 124.36
	.quad	0x4055e00000000000              # double 87.5
	.quad	0x405e23d70a3d70a4              # double 120.56
	.quad	0x40379c28f5c28f5c              # double 23.609999999999999
	.quad	0x4045c7ae147ae148              # double 43.560000000000002
	.quad	0x404acb851eb851ec              # double 53.590000000000003
	.quad	0x40569851eb851eb8              # double 90.379999999999995
	.quad	0x402b5c28f5c28f5c              # double 13.68
	.quad	0x403b000000000000              # double 27
	.quad	0x40573147ae147ae1              # double 92.769999999999996
	.quad	0x4061cd70a3d70a3d              # double 142.41999999999999
	.quad	0x4053fe147ae147ae              # double 79.969999999999999
	.quad	0x4057d66666666666              # double 95.349999999999994
	.quad	0x4048a8f5c28f5c29              # double 49.32
	.quad	0x40517ccccccccccd              # double 69.950000000000003
	.quad	0x4020e66666666666              # double 8.4499999999999993
	.quad	0x403f547ae147ae14              # double 31.329999999999998
	.quad	0x404ca00000000000              # double 57.25
	.quad	0x4058f9999999999a              # double 99.900000000000005
	.quad	0x4055a70a3d70a3d7              # double 86.609999999999999
	.quad	0x4056d7ae147ae148              # double 91.370000000000005
	.quad	0x404aa51eb851eb85              # double 53.289999999999999
	.quad	0x405be3d70a3d70a4              # double 111.56
	.quad	0x405593d70a3d70a4              # double 86.310000000000002
	.quad	0x405f2c28f5c28f5c              # double 124.69
	.quad	0x4027c28f5c28f5c3              # double 11.880000000000001
	.quad	0x40424147ae147ae1              # double 36.509999999999998
	.quad	0x402247ae147ae148              # double 9.1400000000000005
	.quad	0x4034266666666666              # double 20.149999999999999
	.quad	0x4058e47ae147ae14              # double 99.569999999999993
	.quad	0x4063eb851eb851ec              # double 159.36000000000001
	.quad	0x40187ae147ae147b              # double 6.1200000000000001
	.quad	0x40419d70a3d70a3d              # double 35.229999999999997
	.quad	0x402528f5c28f5c29              # double 10.58
	.quad	0x403968f5c28f5c29              # double 25.41
	.quad	0x405197ae147ae148              # double 70.370000000000005
	.quad	0x40597d70a3d70a3d              # double 101.95999999999999
	.quad	0x404a3851eb851eb8              # double 52.439999999999998
	.quad	0x40524c28f5c28f5c              # double 73.189999999999998
	.quad	0x40125c28f5c28f5c              # double 4.5899999999999999
	.quad	0x40423d70a3d70a3d              # double 36.479999999999997
	.quad	0x4056fa3d70a3d70a              # double 91.909999999999996
	.quad	0x405dcc28f5c28f5c              # double 119.19
	.quad	0x4001ae147ae147ae              # double 2.21
	.quad	0x403a9c28f5c28f5c              # double 26.609999999999999
	.quad	0x4054933333333333              # double 82.299999999999997
	.quad	0x405baae147ae147b              # double 110.67
	.quad	0x405373d70a3d70a4              # double 77.810000000000002
	.quad	0x405cb851eb851eb8              # double 114.88
	.quad	0x40555b851eb851ec              # double 85.430000000000007
	.quad	0x405e3b851eb851ec              # double 120.93000000000001
	.quad	0x403f28f5c28f5c29              # double 31.16
	.quad	0x40471eb851eb851f              # double 46.240000000000002
	.quad	0x4051e66666666666              # double 71.599999999999994
	.quad	0x40586b851eb851ec              # double 97.680000000000007
	.quad	0x4049370a3d70a3d7              # double 50.43
	.quad	0x405845c28f5c28f6              # double 97.090000000000003
	.quad	0x40400a3d70a3d70a              # double 32.079999999999998
	.quad	0x404ac147ae147ae1              # double 53.509999999999998
	.quad	0x40542e147ae147ae              # double 80.719999999999999
	.quad	0x405e0b851eb851ec              # double 120.18000000000001
	.quad	0x402f947ae147ae14              # double 15.789999999999999
	.quad	0x4045b0a3d70a3d71              # double 43.380000000000003
	.quad	0x40565b851eb851ec              # double 89.430000000000007
	.quad	0x405e2a3d70a3d70a              # double 120.66
	.quad	0x4055a7ae147ae148              # double 86.620000000000005
	.quad	0x405f851eb851eb85              # double 126.08
	.quad	0x4051d9999999999a              # double 71.400000000000006
	.quad	0x405ab00000000000              # double 106.75
	.quad	0x40587d70a3d70a3d              # double 97.959999999999993
	.quad	0x40619ccccccccccd              # double 140.90000000000001
	.quad	0x4052251eb851eb85              # double 72.579999999999998
	.quad	0x405ce5c28f5c28f6              # double 115.59
	.quad	0x4055d9999999999a              # double 87.400000000000006
	.quad	0x405eb7ae147ae148              # double 122.87
	.quad	0x4031bae147ae147b              # double 17.73
	.quad	0x40398a3d70a3d70a              # double 25.539999999999999
	.quad	0x4056c0a3d70a3d71              # double 91.010000000000005
	.quad	0x405e20a3d70a3d71              # double 120.51000000000001
	.quad	0x405108f5c28f5c29              # double 68.140000000000001
	.quad	0x4059270a3d70a3d7              # double 100.61
	.quad	0x4047c7ae147ae148              # double 47.560000000000002
	.quad	0x40533eb851eb851f              # double 76.980000000000003
	.quad	0x3fc5c28f5c28f5c3              # double 0.17000000000000001
	.quad	0x403e2147ae147ae1              # double 30.129999999999999
	.quad	0x403199999999999a              # double 17.600000000000001
	.quad	0x4045accccccccccd              # double 43.350000000000001
	.quad	0x4046370a3d70a3d7              # double 44.43
	.quad	0x405125c28f5c28f6              # double 68.590000000000003
	.quad	0x403763d70a3d70a4              # double 23.390000000000001
	.quad	0x404d200000000000              # double 58.25
	.quad	0x404655c28f5c28f6              # double 44.670000000000002
	.quad	0x404f970a3d70a3d7              # double 63.18
	.quad	0x3ff7d70a3d70a3d7              # double 1.49
	.quad	0x401bf5c28f5c28f6              # double 6.9900000000000002
	.quad	0x4047c3d70a3d70a4              # double 47.530000000000001
	.quad	0x404ddd70a3d70a3d              # double 59.729999999999997
	.quad	0x40572e147ae147ae              # double 92.719999999999998
	.quad	0x4061651eb851eb85              # double 139.16
	.quad	0x4051c00000000000              # double 71
	.quad	0x405dea3d70a3d70a              # double 119.66
	.quad	0x4009d70a3d70a3d7              # double 3.23
	.quad	0x4039733333333333              # double 25.449999999999999
	.quad	0x4056bc28f5c28f5c              # double 90.939999999999998
	.quad	0x40602851eb851eb8              # double 129.25999999999999
	.quad	0x405527ae147ae148              # double 84.620000000000005
	.quad	0x405e5b851eb851ec              # double 121.43000000000001
	.quad	0x4038e8f5c28f5c29              # double 24.91
	.quad	0x4046deb851eb851f              # double 45.740000000000002
	.quad	0x40534ccccccccccd              # double 77.200000000000002
	.quad	0x4059fa3d70a3d70a              # double 103.91
	.quad	0x4041333333333333              # double 34.399999999999999
	.quad	0x40492b851eb851ec              # double 50.340000000000003
	.quad	0x4050447ae147ae14              # double 65.069999999999993
	.quad	0x405501eb851eb852              # double 84.030000000000001
	.quad	0x404efc28f5c28f5c              # double 61.969999999999999
	.quad	0x4056dd70a3d70a3d              # double 91.459999999999993
	.quad	0x4031000000000000              # double 17
	.quad	0x40486ccccccccccd              # double 48.850000000000001
	.quad	0x40563147ae147ae1              # double 88.769999999999996
	.quad	0x405d09999999999a              # double 116.15000000000001
	.quad	0x40274ccccccccccd              # double 11.65
	.quad	0x403dd70a3d70a3d7              # double 29.84
	.quad	0x403d9eb851eb851f              # double 29.620000000000001
	.quad	0x404ef1eb851eb852              # double 61.890000000000001
	.quad	0x40461851eb851eb8              # double 44.189999999999998
	.quad	0x40542ae147ae147b              # double 80.670000000000001
	.quad	0x4029fae147ae147b              # double 12.99
	.quad	0x404639999999999a              # double 44.450000000000003
	.quad	0x404d90a3d70a3d71              # double 59.130000000000003
	.quad	0x4056b8f5c28f5c29              # double 90.89
	.quad	0x405437ae147ae148              # double 80.870000000000005
	.quad	0x4059500000000000              # double 101.25
	.quad	0x3fe3d70a3d70a3d7              # double 0.62
	.quad	0x4048af5c28f5c28f              # double 49.369999999999997
	.quad	0x4057dccccccccccd              # double 95.450000000000002
	.quad	0x40607d70a3d70a3d              # double 131.91999999999999
	.quad	0x40357d70a3d70a3d              # double 21.489999999999998
	.quad	0x404ad0a3d70a3d71              # double 53.630000000000003
	.quad	0x40524c28f5c28f5c              # double 73.189999999999998
	.quad	0x405a2851eb851eb8              # double 104.63
	.quad	0x4047f851eb851eb8              # double 47.939999999999998
	.quad	0x4052eeb851eb851f              # double 75.730000000000003
	.quad	0x404ec28f5c28f5c3              # double 61.520000000000003
	.quad	0x40583b851eb851ec              # double 96.930000000000007
	.quad	0x4053647ae147ae14              # double 77.569999999999993
	.quad	0x405b81eb851eb852              # double 110.03
	.quad	0x404c733333333333              # double 56.899999999999999
	.quad	0x40551c28f5c28f5c              # double 84.439999999999998
	.quad	0x4051e851eb851eb8              # double 71.629999999999995
	.quad	0x405a9b851eb851ec              # double 106.43000000000001
	.quad	0x401d1eb851eb851f              # double 7.2800000000000002
	.quad	0x4044c66666666666              # double 41.549999999999997
	.quad	0x4018666666666666              # double 6.0999999999999996
	.quad	0x4034828f5c28f5c3              # double 20.510000000000002
	.quad	0x404bea3d70a3d70a              # double 55.829999999999998
	.quad	0x40563e147ae147ae              # double 88.969999999999999
	.quad	0x404faccccccccccd              # double 63.350000000000001
	.quad	0x4053d00000000000              # double 79.25
	.quad	0x4035666666666666              # double 21.399999999999999
	.quad	0x4040fc28f5c28f5c              # double 33.969999999999999
	.quad	0x404570a3d70a3d71              # double 42.880000000000003
	.quad	0x4053c00000000000              # double 79
	.quad	0x4058f1eb851eb852              # double 99.780000000000001
	.quad	0x406036147ae147ae              # double 129.69
	.quad	0x403cd9999999999a              # double 28.850000000000001
	.quad	0x4049eccccccccccd              # double 51.850000000000001
	.quad	0x403d2b851eb851ec              # double 29.170000000000002
	.quad	0x404c1851eb851eb8              # double 56.189999999999998
	.quad	0x40549d70a3d70a3d              # double 82.459999999999993
	.quad	0x405e2eb851eb851f              # double 120.73
	.quad	0x4043947ae147ae14              # double 39.159999999999997
	.quad	0x4052d147ae147ae1              # double 75.269999999999996
	.quad	0x40378ccccccccccd              # double 23.550000000000001
	.quad	0x404c5d70a3d70a3d              # double 56.729999999999997
	.quad	0x4056f147ae147ae1              # double 91.769999999999996
	.quad	0x4062e570a3d70a3d              # double 151.16999999999999
	.quad	0x4055b5c28f5c28f6              # double 86.840000000000003
	.quad	0x405923d70a3d70a4              # double 100.56
	.quad	0x4057c70a3d70a3d7              # double 95.109999999999999
	.quad	0x4060fae147ae147b              # double 135.84
	.quad	0x400e7ae147ae147b              # double 3.8100000000000001
	.quad	0x403d4ccccccccccd              # double 29.300000000000001
	.quad	0x4008147ae147ae14              # double 3.0099999999999998
	.quad	0x4023c28f5c28f5c3              # double 9.8800000000000007
	.quad	0x4056e70a3d70a3d7              # double 91.609999999999999
	.quad	0x406071999999999a              # double 131.55000000000001
	.quad	0x403411eb851eb852              # double 20.07
	.quad	0x40435ae147ae147b              # double 38.710000000000001
	.quad	0x4053a51eb851eb85              # double 78.579999999999998
	.quad	0x405a8b851eb851ec              # double 106.18000000000001
	.quad	0x4051ec28f5c28f5c              # double 71.689999999999998
	.quad	0x40554147ae147ae1              # double 85.019999999999996
	.quad	0x404d2b851eb851ec              # double 58.340000000000003
	.quad	0x4054528f5c28f5c3              # double 81.290000000000006
	.quad	0x4026570a3d70a3d7              # double 11.17
	.quad	0x40486e147ae147ae              # double 48.859999999999999
	.quad	0x4057066666666666              # double 92.099999999999994
	.quad	0x405ec66666666666              # double 123.09999999999999
	.quad	0x4040e51eb851eb85              # double 33.789999999999999
	.quad	0x404db70a3d70a3d7              # double 59.43
	.quad	0x4044f33333333333              # double 41.899999999999999
	.quad	0x4055566666666666              # double 85.349999999999994
	.quad	0x40415d70a3d70a3d              # double 34.729999999999997
	.quad	0x404c1d70a3d70a3d              # double 56.229999999999997
	.quad	0x402f0a3d70a3d70a              # double 15.52
	.quad	0x403d30a3d70a3d71              # double 29.190000000000001
	.quad	0x4025666666666666              # double 10.699999999999999
	.quad	0x40422e147ae147ae              # double 36.359999999999999
	.quad	0x4030a147ae147ae1              # double 16.629999999999999
	.quad	0x4046466666666666              # double 44.549999999999997
	.quad	0x405039999999999a              # double 64.900000000000006
	.quad	0x4057ac28f5c28f5c              # double 94.689999999999998
	.quad	0x404c333333333333              # double 56.399999999999999
	.quad	0x4052370a3d70a3d7              # double 72.859999999999999
	.quad	0x40580147ae147ae1              # double 96.019999999999996
	.quad	0x4060c47ae147ae14              # double 134.13999999999999
	.quad	0x405783d70a3d70a4              # double 94.060000000000002
	.quad	0x4060f51eb851eb85              # double 135.66
	.quad	0x40545c28f5c28f5c              # double 81.439999999999998
	.quad	0x405b8eb851eb851f              # double 110.23
	.quad	0x404ea3d70a3d70a4              # double 61.280000000000001
	.quad	0x4054accccccccccd              # double 82.700000000000002
	.quad	0x40558ae147ae147b              # double 86.170000000000001
	.quad	0x4060af0a3d70a3d7              # double 133.47
	.quad	0x4024851eb851eb85              # double 10.26
	.quad	0x40461c28f5c28f5c              # double 44.219999999999999
	.quad	0x4048628f5c28f5c3              # double 48.770000000000003
	.quad	0x4052e147ae147ae1              # double 75.519999999999996
	.quad	0x4055e33333333333              # double 87.549999999999997
	.quad	0x405d647ae147ae14              # double 117.56999999999999
	.quad	0x4058a66666666666              # double 98.599999999999994
	.quad	0x40608d70a3d70a3d              # double 132.41999999999999
	.quad	0x4054c9999999999a              # double 83.150000000000006
	.quad	0x405f151eb851eb85              # double 124.33
	.quad	0x40518b851eb851ec              # double 70.180000000000007
	.quad	0x4055451eb851eb85              # double 85.079999999999998
	.quad	0x4042d851eb851eb8              # double 37.689999999999998
	.quad	0x404a547ae147ae14              # double 52.659999999999997
	.quad	0x4051ac28f5c28f5c              # double 70.689999999999998
	.quad	0x405ae0a3d70a3d71              # double 107.51000000000001
	.quad	0x40372b851eb851ec              # double 23.170000000000002
	.quad	0x40446e147ae147ae              # double 40.859999999999999
	.quad	0x40263851eb851eb8              # double 11.109999999999999
	.quad	0x40409851eb851eb8              # double 33.189999999999998
	.quad	0x4004cccccccccccd              # double 2.6000000000000001
	.quad	0x40305eb851eb851f              # double 16.370000000000001
	.quad	0x40580147ae147ae1              # double 96.019999999999996
	.quad	0x405e80a3d70a3d71              # double 122.01000000000001
	.quad	0x404fa7ae147ae148              # double 63.310000000000002
	.quad	0x405689999999999a              # double 90.150000000000006
	.quad	0x404150a3d70a3d71              # double 34.630000000000003
	.quad	0x4050a3d70a3d70a4              # double 66.560000000000002
	.quad	0x404be8f5c28f5c29              # double 55.82
	.quad	0x4056b28f5c28f5c3              # double 90.790000000000006
	.quad	0x4039666666666666              # double 25.399999999999999
	.quad	0x40494ccccccccccd              # double 50.600000000000001
	.quad	0x401c3d70a3d70a3d              # double 7.0599999999999996
	.quad	0x4043228f5c28f5c3              # double 38.270000000000003
	.quad	0x40290f5c28f5c28f              # double 12.529999999999999
	.quad	0x40357ae147ae147b              # double 21.48
	.quad	0x4012a3d70a3d70a4              # double 4.6600000000000001
	.quad	0x402c28f5c28f5c29              # double 14.08
	.quad	0x402c23d70a3d70a4              # double 14.07
	.quad	0x40436a3d70a3d70a              # double 38.829999999999998
	.quad	0x40564147ae147ae1              # double 89.019999999999996
	.quad	0x405cdccccccccccd              # double 115.45
	.quad	0x404c600000000000              # double 56.75
	.quad	0x4053ad70a3d70a3d              # double 78.709999999999993
	.quad	0x4052d66666666666              # double 75.349999999999994
	.quad	0x40561d70a3d70a3d              # double 88.459999999999993
	.quad	0x40257ae147ae147b              # double 10.74
	.quad	0x4040333333333333              # double 32.399999999999999
	.quad	0x40483ae147ae147b              # double 48.460000000000001
	.quad	0x4053ac28f5c28f5c              # double 78.689999999999998
	.quad	0x404970a3d70a3d71              # double 50.880000000000003
	.quad	0x4056b66666666666              # double 90.849999999999994
	.quad	0x4035800000000000              # double 21.5
	.quad	0x404bfae147ae147b              # double 55.960000000000001
	.quad	0x40500b851eb851ec              # double 64.180000000000007
	.quad	0x405a800000000000              # double 106
	.quad	0x403dcccccccccccd              # double 29.800000000000001
	.quad	0x40494ccccccccccd              # double 50.600000000000001
	.quad	0x40421c28f5c28f5c              # double 36.219999999999999
	.quad	0x404b5851eb851eb8              # double 54.689999999999998
	.quad	0x403f8a3d70a3d70a              # double 31.539999999999999
	.quad	0x4047533333333333              # double 46.649999999999999
	.quad	0x404608f5c28f5c29              # double 44.07
	.quad	0x404a170a3d70a3d7              # double 52.18
	.quad	0x405300a3d70a3d71              # double 76.010000000000005
	.quad	0x4055e851eb851eb8              # double 87.629999999999995
	.quad	0x4053d9999999999a              # double 79.400000000000006
	.quad	0x405799999999999a              # double 94.400000000000005
	.quad	0x4058a47ae147ae14              # double 98.569999999999993
	.quad	0x4060e3851eb851ec              # double 135.11000000000001
	.quad	0x4052700000000000              # double 73.75
	.quad	0x4055aeb851eb851f              # double 86.730000000000003
	.quad	0x404067ae147ae148              # double 32.810000000000002
	.quad	0x404e23d70a3d70a4              # double 60.280000000000001
	.quad	0x4057b51eb851eb85              # double 94.829999999999998
	.quad	0x405ff147ae147ae1              # double 127.77
	.quad	0x404dee147ae147ae              # double 59.859999999999999
	.quad	0x40591c28f5c28f5c              # double 100.44
	.quad	0x4056cae147ae147b              # double 91.170000000000001
	.quad	0x405ca0a3d70a3d71              # double 114.51000000000001
	.quad	0x4028e66666666666              # double 12.449999999999999
	.quad	0x404203d70a3d70a4              # double 36.030000000000001
	.quad	0x405807ae147ae148              # double 96.120000000000005
	.quad	0x405e151eb851eb85              # double 120.33
	.quad	0x4052d851eb851eb8              # double 75.379999999999995
	.quad	0x405c151eb851eb85              # double 112.33
	.quad	0x40580d70a3d70a3d              # double 96.209999999999993
	.quad	0x4060133333333333              # double 128.59999999999999
	.quad	0x403b47ae147ae148              # double 27.280000000000001
	.quad	0x4045d33333333333              # double 43.649999999999999
	.quad	0x4043eb851eb851ec              # double 39.840000000000003
	.quad	0x4053cd70a3d70a3d              # double 79.209999999999993
	.quad	0x404535c28f5c28f6              # double 42.420000000000002
	.quad	0x404ef70a3d70a3d7              # double 61.93
	.quad	0x40091eb851eb851f              # double 3.1400000000000001
	.quad	0x40325c28f5c28f5c              # double 18.359999999999999
	.quad	0x40565f5c28f5c28f              # double 89.489999999999994
	.quad	0x4060d1eb851eb852              # double 134.56
	.quad	0x40219eb851eb851f              # double 8.8100000000000005
	.quad	0x403775c28f5c28f6              # double 23.460000000000001
	.quad	0x40568b851eb851ec              # double 90.180000000000007
	.quad	0x405de7ae147ae148              # double 119.62
	.quad	0x4034028f5c28f5c3              # double 20.010000000000002
	.quad	0x404b4147ae147ae1              # double 54.509999999999998
	.quad	0x402deb851eb851ec              # double 14.960000000000001
	.quad	0x40454ccccccccccd              # double 42.600000000000001
	.quad	0x40526a3d70a3d70a              # double 73.659999999999997
	.quad	0x405b2d70a3d70a3d              # double 108.70999999999999
	.quad	0x4053d8f5c28f5c29              # double 79.39
	.quad	0x405a4ccccccccccd              # double 105.2
	.quad	0x404a91eb851eb852              # double 53.140000000000001
	.quad	0x4056647ae147ae14              # double 89.569999999999993
	.quad	0x4055d7ae147ae148              # double 87.370000000000005
	.quad	0x4059d851eb851eb8              # double 103.38
	.quad	0x4052eccccccccccd              # double 75.700000000000002
	.quad	0x405f051eb851eb85              # double 124.08
	.quad	0x4036e3d70a3d70a4              # double 22.890000000000001
	.quad	0x40475eb851eb851f              # double 46.740000000000002
	.quad	0x404023d70a3d70a4              # double 32.280000000000001
	.quad	0x4052ff5c28f5c28f              # double 75.989999999999994
	.quad	0x404a39999999999a              # double 52.450000000000003
	.quad	0x4052447ae147ae14              # double 73.069999999999993
	.quad	0x4022947ae147ae14              # double 9.2899999999999991
	.quad	0x4040f9999999999a              # double 33.950000000000003
	.quad	0x4052c3d70a3d70a4              # double 75.060000000000002
	.quad	0x4057a5c28f5c28f6              # double 94.590000000000003
	.quad	0x404d15c28f5c28f6              # double 58.170000000000002
	.quad	0x4057ea3d70a3d70a              # double 95.659999999999996
	.quad	0x404707ae147ae148              # double 46.060000000000002
	.quad	0x404f028f5c28f5c3              # double 62.020000000000003
	.quad	0x40531f5c28f5c28f              # double 76.489999999999994
	.quad	0x405a4c28f5c28f5c              # double 105.19
	.quad	0x4031d9999999999a              # double 17.850000000000001
	.quad	0x404a47ae147ae148              # double 52.560000000000002
	.quad	0x40515147ae147ae1              # double 69.269999999999996
	.quad	0x405ad9999999999a              # double 107.40000000000001
	.quad	0x403b000000000000              # double 27
	.quad	0x4040370a3d70a3d7              # double 32.43
	.quad	0x404fc66666666666              # double 63.549999999999997
	.quad	0x4057c1eb851eb852              # double 95.030000000000001
	.quad	0x404b1851eb851eb8              # double 54.189999999999998
	.quad	0x405c1eb851eb851f              # double 112.48
	.quad	0x3ffc51eb851eb852              # double 1.77
	.quad	0xbfed1eb851eb851f              # double -0.91000000000000003
	.quad	0x4056c8f5c28f5c29              # double 91.14
	.quad	0x40607ccccccccccd              # double 131.90000000000001
	.quad	0x4048b0a3d70a3d71              # double 49.380000000000003
	.quad	0x40537147ae147ae1              # double 77.769999999999996
	.quad	0x404cd1eb851eb852              # double 57.640000000000001
	.quad	0x4055f51eb851eb85              # double 87.829999999999998
	.quad	0x404deb851eb851ec              # double 59.840000000000003
	.quad	0x4059266666666666              # double 100.59999999999999
	.quad	0x3ff2b851eb851eb8              # double 1.1699999999999999
	.quad	0x4034cf5c28f5c28f              # double 20.809999999999999
	.quad	0x4051a66666666666              # double 70.599999999999994
	.quad	0x405c151eb851eb85              # double 112.33
	.quad	0x403aca3d70a3d70a              # double 26.789999999999999
	.quad	0x40476147ae147ae1              # double 46.759999999999998
	.quad	0x4052fb851eb851ec              # double 75.930000000000007
	.quad	0x4059d00000000000              # double 103.25
	.quad	0x404aa3d70a3d70a4              # double 53.280000000000001
	.quad	0x4058a1eb851eb852              # double 98.530000000000001
	.quad	0x404a3851eb851eb8              # double 52.439999999999998
	.quad	0x4052470a3d70a3d7              # double 73.109999999999999
	.quad	0x405498f5c28f5c29              # double 82.39
	.quad	0x405bfa3d70a3d70a              # double 111.91
	.quad	0x40553ccccccccccd              # double 84.950000000000002
	.quad	0x405c6e147ae147ae              # double 113.72
	.quad	0x4052c00000000000              # double 75
	.quad	0x405c9147ae147ae1              # double 114.27
	.quad	0x404cc7ae147ae148              # double 57.560000000000002
	.quad	0x405511eb851eb852              # double 84.280000000000001
	.quad	0x404959999999999a              # double 50.700000000000003
	.quad	0x4050eb851eb851ec              # double 67.680000000000007
	.quad	0x403a5c28f5c28f5c              # double 26.359999999999999
	.quad	0x405170a3d70a3d71              # double 69.760000000000005
	.quad	0x4044f0a3d70a3d71              # double 41.880000000000003
	.quad	0x4052028f5c28f5c3              # double 72.040000000000006
	.quad	0x400251eb851eb852              # double 2.29
	.quad	0x40218f5c28f5c28f              # double 8.7799999999999994
	.quad	0x403d547ae147ae14              # double 29.329999999999998
	.quad	0x4051570a3d70a3d7              # double 69.359999999999999
	.quad	0x3fd8f5c28f5c28f6              # double 0.39000000000000001
	.quad	0x4022800000000000              # double 9.25
	.quad	0x404368f5c28f5c29              # double 38.82
	.quad	0x404ac3d70a3d70a4              # double 53.530000000000001
	.quad	0x4041b1eb851eb852              # double 35.390000000000001
	.quad	0x404fd5c28f5c28f6              # double 63.670000000000002
	.quad	0x40125c28f5c28f5c              # double 4.5899999999999999
	.quad	0x40436f5c28f5c28f              # double 38.869999999999997
	.quad	0x401cd70a3d70a3d7              # double 7.21
	.quad	0x4041200000000000              # double 34.25
	.quad	0x4032f5c28f5c28f6              # double 18.960000000000001
	.quad	0x4043b5c28f5c28f6              # double 39.420000000000002
	.quad	0x403ed70a3d70a3d7              # double 30.84
	.quad	0x404e35c28f5c28f6              # double 60.420000000000002
	.quad	0x4051847ae147ae14              # double 70.069999999999993
	.quad	0x4058cb851eb851ec              # double 99.180000000000007
	.quad	0x40586eb851eb851f              # double 97.730000000000003
	.quad	0x4061fe147ae147ae              # double 143.94
	.quad	0x405055c28f5c28f6              # double 65.340000000000003
	.quad	0x4058566666666666              # double 97.349999999999994
	.quad	0x40575c28f5c28f5c              # double 93.439999999999998
	.quad	0x405f6851eb851eb8              # double 125.63
	.quad	0x4050a9999999999a              # double 66.650000000000006
	.quad	0x4059370a3d70a3d7              # double 100.86
	.quad	0x4043cf5c28f5c28f              # double 39.619999999999997
	.quad	0x405141eb851eb852              # double 69.030000000000001
	.quad	0x403a428f5c28f5c3              # double 26.260000000000002
	.quad	0x4046c51eb851eb85              # double 45.539999999999999
	.quad	0x4052da3d70a3d70a              # double 75.409999999999997
	.quad	0x405d7147ae147ae1              # double 117.77
	.quad	0x4050b3d70a3d70a4              # double 66.810000000000002
	.quad	0x405565c28f5c28f6              # double 85.590000000000003
	.quad	0x4032e147ae147ae1              # double 18.879999999999999
	.quad	0x4043deb851eb851f              # double 39.740000000000002
	.quad	0x403999999999999a              # double 25.600000000000001
	.quad	0x404ceccccccccccd              # double 57.850000000000001
	.quad	0x40566d70a3d70a3d              # double 89.709999999999993
	.quad	0x406016b851eb851f              # double 128.71000000000001
	.quad	0x4039bae147ae147b              # double 25.73
	.quad	0x404b200000000000              # double 54.25
	.quad	0x4019ae147ae147ae              # double 6.4199999999999999
	.quad	0x4041ea3d70a3d70a              # double 35.829999999999998
	.quad	0x404b2b851eb851ec              # double 54.340000000000003
	.quad	0x4056a8f5c28f5c29              # double 90.64
	.quad	0x403eeb851eb851ec              # double 30.920000000000002
	.quad	0x404a400000000000              # double 52.5
	.quad	0x4053fae147ae147b              # double 79.920000000000001
	.quad	0x405b4ae147ae147b              # double 109.17
	.quad	0x4042851eb851eb85              # double 37.039999999999999
	.quad	0x40481851eb851eb8              # double 48.189999999999998
	.quad	0x40568851eb851eb8              # double 90.129999999999995
	.quad	0x405a628f5c28f5c3              # double 105.54000000000001
	.quad	0x3ffdc28f5c28f5c3              # double 1.8600000000000001
	.quad	0x402f0f5c28f5c28f              # double 15.529999999999999
	.quad	0x4055133333333333              # double 84.299999999999997
	.quad	0x405f90a3d70a3d71              # double 126.26000000000001
	.quad	0x4047c66666666666              # double 47.549999999999997
	.quad	0x40563147ae147ae1              # double 88.769999999999996
	.quad	0x40584c28f5c28f5c              # double 97.189999999999998
	.quad	0x40601e147ae147ae              # double 128.94
	.quad	0x405211eb851eb852              # double 72.280000000000001
	.quad	0x4059533333333333              # double 101.3
	.quad	0x402f8a3d70a3d70a              # double 15.77
	.quad	0x40478a3d70a3d70a              # double 47.079999999999998
	.quad	0x4052f51eb851eb85              # double 75.829999999999998
	.quad	0x405b23d70a3d70a4              # double 108.56
	.quad	0x404e3eb851eb851f              # double 60.490000000000002
	.quad	0x405a800000000000              # double 106
	.quad	0x40495c28f5c28f5c              # double 50.719999999999999
	.quad	0x4056e8f5c28f5c29              # double 91.64
	.quad	0x40315c28f5c28f5c              # double 17.359999999999999
	.quad	0x40422e147ae147ae              # double 36.359999999999999
	.quad	0x40366147ae147ae1              # double 22.379999999999999
	.quad	0x4050447ae147ae14              # double 65.069999999999993
	.quad	0x4046dae147ae147b              # double 45.710000000000001
	.quad	0x4052400000000000              # double 73
	.quad	0x4032f5c28f5c28f6              # double 18.960000000000001
	.quad	0x404310a3d70a3d71              # double 38.130000000000003
	.quad	0x404dcf5c28f5c28f              # double 59.619999999999997
	.quad	0x4057ca3d70a3d70a              # double 95.159999999999996
	.quad	0x400cf5c28f5c28f6              # double 3.6200000000000001
	.quad	0x4022147ae147ae14              # double 9.0399999999999991
	.quad	0x402cc7ae147ae148              # double 14.390000000000001
	.quad	0x40477ae147ae147b              # double 46.960000000000001
	.quad	0x403d1c28f5c28f5c              # double 29.109999999999999
	.quad	0x40490a3d70a3d70a              # double 50.079999999999998
	.quad	0x401851eb851eb852              # double 6.0800000000000001
	.quad	0x404411eb851eb852              # double 40.140000000000001
	.quad	0x4051d9999999999a              # double 71.400000000000006
	.quad	0x40569ae147ae147b              # double 90.420000000000001
	.quad	0x405759999999999a              # double 93.400000000000005
	.quad	0x405e700000000000              # double 121.75
	.quad	0x40540b851eb851ec              # double 80.180000000000007
	.quad	0x405e95c28f5c28f6              # double 122.34
	.quad	0x4044ca3d70a3d70a              # double 41.579999999999998
	.quad	0x4051870a3d70a3d7              # double 70.109999999999999
	.quad	0x403e30a3d70a3d71              # double 30.190000000000001
	.quad	0x404f6f5c28f5c28f              # double 62.869999999999997
	.quad	0x402f28f5c28f5c29              # double 15.58
	.quad	0x4043d33333333333              # double 39.649999999999999
	.quad	0x400051eb851eb852              # double 2.04
	.quad	0x404119999999999a              # double 34.200000000000003
	.quad	0x402a99999999999a              # double 13.300000000000001
	.quad	0x403be8f5c28f5c29              # double 27.91
	.quad	0x401799999999999a              # double 5.9000000000000004
	.quad	0x404335c28f5c28f6              # double 38.420000000000002
	.quad	0x4055bae147ae147b              # double 86.920000000000001
	.quad	0x4058c0a3d70a3d71              # double 99.010000000000005
	.quad	0x40438e147ae147ae              # double 39.109999999999999
	.quad	0x4052f5c28f5c28f6              # double 75.840000000000003
	.quad	0x404a7c28f5c28f5c              # double 52.969999999999999
	.quad	0x4057bf5c28f5c28f              # double 94.989999999999994
	.quad	0x403d7d70a3d70a3d              # double 29.489999999999998
	.quad	0x404b2b851eb851ec              # double 54.340000000000003
	.quad	0x405719999999999a              # double 92.400000000000005
	.quad	0x4061b33333333333              # double 141.59999999999999
	.quad	0x4057d00000000000              # double 95.25
	.quad	0x405d7147ae147ae1              # double 117.77
	.quad	0x4056751eb851eb85              # double 89.829999999999998
	.quad	0x405d8ccccccccccd              # double 118.2
	.quad	0x4031ee147ae147ae              # double 17.93
	.quad	0x40403851eb851eb8              # double 32.439999999999998
	.quad	0x4050e0a3d70a3d71              # double 67.510000000000005
	.quad	0x405b2b851eb851ec              # double 108.68000000000001
	.quad	0x4051f28f5c28f5c3              # double 71.790000000000006
	.quad	0x405735c28f5c28f6              # double 92.840000000000003
	.quad	0x403af5c28f5c28f6              # double 26.960000000000001
	.quad	0x403e63d70a3d70a4              # double 30.390000000000001
	.quad	0x4057e51eb851eb85              # double 95.579999999999998
	.quad	0x40613c7ae147ae14              # double 137.88999999999999
	.quad	0x4042b47ae147ae14              # double 37.409999999999997
	.quad	0x4052f7ae147ae148              # double 75.870000000000005
	.quad	0x403cc51eb851eb85              # double 28.77
	.quad	0x404ac7ae147ae148              # double 53.560000000000002
	.quad	0x403f828f5c28f5c3              # double 31.510000000000002
	.quad	0x404e5ae147ae147b              # double 60.710000000000001
	.quad	0x40564147ae147ae1              # double 89.019999999999996
	.quad	0x4059fae147ae147b              # double 103.92
	.quad	0x401a47ae147ae148              # double 6.5700000000000003
	.quad	0x4038d47ae147ae14              # double 24.829999999999998
	.quad	0x4047533333333333              # double 46.649999999999999
	.quad	0x404e066666666666              # double 60.049999999999997
	.quad	0x4055e70a3d70a3d7              # double 87.609999999999999
	.quad	0x4060b51eb851eb85              # double 133.66
	.quad	0x404bb70a3d70a3d7              # double 55.43
	.quad	0x4056f147ae147ae1              # double 91.769999999999996
	.quad	0x4058e70a3d70a3d7              # double 99.609999999999999
	.quad	0x405c828f5c28f5c3              # double 114.04000000000001
	.quad	0x402128f5c28f5c29              # double 8.5800000000000001
	.quad	0x403847ae147ae148              # double 24.280000000000001
	.quad	0x405228f5c28f5c29              # double 72.640000000000001
	.quad	0x40576c28f5c28f5c              # double 93.689999999999998
	.quad	0x40503eb851eb851f              # double 64.980000000000004
	.quad	0x405528f5c28f5c29              # double 84.64
	.quad	0x403ac7ae147ae148              # double 26.780000000000001
	.quad	0x404f6147ae147ae1              # double 62.759999999999998
	.quad	0x4048266666666666              # double 48.299999999999997
	.quad	0x4056447ae147ae14              # double 89.069999999999993
	.quad	0x404739999999999a              # double 46.450000000000003
	.quad	0x4054d147ae147ae1              # double 83.269999999999996
	.quad	0x4050433333333333              # double 65.049999999999997
	.quad	0x4055a7ae147ae148              # double 86.620000000000005
	.quad	0x4055eccccccccccd              # double 87.700000000000002
	.quad	0x405a266666666666              # double 104.59999999999999
	.quad	0x404a466666666666              # double 52.549999999999997
	.quad	0x4052c33333333333              # double 75.049999999999997
	.quad	0x40579851eb851eb8              # double 94.379999999999995
	.quad	0x405f88f5c28f5c29              # double 126.14
	.quad	0x4048d5c28f5c28f6              # double 49.670000000000002
	.quad	0x404e3ae147ae147b              # double 60.460000000000001
	.quad	0x4053e66666666666              # double 79.599999999999994
	.quad	0x405d58f5c28f5c29              # double 117.39
	.quad	0x40553a3d70a3d70a              # double 84.909999999999997
	.quad	0x405b900000000000              # double 110.25
	.quad	0x40523851eb851eb8              # double 72.879999999999995
	.quad	0x40580d70a3d70a3d              # double 96.209999999999993
	.quad	0x4038333333333333              # double 24.199999999999999
	.quad	0x40494b851eb851ec              # double 50.590000000000003
	.quad	0x4054947ae147ae14              # double 82.319999999999993
	.quad	0x4059b3d70a3d70a4              # double 102.81
	.quad	0x4041a8f5c28f5c29              # double 35.32
	.quad	0x4049a66666666666              # double 51.299999999999997
	.quad	0x404fe66666666666              # double 63.799999999999997
	.quad	0x4054f70a3d70a3d7              # double 83.859999999999999
	.quad	0x40569f5c28f5c28f              # double 90.489999999999994
	.quad	0x405c27ae147ae148              # double 112.62
	.quad	0x4051866666666666              # double 70.099999999999994
	.quad	0x405d15c28f5c28f6              # double 116.34
	.quad	0x4044170a3d70a3d7              # double 40.18
	.quad	0x4050beb851eb851f              # double 66.980000000000004
	.quad	0x40563b851eb851ec              # double 88.930000000000007
	.quad	0x4060fae147ae147b              # double 135.84
	.quad	0x4048ee147ae147ae              # double 49.859999999999999
	.quad	0x405827ae147ae148              # double 96.620000000000005
	.quad	0x4018c28f5c28f5c3              # double 6.1900000000000004
	.quad	0x40419851eb851eb8              # double 35.189999999999998
	.quad	0x40578851eb851eb8              # double 94.129999999999995
	.quad	0x405b8147ae147ae1              # double 110.02
	.quad	0x40572eb851eb851f              # double 92.730000000000003
	.quad	0x405fe1eb851eb852              # double 127.53
	.quad	0x403db5c28f5c28f6              # double 29.710000000000001
	.quad	0x404a3d70a3d70a3d              # double 52.479999999999997
	.quad	0x403cfd70a3d70a3d              # double 28.989999999999998
	.quad	0x40429d70a3d70a3d              # double 37.229999999999997
	.quad	0x4055651eb851eb85              # double 85.579999999999998
	.quad	0x405d05c28f5c28f6              # double 116.09
	.quad	0x4058600000000000              # double 97.5
	.quad	0x4061b147ae147ae1              # double 141.53999999999999
	.quad	0x3ff2147ae147ae14              # double 1.1299999999999999
	.quad	0x403a3851eb851eb8              # double 26.219999999999999
	.quad	0x4057cd70a3d70a3d              # double 95.209999999999993
	.quad	0x405d728f5c28f5c3              # double 117.79000000000001
	.quad	0x4041d70a3d70a3d7              # double 35.68
	.quad	0x40503f5c28f5c28f              # double 64.989999999999995
	.quad	0x4056b1eb851eb852              # double 90.780000000000001
	.quad	0x405ee5c28f5c28f6              # double 123.59
	.quad	0x404423d70a3d70a4              # double 40.280000000000001
	.quad	0x4054d5c28f5c28f6              # double 83.340000000000003
	.quad	0x405761eb851eb852              # double 93.530000000000001
	.quad	0x405e266666666666              # double 120.59999999999999
	.quad	0x4058ca3d70a3d70a              # double 99.159999999999996
	.quad	0x40604d1eb851eb85              # double 130.41
	.quad	0x40516d70a3d70a3d              # double 69.709999999999994
	.quad	0x4059f9999999999a              # double 103.90000000000001
	.quad	0x404f71eb851eb852              # double 62.890000000000001
	.quad	0x4052ceb851eb851f              # double 75.230000000000003
	.quad	0x4057d66666666666              # double 95.349999999999994
	.quad	0x4063ab851eb851ec              # double 157.36000000000001
	.quad	0x403cc28f5c28f5c3              # double 28.760000000000002
	.quad	0x404ab70a3d70a3d7              # double 53.43
	.quad	0x40323ae147ae147b              # double 18.23
	.quad	0x4042a00000000000              # double 37.25
	.quad	0x404223d70a3d70a4              # double 36.280000000000001
	.quad	0x4051db851eb851ec              # double 71.430000000000007
	.quad	0x404311eb851eb852              # double 38.140000000000001
	.quad	0x404eaccccccccccd              # double 61.350000000000001
	.quad	0x4041466666666666              # double 34.549999999999997
	.quad	0x404eaccccccccccd              # double 61.350000000000001
	.quad	0x403c28f5c28f5c29              # double 28.16
	.quad	0x404388f5c28f5c29              # double 39.07
	.quad	0x40529ae147ae147b              # double 74.420000000000001
	.quad	0x4056a851eb851eb8              # double 90.629999999999995
	.quad	0x4043c51eb851eb85              # double 39.539999999999999
	.quad	0x40517147ae147ae1              # double 69.769999999999996
	.quad	0x4054747ae147ae14              # double 81.819999999999993
	.quad	0x405d928f5c28f5c3              # double 118.29000000000001
	.quad	0x404210a3d70a3d71              # double 36.130000000000003
	.quad	0x404d3851eb851eb8              # double 58.439999999999998
	.quad	0x4055e147ae147ae1              # double 87.519999999999996
	.quad	0x405f71eb851eb852              # double 125.78
	.quad	0x404d95c28f5c28f6              # double 59.170000000000002
	.quad	0x4057cd70a3d70a3d              # double 95.209999999999993
	.quad	0x3ff2e147ae147ae1              # double 1.1799999999999999
	.quad	0x40348a3d70a3d70a              # double 20.539999999999999
	.quad	0x403ce66666666666              # double 28.899999999999999
	.quad	0x405165c28f5c28f6              # double 69.590000000000003
	.quad	0x40519c28f5c28f5c              # double 70.439999999999998
	.quad	0x405a8a3d70a3d70a              # double 106.16
	.quad	0x4030451eb851eb85              # double 16.27
	.quad	0x404143d70a3d70a4              # double 34.530000000000001
	.quad	0x403923d70a3d70a4              # double 25.140000000000001
	.quad	0x404b4e147ae147ae              # double 54.609999999999999
	.quad	0x403a400000000000              # double 26.25
	.quad	0x4047600000000000              # double 46.75
	.quad	0x40222e147ae147ae              # double 9.0899999999999999
	.quad	0x40431851eb851eb8              # double 38.189999999999998
	.quad	0x4047533333333333              # double 46.649999999999999
	.quad	0x40516851eb851eb8              # double 69.629999999999995
	.quad	0x4039d47ae147ae14              # double 25.829999999999998
	.quad	0x4045600000000000              # double 42.75
	.quad	0x4055b70a3d70a3d7              # double 86.859999999999999
	.quad	0x4061266666666666              # double 137.19999999999999
	.quad	0x4042ab851eb851ec              # double 37.340000000000003
	.quad	0x405437ae147ae148              # double 80.870000000000005
	.quad	0x40533a3d70a3d70a              # double 76.909999999999997
	.quad	0x405b466666666666              # double 109.09999999999999
	.quad	0x405055c28f5c28f6              # double 65.340000000000003
	.quad	0x4058f70a3d70a3d7              # double 99.859999999999999
	.quad	0x404b70a3d70a3d71              # double 54.880000000000003
	.quad	0x4052966666666666              # double 74.349999999999994
	.quad	0x403228f5c28f5c29              # double 18.16
	.quad	0x40460e147ae147ae              # double 44.109999999999999
	.quad	0x4049ee147ae147ae              # double 51.859999999999999
	.quad	0x405348f5c28f5c29              # double 77.14
	.quad	0x4043a147ae147ae1              # double 39.259999999999998
	.quad	0x40540e147ae147ae              # double 80.219999999999999
	.quad	0x4023eb851eb851ec              # double 9.9600000000000008
	.quad	0x4037733333333333              # double 23.449999999999999
	.quad	0x403d2b851eb851ec              # double 29.170000000000002
	.quad	0x404aa66666666666              # double 53.299999999999997
	.quad	0x4047c3d70a3d70a4              # double 47.530000000000001
	.quad	0x405143d70a3d70a4              # double 69.060000000000002
	.quad	0x404b0b851eb851ec              # double 54.090000000000003
	.quad	0x4054f1eb851eb852              # double 83.780000000000001
	.quad	0x4058c0a3d70a3d71              # double 99.010000000000005
	.quad	0x405abe147ae147ae              # double 106.97
	.quad	0x4052ef5c28f5c28f              # double 75.739999999999994
	.quad	0x40595e147ae147ae              # double 101.47
	.quad	0x4056cccccccccccd              # double 91.200000000000002
	.quad	0x406043d70a3d70a4              # double 130.12
	.quad	0x402ae66666666666              # double 13.449999999999999
	.quad	0x4043c28f5c28f5c3              # double 39.520000000000003
	.quad	0x404690a3d70a3d71              # double 45.130000000000003
	.quad	0x40525d70a3d70a3d              # double 73.459999999999993
	.quad	0x40414b851eb851ec              # double 34.590000000000003
	.quad	0x4050ba3d70a3d70a              # double 66.909999999999997
	.quad	0x40556147ae147ae1              # double 85.519999999999996
	.quad	0x405b2f5c28f5c28f              # double 108.73999999999999
	.quad	0x4052a3d70a3d70a4              # double 74.560000000000002
	.quad	0x4054d00000000000              # double 83.25
	.quad	0x4006b851eb851eb8              # double 2.8399999999999999
	.quad	0x40359c28f5c28f5c              # double 21.609999999999999
	.quad	0x40439851eb851eb8              # double 39.189999999999998
	.quad	0x4053feb851eb851f              # double 79.980000000000003
	.quad	0x4058e66666666666              # double 99.599999999999994
	.quad	0x40610a8f5c28f5c3              # double 136.33000000000001
	.quad	0x405028f5c28f5c29              # double 64.640000000000001
	.quad	0x40577b851eb851ec              # double 93.930000000000007
	.quad	0x405459999999999a              # double 81.400000000000006
	.quad	0x405c39999999999a              # double 112.90000000000001
	.quad	0x40543f5c28f5c28f              # double 80.989999999999994
	.quad	0x405bef5c28f5c28f              # double 111.73999999999999
	.quad	0x403b1eb851eb851f              # double 27.120000000000001
	.quad	0x404e5c28f5c28f5c              # double 60.719999999999999
	.quad	0x4056370a3d70a3d7              # double 88.859999999999999
	.quad	0x40603fae147ae148              # double 129.99000000000001
	.quad	0x4052300000000000              # double 72.75
	.quad	0x405acf5c28f5c28f              # double 107.23999999999999
	.quad	0x402075c28f5c28f6              # double 8.2300000000000004
	.quad	0x40405eb851eb851f              # double 32.740000000000002
	.quad	0x403a8a3d70a3d70a              # double 26.539999999999999
	.quad	0x405211eb851eb852              # double 72.280000000000001
	.quad	0x404430a3d70a3d71              # double 40.380000000000003
	.quad	0x4051f8f5c28f5c29              # double 71.890000000000001
	.quad	0x4039c7ae147ae148              # double 25.780000000000001
	.quad	0x404bf851eb851eb8              # double 55.939999999999998
	.quad	0x403d99999999999a              # double 29.600000000000001
	.quad	0x404671eb851eb852              # double 44.890000000000001
	.quad	0x4058200000000000              # double 96.5
	.quad	0x405f947ae147ae14              # double 126.31999999999999
	.quad	0x405260a3d70a3d71              # double 73.510000000000005
	.quad	0x405589999999999a              # double 86.150000000000006
	.quad	0x404bb851eb851eb8              # double 55.439999999999998
	.quad	0x4051eae147ae147b              # double 71.670000000000002
	.quad	0x4056033333333333              # double 88.049999999999997
	.quad	0x405e1b851eb851ec              # double 120.43000000000001
	.quad	0x40588eb851eb851f              # double 98.230000000000003
	.quad	0x405f37ae147ae148              # double 124.87
	.quad	0x4054c8f5c28f5c29              # double 83.14
	.quad	0x405e39999999999a              # double 120.90000000000001
	.quad	0x4029e147ae147ae1              # double 12.94
	.quad	0x4044266666666666              # double 40.299999999999997
	.quad	0x4008e147ae147ae1              # double 3.1099999999999999
	.quad	0x40378f5c28f5c28f              # double 23.559999999999999
	.quad	0x4017000000000000              # double 5.75
	.quad	0x403a7851eb851eb8              # double 26.469999999999999
	.quad	0x400ce147ae147ae1              # double 3.6099999999999999
	.quad	0x402ca3d70a3d70a4              # double 14.32
	.quad	0x4045f0a3d70a3d71              # double 43.880000000000003
	.quad	0x404cea3d70a3d70a              # double 57.829999999999998
	.quad	0x4050c28f5c28f5c3              # double 67.040000000000006
	.quad	0x4058fe147ae147ae              # double 99.969999999999998
	.quad	0x4042b9999999999a              # double 37.450000000000003
	.quad	0x4052fa3d70a3d70a              # double 75.909999999999997
	.quad	0x40223851eb851eb8              # double 9.1099999999999994
	.quad	0x403d9eb851eb851f              # double 29.620000000000001
	.quad	0x404e1d70a3d70a3d              # double 60.229999999999997
	.quad	0x40578ccccccccccd              # double 94.200000000000002
	.quad	0x4051d147ae147ae1              # double 71.269999999999996
	.quad	0x405e59999999999a              # double 121.40000000000001
	.quad	0x402b0a3d70a3d70a              # double 13.52
	.quad	0x403c666666666666              # double 28.399999999999999
	.quad	0x40547f5c28f5c28f              # double 81.989999999999994
	.quad	0x405fbccccccccccd              # double 126.95
	.quad	0x40534f5c28f5c28f              # double 77.239999999999994
	.quad	0x405aaccccccccccd              # double 106.7
	.quad	0x405330a3d70a3d71              # double 76.760000000000005
	.quad	0x405e3eb851eb851f              # double 120.98
	.quad	0x4056f1eb851eb852              # double 91.780000000000001
	.quad	0x405b8c28f5c28f5c              # double 110.19
	.quad	0x404c970a3d70a3d7              # double 57.18
	.quad	0x4053247ae147ae14              # double 76.569999999999993
	.quad	0x4001ae147ae147ae              # double 2.21
	.quad	0x4038d70a3d70a3d7              # double 24.84
	.quad	0x40462a3d70a3d70a              # double 44.329999999999998
	.quad	0x4052a3d70a3d70a4              # double 74.560000000000002
	.quad	0x405225c28f5c28f6              # double 72.590000000000003
	.quad	0x40578b851eb851ec              # double 94.180000000000007
	.quad	0x4046e00000000000              # double 45.75
	.quad	0x404ec3d70a3d70a4              # double 61.530000000000001
	.quad	0x404c28f5c28f5c29              # double 56.32
	.quad	0x4054766666666666              # double 81.849999999999994
	.quad	0x4044c28f5c28f5c3              # double 41.520000000000003
	.quad	0x405069999999999a              # double 65.650000000000006
	.quad	0x404a6f5c28f5c28f              # double 52.869999999999997
	.quad	0x4057551eb851eb85              # double 93.329999999999998
	.quad	0x404347ae147ae148              # double 38.560000000000002
	.quad	0x404b7eb851eb851f              # double 54.990000000000002
	.quad	0x4058dc28f5c28f5c              # double 99.439999999999998
	.quad	0x40606f5c28f5c28f              # double 131.47999999999999
	.quad	0x402f3d70a3d70a3d              # double 15.619999999999999
	.quad	0x4049628f5c28f5c3              # double 50.770000000000003
	.quad	0x4018ae147ae147ae              # double 6.1699999999999999
	.quad	0x4047e147ae147ae1              # double 47.759999999999998
	.quad	0x4051bae147ae147b              # double 70.920000000000002
	.quad	0x405a7a3d70a3d70a              # double 105.91
	.quad	0x404be51eb851eb85              # double 55.789999999999999
	.quad	0x405413d70a3d70a4              # double 80.310000000000002
	.quad	0x40433c28f5c28f5c              # double 38.469999999999999
	.quad	0x4048c51eb851eb85              # double 49.539999999999999
	.quad	0x403df33333333333              # double 29.949999999999999
	.quad	0x404b3d70a3d70a3d              # double 54.479999999999997
	.quad	0x4051a66666666666              # double 70.599999999999994
	.quad	0x40571b851eb851ec              # double 92.430000000000007
	.quad	0x403e9eb851eb851f              # double 30.620000000000001
	.quad	0x405077ae147ae148              # double 65.870000000000005
	.quad	0x403659999999999a              # double 22.350000000000001
	.quad	0x404b30a3d70a3d71              # double 54.380000000000003
	.quad	0x4053228f5c28f5c3              # double 76.540000000000006
	.quad	0x4059366666666666              # double 100.84999999999999
	.quad	0x4058f47ae147ae14              # double 99.819999999999993
	.quad	0x406114cccccccccd              # double 136.65000000000001
	.quad	0x404f747ae147ae14              # double 62.909999999999997
	.quad	0x40599147ae147ae1              # double 102.27
	.quad	0x40468ccccccccccd              # double 45.100000000000001
	.quad	0x404dee147ae147ae              # double 59.859999999999999
	.quad	0x404c1851eb851eb8              # double 56.189999999999998
	.quad	0x40572c28f5c28f5c              # double 92.689999999999998
	.quad	0x40563e147ae147ae              # double 88.969999999999999
	.quad	0x4060c7ae147ae148              # double 134.24000000000001
	.quad	0x403e6147ae147ae1              # double 30.379999999999999
	.quad	0x404de66666666666              # double 59.799999999999997
	.quad	0x4045628f5c28f5c3              # double 42.770000000000003
	.quad	0x40506eb851eb851f              # double 65.730000000000004
	.quad	0x404dce147ae147ae              # double 59.609999999999999
	.quad	0x40547147ae147ae1              # double 81.769999999999996
	.quad	0x40118f5c28f5c28f              # double 4.3899999999999997
	.quad	0x403b800000000000              # double 27.5
	.quad	0x402428f5c28f5c29              # double 10.08
	.quad	0x402ceb851eb851ec              # double 14.460000000000001
	.quad	0x4043133333333333              # double 38.149999999999999
	.quad	0x40465c28f5c28f5c              # double 44.719999999999999
	.quad	0x40524147ae147ae1              # double 73.019999999999996
	.quad	0x405a8b851eb851ec              # double 106.18000000000001
	.quad	0x402e19999999999a              # double 15.050000000000001
	.quad	0x403d3ae147ae147b              # double 29.23
	.quad	0x404c8f5c28f5c28f              # double 57.119999999999997
	.quad	0x40561eb851eb851f              # double 88.480000000000003
	.quad	0x404e30a3d70a3d71              # double 60.380000000000003
	.quad	0x4056647ae147ae14              # double 89.569999999999993
	.quad	0x4047e3d70a3d70a4              # double 47.780000000000001
	.quad	0x4054f33333333333              # double 83.799999999999997
	.quad	0x40536147ae147ae1              # double 77.519999999999996
	.quad	0x405dc51eb851eb85              # double 119.08
	.quad	0x40528ae147ae147b              # double 74.170000000000001
	.quad	0x405ad66666666666              # double 107.34999999999999
	.quad	0x401cb851eb851eb8              # double 7.1799999999999997
	.quad	0x4044d9999999999a              # double 41.700000000000003
	.quad	0x405669999999999a              # double 89.650000000000006
	.quad	0x4060fb851eb851ec              # double 135.86000000000001
	.quad	0x4050628f5c28f5c3              # double 65.540000000000006
	.quad	0x40566b851eb851ec              # double 89.680000000000007
	.quad	0x4044bae147ae147b              # double 41.460000000000001
	.quad	0x405097ae147ae148              # double 66.370000000000005
	.quad	0x4019f5c28f5c28f6              # double 6.4900000000000002
	.quad	0x4042ea3d70a3d70a              # double 37.829999999999998
	.quad	0x40478e147ae147ae              # double 47.109999999999999
	.quad	0x40535ae147ae147b              # double 77.420000000000001
	.quad	0x40574a3d70a3d70a              # double 93.159999999999996
	.quad	0x4062280000000000              # double 145.25
	.quad	0x403d3851eb851eb8              # double 29.219999999999999
	.quad	0x404de51eb851eb85              # double 59.789999999999999
	.quad	0x403f7d70a3d70a3d              # double 31.489999999999998
	.quad	0x40529eb851eb851f              # double 74.480000000000003
	.quad	0x4048f9999999999a              # double 49.950000000000003
	.quad	0x40545ae147ae147b              # double 81.420000000000001
	.quad	0x40542b851eb851ec              # double 80.680000000000007
	.quad	0x405d1ae147ae147b              # double 116.42
	.quad	0x4045628f5c28f5c3              # double 42.770000000000003
	.quad	0x4051e9999999999a              # double 71.650000000000006
	.quad	0x4053f3d70a3d70a4              # double 79.810000000000002
	.quad	0x405885c28f5c28f6              # double 98.090000000000003
	.quad	0x4026fae147ae147b              # double 11.49
	.quad	0x404243d70a3d70a4              # double 36.530000000000001
	.quad	0x40516d70a3d70a3d              # double 69.709999999999994
	.quad	0x405708f5c28f5c29              # double 92.14
	.quad	0x4058a70a3d70a3d7              # double 98.609999999999999
	.quad	0x40613a8f5c28f5c3              # double 137.83000000000001
	.quad	0x40007ae147ae147b              # double 2.0600000000000001
	.quad	0x4029c7ae147ae148              # double 12.890000000000001
	.quad	0x4033970a3d70a3d7              # double 19.59
	.quad	0x404a3c28f5c28f5c              # double 52.469999999999999
	.quad	0x4043f0a3d70a3d71              # double 39.880000000000003
	.quad	0x40524ae147ae147b              # double 73.170000000000001
	.quad	0x4042451eb851eb85              # double 36.539999999999999
	.quad	0x404da00000000000              # double 59.25
	.quad	0x4058551eb851eb85              # double 97.329999999999998
	.quad	0x405d4eb851eb851f              # double 117.23
	.quad	0x4040dd70a3d70a3d              # double 33.729999999999997
	.quad	0x4051f147ae147ae1              # double 71.769999999999996
	.quad	0x402b75c28f5c28f6              # double 13.73
	.quad	0x40454f5c28f5c28f              # double 42.619999999999997
	.quad	0x403e547ae147ae14              # double 30.329999999999998
	.quad	0x405409999999999a              # double 80.150000000000006
	.quad	0x40435eb851eb851f              # double 38.740000000000002
	.quad	0x404b4a3d70a3d70a              # double 54.579999999999998
	.quad	0x402b051eb851eb85              # double 13.51
	.quad	0x4036000000000000              # double 22
	.quad	0x4041970a3d70a3d7              # double 35.18
	.quad	0x4051ff5c28f5c28f              # double 71.989999999999995
	.quad	0x405300a3d70a3d71              # double 76.010000000000005
	.quad	0x405cb33333333333              # double 114.8
	.quad	0x4037b33333333333              # double 23.699999999999999
	.quad	0x4043747ae147ae14              # double 38.909999999999997
	.quad	0x3ff0cccccccccccd              # double 1.05
	.quad	0x4042570a3d70a3d7              # double 36.68
	.quad	0x404c028f5c28f5c3              # double 56.020000000000003
	.quad	0x4056c9999999999a              # double 91.150000000000006
	.quad	0x4055ceb851eb851f              # double 87.230000000000003
	.quad	0x405ac00000000000              # double 107
	.quad	0x40567c28f5c28f5c              # double 89.939999999999998
	.quad	0x405dc3d70a3d70a4              # double 119.06
	.quad	0x404e88f5c28f5c29              # double 61.07
	.quad	0x4054928f5c28f5c3              # double 82.290000000000006
	.quad	0x404c8e147ae147ae              # double 57.109999999999999
	.quad	0x4053770a3d70a3d7              # double 77.859999999999999
	.quad	0x4049ef5c28f5c28f              # double 51.869999999999997
	.quad	0x40531851eb851eb8              # double 76.379999999999995
	.quad	0x403a51eb851eb852              # double 26.32
	.quad	0x40450f5c28f5c28f              # double 42.119999999999997
	.quad	0x4038d9999999999a              # double 24.850000000000001
	.quad	0x4048170a3d70a3d7              # double 48.18
	.quad	0x40306b851eb851ec              # double 16.420000000000002
	.quad	0x4046d9999999999a              # double 45.700000000000003
	.quad	0x400b0a3d70a3d70a              # double 3.3799999999999999
	.quad	0x404111eb851eb852              # double 34.140000000000001
	.quad	0x4001333333333333              # double 2.1499999999999999
	.quad	0x403dc7ae147ae148              # double 29.780000000000001
	.quad	0x4040d9999999999a              # double 33.700000000000003
	.quad	0x404ca3d70a3d70a4              # double 57.280000000000001
	.quad	0x4015f5c28f5c28f6              # double 5.4900000000000002
	.quad	0x402feb851eb851ec              # double 15.960000000000001
	.quad	0x4017b851eb851eb8              # double 5.9299999999999997
	.quad	0x403b07ae147ae148              # double 27.030000000000001
	.quad	0x4041cccccccccccd              # double 35.600000000000001
	.quad	0x404ebd70a3d70a3d              # double 61.479999999999997
	.quad	0x4050f7ae147ae148              # double 67.870000000000005
	.quad	0x405711eb851eb852              # double 92.280000000000001
	.quad	0x40525851eb851eb8              # double 73.379999999999995
	.quad	0x405c1147ae147ae1              # double 112.27
	.quad	0x4014c28f5c28f5c3              # double 5.1900000000000004
	.quad	0x403611eb851eb852              # double 22.07
	.quad	0x402d428f5c28f5c3              # double 14.630000000000001
	.quad	0x4048aa3d70a3d70a              # double 49.329999999999998
	.quad	0x405259999999999a              # double 73.400000000000006
	.quad	0x405b1f5c28f5c28f              # double 108.48999999999999
	.quad	0x4058166666666666              # double 96.349999999999994
	.quad	0x406113851eb851ec              # double 136.61000000000001
	.quad	0x405679999999999a              # double 89.900000000000006
	.quad	0x405d9c28f5c28f5c              # double 118.44
	.quad	0x4052cd70a3d70a3d              # double 75.209999999999993
	.quad	0x405a4d70a3d70a3d              # double 105.20999999999999
	.quad	0x4051e0a3d70a3d71              # double 71.510000000000005
	.quad	0x405f6851eb851eb8              # double 125.63
	.quad	0x405311eb851eb852              # double 76.280000000000001
	.quad	0x405595c28f5c28f6              # double 86.340000000000003
	.quad	0x4052451eb851eb85              # double 73.079999999999998
	.quad	0x4057bccccccccccd              # double 94.950000000000002
	.quad	0x4042b851eb851eb8              # double 37.439999999999998
	.quad	0x4050e66666666666              # double 67.599999999999994
	.quad	0x4050cccccccccccd              # double 67.200000000000003
	.quad	0x4059851eb851eb85              # double 102.08
	.quad	0x40447c28f5c28f5c              # double 40.969999999999999
	.quad	0x405155c28f5c28f6              # double 69.340000000000003
	.quad	0x4056e00000000000              # double 91.5
	.quad	0x40608147ae147ae1              # double 132.03999999999999
	.quad	0x3ff7333333333333              # double 1.45
	.quad	0x4037e66666666666              # double 23.899999999999999
	.quad	0x400e28f5c28f5c29              # double 3.77
	.quad	0x40418b851eb851ec              # double 35.090000000000003
	.quad	0x4043a7ae147ae148              # double 39.310000000000002
	.quad	0x404a28f5c28f5c29              # double 52.32
	.quad	0x404728f5c28f5c29              # double 46.32
	.quad	0x4056accccccccccd              # double 90.700000000000002
	.quad	0x403eb0a3d70a3d71              # double 30.690000000000001
	.quad	0x4046c3d70a3d70a4              # double 45.530000000000001
	.quad	0x40454f5c28f5c28f              # double 42.619999999999997
	.quad	0x405423d70a3d70a4              # double 80.560000000000002
	.quad	0x40520ccccccccccd              # double 72.200000000000003
	.quad	0x405b09999999999a              # double 108.15000000000001
	.quad	0x402d0f5c28f5c28f              # double 14.529999999999999
	.quad	0x4045147ae147ae14              # double 42.159999999999997
	.quad	0x40553eb851eb851f              # double 84.980000000000003
	.quad	0x405a851eb851eb85              # double 106.08
	.quad	0x4051beb851eb851f              # double 70.980000000000004
	.quad	0x405d466666666666              # double 117.09999999999999
	.quad	0x402e70a3d70a3d71              # double 15.220000000000001
	.quad	0x4042347ae147ae14              # double 36.409999999999997
	.quad	0x404c5c28f5c28f5c              # double 56.719999999999999
	.quad	0x4057b1eb851eb852              # double 94.780000000000001
	.quad	0x4058a28f5c28f5c3              # double 98.540000000000006
	.quad	0x40608851eb851eb8              # double 132.25999999999999
	.quad	0x4056e47ae147ae14              # double 91.569999999999993
	.quad	0x405faeb851eb851f              # double 126.73
	.quad	0x404ffc28f5c28f5c              # double 63.969999999999999
	.quad	0x4058e9999999999a              # double 99.650000000000005
	.quad	0x4054e70a3d70a3d7              # double 83.609999999999999
	.quad	0x405c63d70a3d70a4              # double 113.56
	.quad	0x40434e147ae147ae              # double 38.609999999999999
	.quad	0x404a87ae147ae148              # double 53.060000000000002
	.quad	0x4045747ae147ae14              # double 42.909999999999997
	.quad	0x4054233333333333              # double 80.549999999999997
	.quad	0x405811eb851eb852              # double 96.280000000000001
	.quad	0x4061a851eb851eb8              # double 141.25999999999999
	.quad	0x404af5c28f5c28f6              # double 53.920000000000002
	.quad	0x4053766666666666              # double 77.849999999999994
	.quad	0x4057066666666666              # double 92.099999999999994
	.quad	0x405fa147ae147ae1              # double 126.52
	.quad	0x4058a66666666666              # double 98.599999999999994
	.quad	0x405c7a3d70a3d70a              # double 113.91
	.quad	0x4056928f5c28f5c3              # double 90.290000000000006
	.quad	0x405d73d70a3d70a4              # double 117.81
	.quad	0x403f428f5c28f5c3              # double 31.260000000000002
	.quad	0x404c770a3d70a3d7              # double 56.93
	.quad	0x4051b00000000000              # double 70.75
	.quad	0x4059551eb851eb85              # double 101.33
	.quad	0x4049ef5c28f5c28f              # double 51.869999999999997
	.quad	0x4053d47ae147ae14              # double 79.319999999999993
	.quad	0x40496e147ae147ae              # double 50.859999999999999
	.quad	0x405425c28f5c28f6              # double 80.590000000000003
	.quad	0x404c31eb851eb852              # double 56.390000000000001
	.quad	0x4052ee147ae147ae              # double 75.719999999999999
	.quad	0x4051e851eb851eb8              # double 71.629999999999995
	.quad	0x405853d70a3d70a4              # double 97.310000000000002
	.quad	0x4045733333333333              # double 42.899999999999999
	.quad	0x40514c28f5c28f5c              # double 69.189999999999998
	.quad	0x40441d70a3d70a3d              # double 40.229999999999997
	.quad	0x4050e28f5c28f5c3              # double 67.540000000000006
	.quad	0x4043f0a3d70a3d71              # double 39.880000000000003
	.quad	0x405081eb851eb852              # double 66.030000000000001
	.quad	0x4041d5c28f5c28f6              # double 35.670000000000002
	.quad	0x404cf5c28f5c28f6              # double 57.920000000000002
	.quad	0x40559b851eb851ec              # double 86.430000000000007
	.quad	0x405f170a3d70a3d7              # double 124.36
	.quad	0x4052b7ae147ae148              # double 74.870000000000005
	.quad	0x405a1147ae147ae1              # double 104.27
	.quad	0x404635c28f5c28f6              # double 44.420000000000002
	.quad	0x40574d70a3d70a3d              # double 93.209999999999993
	.quad	0x4055251eb851eb85              # double 84.579999999999998
	.quad	0x405df51eb851eb85              # double 119.83
	.quad	0x4056a147ae147ae1              # double 90.519999999999996
	.quad	0x405cc7ae147ae148              # double 115.12
	.quad	0x4045ce147ae147ae              # double 43.609999999999999
	.quad	0x4051f51eb851eb85              # double 71.829999999999998
	.quad	0x4015c28f5c28f5c3              # double 5.4400000000000004
	.quad	0x403bcf5c28f5c28f              # double 27.809999999999999
	.quad	0x40470b851eb851ec              # double 46.090000000000003
	.quad	0x405127ae147ae148              # double 68.620000000000005
	.size	data, 16000

	.type	_Z11d_rms_errorPdS_S_P7point_t,@object # @_Z11d_rms_errorPdS_S_P7point_t
	.section	.rodata,"a",@progbits
	.globl	_Z11d_rms_errorPdS_S_P7point_t
	.p2align	3, 0x0
_Z11d_rms_errorPdS_S_P7point_t:
	.quad	_Z26__device_stub__d_rms_errorPdS_S_P7point_t
	.size	_Z11d_rms_errorPdS_S_P7point_t, 8

	.type	.L.str,@object                  # @.str
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str:
	.asciz	"hipMalloc on d_dm returned %d %s\n"
	.size	.L.str, 34

	.type	.L.str.1,@object                # @.str.1
.L.str.1:
	.asciz	"hipMalloc on d_dc returned %d %s\n"
	.size	.L.str.1, 34

	.type	.L.str.2,@object                # @.str.2
.L.str.2:
	.asciz	"hipMalloc on d_error_sum_arr returned %d %s\n"
	.size	.L.str.2, 45

	.type	.L.str.3,@object                # @.str.3
.L.str.3:
	.asciz	"hipMalloc on d_data returned %d %s\n"
	.size	.L.str.3, 36

	.type	.L.str.4,@object                # @.str.4
.L.str.4:
	.asciz	"hipMemcpy to d_dm returned %d %s\n"
	.size	.L.str.4, 34

	.type	.L.str.5,@object                # @.str.5
.L.str.5:
	.asciz	"hipMemcpy to d_dc returned %d %s\n"
	.size	.L.str.5, 34

	.type	.L.str.6,@object                # @.str.6
.L.str.6:
	.asciz	"hipMemcpy to d_data returned %d %s\n"
	.size	.L.str.6, 36

	.type	.L.str.7,@object                # @.str.7
.L.str.7:
	.asciz	"hipMemcpy to error_sum returned %d %s\n"
	.size	.L.str.7, 39

	.type	.L.str.8,@object                # @.str.8
.L.str.8:
	.asciz	"hipFree on d_dm returned %d %s\n"
	.size	.L.str.8, 32

	.type	.L.str.9,@object                # @.str.9
.L.str.9:
	.asciz	"hipFree on d_dc returned %d %s\n"
	.size	.L.str.9, 32

	.type	.L.str.10,@object               # @.str.10
.L.str.10:
	.asciz	"hipFree on d_data returned %d %s\n"
	.size	.L.str.10, 34

	.type	.L.str.11,@object               # @.str.11
.L.str.11:
	.asciz	"hipFree on d_error_sum_arr returned %d %s\n"
	.size	.L.str.11, 43

	.type	.L.str.12,@object               # @.str.12
.L.str.12:
	.asciz	"minimum m,c is %lf,%lf with error %lf\n"
	.size	.L.str.12, 39

	.type	.L.str.13,@object               # @.str.13
.L.str.13:
	.asciz	"Time elapsed was %lldns or %0.9lfs\n"
	.size	.L.str.13, 36

	.type	.L__unnamed_1,@object           # @0
.L__unnamed_1:
	.asciz	"_Z11d_rms_errorPdS_S_P7point_t"
	.size	.L__unnamed_1, 31

	.type	.L__unnamed_2,@object           # @1
.L__unnamed_2:
	.asciz	"d_n_data"
	.size	.L__unnamed_2, 9

	.type	__hip_fatbin_wrapper,@object    # @__hip_fatbin_wrapper
	.section	.hipFatBinSegment,"a",@progbits
	.p2align	3, 0x0
__hip_fatbin_wrapper:
	.long	1212764230                      # 0x48495046
	.long	1                               # 0x1
	.quad	__hip_fatbin
	.quad	0
	.size	__hip_fatbin_wrapper, 24

	.type	__hip_gpubin_handle,@object     # @__hip_gpubin_handle
	.local	__hip_gpubin_handle
	.comm	__hip_gpubin_handle,8,8
	.section	.init_array,"aw",@init_array
	.p2align	3, 0x0
	.quad	__hip_module_ctor
	.type	__hip_cuid_,@object             # @__hip_cuid_
	.bss
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               # 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym _Z26__device_stub__d_rms_errorPdS_S_P7point_t
	.addrsig_sym __hip_module_ctor
	.addrsig_sym __hip_module_dtor
	.addrsig_sym d_n_data
	.addrsig_sym data
	.addrsig_sym _Z11d_rms_errorPdS_S_P7point_t
	.addrsig_sym __hip_fatbin
	.addrsig_sym __hip_fatbin_wrapper
	.addrsig_sym __hip_cuid_

	.text
	.amdgcn_target "amdgcn-amd-amdhsa--gfx1100"
	.protected	_Z11d_rms_errorPdS_S_P7point_t ; -- Begin function _Z11d_rms_errorPdS_S_P7point_t
	.globl	_Z11d_rms_errorPdS_S_P7point_t
	.p2align	8
	.type	_Z11d_rms_errorPdS_S_P7point_t,@function
_Z11d_rms_errorPdS_S_P7point_t:         ; @_Z11d_rms_errorPdS_S_P7point_t
; %bb.0:
	s_clause 0x1
	s_load_b32 s8, s[0:1], 0x2c
	s_load_b256 s[0:7], s[0:1], 0x0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s8, s8, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[4:5], null, s15, s8, v[0:1]
	v_ashrrev_i32_e32 v5, 31, v4
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[0:1], 4, v[4:5]
	v_add_co_u32 v0, vcc_lo, s6, v0
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v1, vcc_lo, s7, v1, vcc_lo
	global_load_b128 v[0:3], v[0:1], off
	s_load_b64 s[0:1], s[0:1], 0x0
	s_load_b64 s[2:3], s[2:3], 0x0
	s_waitcnt vmcnt(0) lgkmcnt(0)
	v_fma_f64 v[0:1], v[0:1], s[0:1], s[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[0:1], v[0:1], -v[2:3]
	v_lshlrev_b64 v[2:3], 3, v[4:5]
	v_add_co_u32 v2, vcc_lo, s4, v2
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_add_co_ci_u32_e32 v3, vcc_lo, s5, v3, vcc_lo
	v_mul_f64 v[0:1], v[0:1], v[0:1]
	global_store_b64 v[2:3], v[0:1], off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z11d_rms_errorPdS_S_P7point_t
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 6
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end0:
	.size	_Z11d_rms_errorPdS_S_P7point_t, .Lfunc_end0-_Z11d_rms_errorPdS_S_P7point_t
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 176
; NumSgprs: 18
; NumVgprs: 6
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 6
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.p2alignl 7, 3214868480
	.fill 96, 4, 3214868480
	.protected	d_n_data                ; @d_n_data
	.type	d_n_data,@object
	.data
	.globl	d_n_data
	.p2align	2, 0x0
d_n_data:
	.long	1000                            ; 0x3e8
	.size	d_n_data, 4

	.type	__hip_cuid_,@object             ; @__hip_cuid_
	.section	.bss,"aw",@nobits
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               ; 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym __hip_cuid_
	.amdgpu_metadata
---
amdhsa.kernels:
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         24
        .size:           8
        .value_kind:     global_buffer
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z11d_rms_errorPdS_S_P7point_t
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z11d_rms_errorPdS_S_P7point_t.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     6
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
amdhsa.target:   amdgcn-amd-amdhsa--gfx1100
amdhsa.version:
  - 1
  - 2
...

	.end_amdgpu_metadata
