#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 linear61 linear61.cu -lm
 * 
 * To run:
 *   .linear61
 * 
 *****************************************************************************/
typedef struct point_t {
  double x;
  double y;
} point_t;

point_t data[] = {
  {82.75,102.99},{65.49,98.18},{78.56,105.35},{68.67,85.29},
  {65.81,112.85},{82.84,113.68},{65.55,98.46},{71.98,114.52},
  {73.16,126.43},{76.40,134.02},{76.82,97.29},{47.47,79.78},
  {41.13,78.60},{64.13,97.66},{34.81,71.87},{67.40,124.95},
  {78.92,119.15},{70.50,120.57},{68.55,101.00},{36.91,75.79},
  {48.94,91.26},{57.95,105.08},{66.28,93.09},{ 6.10,26.68},
  {49.17,86.16},{42.11,71.14},{59.66,95.41},{87.00,120.27},
  {19.21,52.28},{26.03,39.19},{78.42,102.92},{39.60,62.76},
  {31.86,67.82},{98.79,134.45},{41.63,79.01},{47.04,79.06},
  {87.79,118.72},{ 8.41,35.11},{12.18,26.31},{66.63,96.34},
  {85.67,126.04},{95.24,124.55},{91.59,133.08},{18.71,35.87},
  {50.54,88.79},{55.59,80.88},{57.45,80.08},{69.68,107.06},
  {68.48,98.14},{42.52,68.34},{60.75,82.69},{63.82,95.62},
  {83.82,117.19},{ 7.19,17.98},{ 0.55,20.03},{29.40,42.51},
  {35.42,66.35},{75.00,117.98},{82.07,115.32},{13.45,33.99},
  {55.14,97.79},{33.86,51.12},{75.48,106.36},{33.96,60.19},
  {53.84,98.26},{46.84,76.33},{64.56,111.80},{92.83,130.92},
  {11.02,24.55},{14.14,24.08},{34.19,69.54},{62.61,109.86},
  {92.29,125.64},{ 1.14,23.05},{55.58,83.02},{19.23,54.48},
  {43.58,69.39},{45.14,74.43},{81.14,114.66},{82.99,118.22},
  {66.82,94.85},{97.53,133.25},{ 7.24, 9.11},{15.88,33.92},
  {53.36,87.02},{42.76,77.23},{92.48,119.31},{68.85,103.81},
  {91.48,151.27},{39.59,80.63},{15.13,57.50},{27.61,54.82},
  {53.97,89.81},{15.40,51.54},{73.72,111.38},{64.97,100.00},
  {50.37,86.82},{ 5.64,34.85},{72.08,117.17},{69.41,97.42},
  {59.60,74.65},{43.19,67.89},{ 7.66,30.58},{46.36,70.09},
  {95.11,127.80},{17.26,32.74},{ 7.08,32.31},{77.80,108.66},
  {61.24,110.63},{ 1.66, 9.23},{ 5.52,26.67},{76.55,112.34},
  {39.08,57.20},{85.69,125.46},{ 2.24, 5.80},{11.60,15.73},
  {46.33,78.07},{55.99,101.98},{18.18,52.18},{77.58,126.60},
  {15.98,56.85},{38.76,65.84},{30.17,50.44},{41.82,81.73},
  { 1.95,21.59},{90.31,123.68},{35.47,54.71},{44.59,93.65},
  {25.49,43.71},{ 9.83,24.65},{31.18,52.48},{83.18,126.20},
  {17.74,53.18},{97.83,122.81},{55.36,91.53},{22.74,40.82},
  {27.93,47.07},{81.69,118.05},{23.42,52.64},{16.32,63.78},
  { 5.78,36.54},{72.98,89.76},{84.67,107.40},{45.96,79.32},
  { 1.27,19.92},{18.92,40.49},{29.68,58.82},{59.24,74.82},
  {92.61,135.87},{16.72,25.27},{23.61,66.84},{29.50,55.91},
  { 2.87,33.00},{97.05,135.91},{86.20,115.59},{17.93,50.76},
  {72.71,116.81},{86.57,104.69},{26.62,62.47},{56.14,108.56},
  {65.06,114.35},{85.39,121.43},{50.94,63.59},{18.78,43.67},
  {80.15,114.23},{53.90,75.31},{12.39,29.39},{85.21,127.79},
  {14.88,46.83},{18.51,43.35},{45.74,83.98},{ 0.35,17.38},
  {52.10,89.27},{52.42,85.78},{61.40,101.05},{69.11,113.63},
  { 3.04,28.84},{48.39,90.64},{74.91,102.50},{72.62,90.44},
  {77.33,112.74},{76.72,108.72},{ 2.41,35.62},{15.70,31.81},
  {40.00,61.68},{78.27,107.97},{24.81,48.71},{28.06,49.45},
  {64.60,86.09},{53.78,91.20},{61.22,94.24},{48.19,93.42},
  {52.73,82.14},{66.47,97.38},{80.60,111.94},{24.51,60.94},
  {30.75,48.97},{54.78,85.37},{93.04,132.50},{97.82,146.30},
  {84.91,110.92},{89.46,118.87},{80.13,106.04},{87.76,109.80},
  { 6.40,40.57},{91.82,143.91},{66.91,93.58},{33.66,55.38},
  {95.29,127.14},{31.28,54.01},{53.42,94.35},{22.10,39.01},
  {36.65,60.30},{29.88,65.04},{50.30,85.98},{24.08,36.90},
  {65.82,112.54},{85.64,122.04},{77.64,105.16},{23.94,45.68},
  {52.39,76.04},{22.15,53.97},{79.57,120.30},{95.43,136.74},
  {14.39,48.47},{75.22,111.67},{10.62,25.75},{39.12,55.13},
  {47.23,68.62},{68.64,97.47},{24.34,67.88},{73.02,113.79},
  {93.37,133.01},{65.53,89.76},{12.01,43.27},{36.27,61.91},
  {96.04,142.04},{54.88,94.29},{54.53,79.12},{ 6.39,20.93},
  {14.10,31.46},{74.48,110.53},{63.15,108.52},{86.43,130.80},
  {68.92,95.13},{93.66,129.94},{22.34,27.48},{ 7.95,28.43},
  {89.16,113.06},{54.45,89.24},{30.19,39.65},{47.21,81.98},
  {23.26,72.13},{ 5.23,18.61},{98.30,126.22},{76.67,121.33},
  {15.19,36.75},{32.28,53.94},{54.94,93.75},{29.80,68.23},
  {13.34,31.69},{25.80,49.03},{53.92,86.03},{59.11,87.03},
  {66.36,98.96},{41.04,58.88},{53.57,75.94},{66.66,111.10},
  {77.79,106.68},{59.73,96.21},{35.25,57.42},{16.90,49.89},
  {10.91,44.14},{ 9.64,38.78},{16.21,46.00},{ 9.67,17.50},
  {69.42,102.25},{13.27,41.15},{ 5.33,21.43},{ 8.75,34.65},
  {11.58,31.34},{39.03,79.02},{40.36,71.67},{51.64,84.18},
  { 8.57,48.42},{61.06,90.15},{34.60,62.81},{88.37,146.39},
  {35.34,58.07},{90.26,139.45},{67.17,105.11},{46.90,83.26},
  {13.17,38.91},{12.60,38.97},{94.70,138.47},{ 4.83,17.95},
  {41.33,71.29},{72.06,108.44},{29.23,64.11},{80.96,119.78},
  {50.54,88.19},{73.60,112.55},{15.55,24.35},{71.89,119.62},
  {22.45,52.55},{23.78,56.89},{67.82,101.94},{45.71,80.62},
  {46.84,77.39},{72.09,108.04},{96.37,137.79},{21.86,44.94},
  {90.04,121.40},{50.13,75.41},{31.81,72.94},{23.31,73.25},
  {27.65,47.31},{77.28,110.69},{56.96,99.42},{53.82,80.22},
  {26.66,41.22},{24.19,47.52},{59.29,96.29},{27.29,53.19},
  {48.35,92.38},{47.26,67.62},{24.53,40.51},{25.60,58.04},
  {49.16,76.45},{34.91,44.95},{43.46,48.32},{44.54,57.42},
  {86.03,133.00},{69.17,112.61},{32.05,55.72},{53.62,86.49},
  {74.95,108.81},{58.84,86.60},{80.26,110.16},{95.48,130.99},
  {91.88,112.19},{37.76,64.48},{60.10,81.74},{79.85,120.60},
  {26.67,45.29},{ 2.08,20.18},{ 5.88,43.00},{18.58,56.21},
  {26.33,61.54},{26.83,60.58},{91.43,112.97},{59.40,87.65},
  {56.91,87.60},{28.15,40.73},{52.30,88.49},{20.06,54.95},
  {76.87,115.44},{29.19,56.74},{78.26,114.69},{32.37,77.12},
  {91.77,131.29},{58.90,95.06},{ 5.20,21.96},{85.77,105.24},
  {82.17,112.11},{90.34,133.28},{38.02,60.51},{18.05,42.97},
  {93.14,141.01},{93.52,135.73},{59.07,81.50},{61.35,113.01},
  {47.01,72.83},{99.82,141.53},{ 7.86,35.35},{20.26,50.45},
  {74.17,94.34},{33.32,42.39},{16.65,19.59},{86.71,133.97},
  {28.44,78.55},{24.51,58.01},{46.07,70.68},{57.03,97.18},
  {86.40,119.32},{42.64,63.65},{35.08,92.64},{11.32,40.00},
  {40.40,80.05},{42.22,76.46},{29.24,50.94},{ 5.32,22.49},
  {96.61,135.37},{13.59,35.32},{98.40,134.57},{19.69,43.81},
  {67.27,113.56},{71.06,107.98},{ 1.06,26.45},{54.78,84.04},
  {45.64,76.93},{87.77,126.37},{33.46,51.98},{22.89,48.40},
  {38.64,60.20},{60.97,101.94},{47.41,73.39},{60.58,95.67},
  {88.12,106.82},{66.37,100.55},{81.12,115.71},{52.49,76.55},
  {85.05,125.56},{32.06,60.44},{60.84,103.55},{43.76,67.29},
  {62.33,88.25},{40.77,70.46},{94.72,121.74},{34.02,73.96},
  {32.40,61.97},{41.78,64.30},{89.28,121.32},{53.05,80.41},
  {27.30,68.46},{75.74,120.62},{65.47,93.80},{82.22,116.83},
  {97.54,150.07},{16.82,36.26},{18.42,41.45},{87.32,133.69},
  {77.52,109.91},{77.99,104.68},{25.88,61.94},{ 5.27,34.14},
  {74.93,106.74},{82.90,120.76},{37.96,82.08},{68.52,105.20},
  {39.62,65.56},{65.81,78.87},{29.38,36.77},{81.97,111.49},
  {21.94,56.46},{38.19,55.31},{70.62,92.61},{ 4.07,14.27},
  {58.56,92.06},{41.04,69.16},{64.68,99.07},{71.11,121.16},
  { 5.18,41.83},{88.83,126.77},{90.90,130.91},{87.74,123.22},
  {44.98,75.14},{38.64,70.51},{71.87,96.28},{68.72,107.04},
  {40.52,56.31},{70.48,98.16},{56.00,85.11},{30.70,58.96},
  {44.16,78.72},{94.58,145.43},{13.56,37.67},{40.48,53.91},
  {38.35,63.89},{85.90,127.17},{71.48,109.19},{16.73,54.54},
  {41.59,70.35},{51.48,85.62},{85.93,127.63},{15.94,25.57},
  {79.96,105.08},{80.48,122.53},{56.56,77.18},{ 0.37, 3.28},
  {53.10,95.77},{56.80,95.59},{17.64,45.56},{34.34,50.47},
  {31.32,59.70},{68.24,109.98},{71.80,107.38},{67.99,111.04},
  {41.43,60.69},{13.88,42.31},{84.77,101.64},{49.69,72.67},
  {22.84,59.96},{11.46,14.03},{ 6.25,29.29},{ 7.28,31.53},
  {74.19,88.55},{33.73,57.99},{61.34,109.98},{47.19,83.93},
  {43.72,61.28},{21.77,52.41},{76.98,100.87},{35.81,66.20},
  {43.75,79.14},{59.39,79.98},{49.23,95.35},{80.09,96.68},
  {48.21,87.57},{75.91,110.03},{47.81,91.15},{94.49,152.25},
  {81.66,127.38},{12.89,40.54},{22.74,61.81},{62.68,89.80},
  {56.24,91.10},{30.46,55.71},{36.86,70.38},{95.50,120.18},
  {69.14,98.70},{95.94,147.08},{ 8.60,27.55},{62.82,106.65},
  {30.90,46.78},{47.67,77.17},{32.79,45.39},{55.30,75.56},
  {80.68,119.01},{38.33,67.72},{87.41,123.32},{37.30,61.33},
  {66.09,105.27},{67.50,96.94},{ 6.82,28.21},{ 4.34,29.01},
  {80.83,125.28},{32.25,54.26},{97.62,132.83},{49.25,76.67},
  {96.51,121.49},{33.79,70.52},{83.52,129.24},{27.06,60.63},
  { 1.41,12.59},{13.22,57.64},{17.45,36.09},{71.35,76.96},
  {87.88,130.79},{50.39,83.88},{89.14,138.52},{11.44,41.46},
  {93.17,130.39},{67.21,95.80},{29.16,62.17},{92.98,143.45},
  {47.99,76.13},{27.43,71.97},{51.93,96.56},{91.03,134.99},
  {96.22,133.30},{41.24,49.18},{20.27,41.71},{75.72,106.00},
  {50.23,93.58},{70.66,112.03},{88.12,124.27},{75.71,125.10},
  {62.75,90.70},{ 9.55,35.97},{64.15,103.11},{15.63,51.96},
  {15.97,49.70},{16.27,37.28},{36.98,53.67},{98.92,133.42},
  {87.92,140.97},{49.12,84.19},{54.28,89.62},{71.33,96.50},
  {54.58,94.85},{68.25,112.61},{66.23,96.79},{49.85,98.43},
  {48.26,84.08},{ 6.28,38.20},{39.44,96.00},{92.27,133.34},
  {79.68,110.59},{62.13,108.32},{54.00,91.27},{27.57,67.10},
  {53.49,91.53},{20.29,36.56},{28.41,48.46},{65.46,83.93},
  {93.88,144.37},{61.47,90.48},{39.03,74.45},{52.76,92.72},
  {19.56,50.89},{34.67,61.01},{34.25,61.48},{69.18,92.59},
  {88.76,122.35},{ 6.16,31.03},{10.21,46.60},{97.95,135.81},
  {83.07,120.37},{66.03,105.65},{63.71,99.56},{17.93,35.56},
  {78.71,119.64},{ 1.26,29.44},{97.17,131.88},{24.25,55.43},
  {47.36,74.18},{81.31,113.86},{37.68,50.18},{26.47,37.91},
  {74.66,115.30},{ 5.37,32.89},{ 9.25,14.24},{32.83,57.97},
  { 9.01,34.09},{31.82,67.05},{75.57,110.86},{13.20,58.84},
  {38.74,58.61},{34.55,49.28},{ 8.63,18.41},{94.31,153.83},
  {59.27,100.95},{68.09,95.94},{33.94,56.80},{22.81,52.08},
  {17.09,51.37},{20.13,53.11},{23.53,45.18},{36.24,54.80},
  {84.20,111.33},{32.35,77.34},{38.68,73.17},{ 6.00,24.34},
  {30.14,57.76},{18.18,25.99},{48.93,70.53},{63.37,85.23},
  {34.74,71.07},{22.82,60.05},{54.59,82.07},{63.82,102.78},
  {70.17,106.61},{ 1.74,21.29},{54.94,91.34},{78.52,104.39},
  {57.23,113.05},{66.98,97.65},{17.06,39.70},{36.63,64.22},
  {51.49,67.72},{76.94,123.46},{98.72,140.65},{19.58,48.67},
  {25.91,54.75},{18.70,25.83},{80.77,119.17},{88.11,128.37},
  {78.37,132.97},{66.91,105.66},{33.54,56.14},{49.66,86.32},
  {32.00,58.47},{40.01,69.54},{56.12,73.78},{96.04,141.93},
  {31.96,68.36},{94.41,121.09},{76.95,109.13},{55.68,88.70},
  { 3.88,44.47},{ 7.22,36.32},{65.27,96.32},{88.18,93.03},
  {60.77,63.94},{63.81,84.81},{47.29,80.62},{82.50,127.64},
  {31.43,46.32},{13.18,32.13},{93.39,136.75},{85.27,142.09},
  {43.24,108.17},{75.25,125.18},{33.46,93.07},{90.49,142.00},
  {79.88,118.01},{20.84,62.60},{63.69,99.74},{76.84,126.38},
  {11.54,30.15},{76.43,118.27},{35.50,66.80},{45.32,66.67},
  {66.48,100.04},{73.72,99.06},{12.85,35.73},{62.84,91.74},
  { 6.88,37.00},{89.26,132.68},{85.01,107.91},{23.87,56.07},
  {38.03,56.40},{92.03,130.52},{42.02,89.57},{13.17,30.48},
  {82.16,130.63},{22.68,58.86},{ 8.52,38.41},{16.25,42.46},
  {65.35,97.29},{31.45,49.97},{59.30,87.47},{65.11,117.40},
  {29.39,50.87},{22.55,63.15},{36.95,65.12},{83.54,123.62},
  {11.75,25.18},{63.39,102.99},{61.42,83.35},{34.12,68.55},
  {90.74,152.52},{51.08,82.09},{20.28,41.21},{76.19,110.13},
  {37.99,67.26},{91.05,147.73},{11.77,19.86},{28.29,67.38},
  {66.26,98.05},{22.57,34.01},{16.30,25.37},{44.77,80.61},
  {46.39,82.78},{74.08,115.65},{53.10,92.48},{ 0.04,28.78},
  {29.00,42.26},{ 4.81,25.29},{28.74,47.05},{33.14,69.33},
  {87.96,129.02},{54.49,75.32},{37.37,58.59},{99.58,147.95},
  {21.68,56.37},{ 1.48,37.32},{91.01,134.77},{88.29,129.72},
  {32.73,59.08},{96.57,135.48},{90.10,130.41},{20.21,48.08},
  {52.88,70.85},{89.69,133.44},{24.74,51.81},{73.87,104.53},
  {61.84,91.90},{65.37,84.10},{41.40,74.81},{38.22,54.51},
  {18.24,41.00},{90.06,124.68},{ 2.89,34.07},{80.14,106.74},
  {89.91,127.71},{60.63,102.62},{35.00,68.27},{70.63,100.02},
  {15.65,34.17},{71.64,95.74},{18.05,40.60},{38.08,50.51},
  {88.71,110.01},{16.08,55.91},{80.55,111.48},{36.13,62.87},
  {85.88,108.71},{50.75,102.58},{87.31,144.42},{23.96,42.23},
  {71.56,117.05},{88.79,139.37},{98.10,122.99},{26.68,52.26},
  {12.51,18.84},{66.50,109.63},{19.18,58.66},{78.17,120.33},
  {14.11,41.17},{31.29,56.93},{39.37,61.22},{ 0.85,43.30},
  {48.95,72.30},{81.94,126.11},{69.96,100.68},{48.34,76.21},
  {66.52,123.56},{15.95,33.56},{ 5.51,24.27},{28.75,76.63},
  {13.20,30.41},{51.47,86.79},{84.84,128.08},{50.96,74.05},
  {76.41,119.73},{75.18,105.68},{ 3.85,24.64},{42.69,70.68},
  {86.75,133.83},{ 8.31,17.44},{73.34,106.15},{32.65,66.74},
  {44.83,73.09},{ 8.14,59.97},{49.55,75.57},{30.72,48.02},
  {92.47,134.65},{81.10,133.44},{29.67,58.25},{84.63,131.65},
  {16.49,38.95},{77.48,128.30},{42.96,74.42},{86.71,108.12},
  {26.98,38.76},{60.41,91.56},{91.91,130.19},{86.14,128.67},
  {91.64,141.09},{55.81,97.06},{48.26,78.28},{41.49,75.39},
  {36.58,59.50},{76.44,85.43},{72.56,106.57},{72.87,105.68},
  {15.32,10.87},{ 7.18,30.28},{92.52,124.86},{93.91,136.79},
  {31.38,64.56},{91.97,130.64},{24.10,62.56},{42.05,65.55},
  {18.59,41.41},{41.94,62.05},{ 0.75,45.24},{91.66,121.28},
  {88.75,111.57},{13.14,53.87},{67.12,96.45},{55.66,89.07},
  {13.93,25.23},{ 6.10,26.44},{23.28,48.96},{14.55,22.55},
  {31.85,44.45},{37.61,63.29},{22.94,42.72},{57.14,89.52},
  {52.50,77.71},{99.59,154.03},{36.59,49.47},{26.34,55.29},
  {96.63,148.57},{91.80,135.06},{94.11,134.16},{55.52,95.86},
  {25.79,52.48},{84.44,118.14},{ 6.44,29.89},{35.95,48.28},
  {31.95,58.34},{40.99,69.64},{12.35,26.00},{67.47,98.87},
  {57.15,92.49},{68.42,96.52},{14.48,29.33},{33.90,71.00},
  { 0.59,24.46},{24.79,35.20},{69.86,96.24},{77.34,121.23},
  {16.53,28.60},{96.95,141.18},{80.66,110.56},{45.52,90.34},
  {63.06,106.13},{42.90,74.99},{51.66,79.20},{80.40,115.11},
  {25.35,45.56},{68.82,94.10},{14.07,26.03},{30.36,59.02},
  {39.87,65.31},{ 5.17,24.49},{77.51,113.81},{ 9.52,29.77},
  { 8.30,24.24},{44.04,92.38},{ 8.16,14.50},{47.82,73.90},
  {90.61,105.32},{72.52,91.53},{45.44,69.37},{75.18,100.34},
  { 9.15,21.48},{12.40,27.27},{32.11,57.98},{63.31,94.25},
  {69.98,100.76},{98.21,145.59},{46.96,58.96},{26.95,45.25},
  {84.89,126.56},{11.73,30.97},{94.06,122.71},{77.29,127.08},
  {62.73,101.50},{99.86,138.24},{46.33,72.20},{22.49,54.21},
  {95.73,134.34},{90.17,128.09},{68.55,92.58},{71.82,100.12},
  {32.57,71.35},{41.17,72.70},{ 6.60,36.63},{94.76,135.53},
  {29.34,80.82},{89.52,140.31},{96.29,127.96},{55.33,89.82},
  { 9.28,23.22},{96.95,127.20},{65.60,108.09},{82.77,122.12},
  {93.00,110.03},{82.74,111.85},{93.82,140.22},{94.54,124.90},
  {45.18,102.72},{25.24,35.61},{22.80,58.73},{79.85,121.12},
  { 8.31,41.44},{99.01,131.20},{ 0.59,15.39},{64.58,107.07},
  {88.62,121.65},{81.62,137.18},{94.06,132.65},{96.52,123.62},
  { 2.46,36.78},{22.52,43.56},{13.21,35.58},{ 7.60,16.69},
  {66.39,96.44},{ 5.81,22.40},{25.76,48.90},{95.19,146.27},
  {43.21,82.26},{67.96,111.70},{85.21,127.00},{ 4.99,23.50},
  {68.93,105.76},{63.58,81.18},{81.53,105.11},{63.83,90.91},
  {54.74,94.01},{61.84,109.68},{56.63,91.84},{24.59,51.08},
  {62.64,88.02},{88.04,132.49},{88.78,135.86},{18.67,49.25},
  {74.69,120.78},{64.37,103.79},{21.19,60.29},{52.40,90.69},
  {11.87,25.06},{ 7.19,21.90},{36.87,66.72},{61.64,91.63}
};

int n_data = 1000;
__device__ int d_n_data = 1000;



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);
}

// Calculate the difference between two times. Returns zero on
// success and the time difference through an argument. It will 
// be unsuccessful if the start time is after the end time.

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

  if(d_nsec < 0 ) {
    d_sec--;
    d_nsec += 1000000000; 
  } 
  *difference = d_sec * 1000000000 + d_nsec;
  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_002c8e7e_00000000-6_linear41.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
	.local	_ZL8d_n_data
	.comm	_ZL8d_n_data,4,4
	.globl	n_data
	.data
	.align 4
	.type	n_data, @object
	.size	n_data, 4
n_data:
	.long	1000
	.globl	data
	.align 32
	.type	data, @object
	.size	data, 16000
data:
	.long	0
	.long	1079291904
	.long	687194767
	.long	1079623516
	.long	687194767
	.long	1079009116
	.long	515396076
	.long	1079544709
	.long	171798692
	.long	1079223255
	.long	1717986918
	.long	1079662182
	.long	1202590843
	.long	1079061217
	.long	1546188227
	.long	1079333519
	.long	171798692
	.long	1079014359
	.long	1717986918
	.long	1079785062
	.long	-1889785610
	.long	1079293378
	.long	515396076
	.long	1079798661
	.long	858993459
	.long	1079010099
	.long	-1546188227
	.long	1079549296
	.long	1374389535
	.long	1079115448
	.long	-1374389535
	.long	1079812423
	.long	1889785610
	.long	1079134781
	.long	515396076
	.long	1080007557
	.long	-1717986918
	.long	1079187865
	.long	-687194767
	.long	1080082595
	.long	-515396076
	.long	1079194746
	.long	1546188227
	.long	1079530127
	.long	-171798692
	.long	1078443048
	.long	-2061584302
	.long	1079243243
	.long	-687194767
	.long	1078235299
	.long	1717986918
	.long	1079223910
	.long	-343597384
	.long	1078986833
	.long	1889785610
	.long	1079536189
	.long	343597384
	.long	1078028206
	.long	343597384
	.long	1079113646
	.long	-1717986918
	.long	1079040409
	.long	-858993459
	.long	1079983308
	.long	1202590843
	.long	1079229153
	.long	-1717986918
	.long	1079888281
	.long	0
	.long	1079091200
	.long	-515396076
	.long	1079911546
	.long	858993459
	.long	1079059251
	.long	0
	.long	1079590912
	.long	-515396076
	.long	1078097018
	.long	1546188227
	.long	1079177871
	.long	-343597384
	.long	1078491217
	.long	-687194767
	.long	1079431331
	.long	-1717986918
	.long	1078786457
	.long	-1202590843
	.long	1079657758
	.long	-2061584302
	.long	1079022059
	.long	-1889785610
	.long	1079461314
	.long	1717986918
	.long	1075340902
	.long	2061584302
	.long	1077587476
	.long	-1889785610
	.long	1078498754
	.long	1889785610
	.long	1079347773
	.long	2061584302
	.long	1078267412
	.long	-1030792151
	.long	1079101685
	.long	-515396076
	.long	1078842490
	.long	1889785610
	.long	1079499325
	.long	0
	.long	1079361536
	.long	-1374389535
	.long	1079906631
	.long	-1889785610
	.long	1077097922
	.long	171798692
	.long	1078600663
	.long	343597384
	.long	1077544878
	.long	-343597384
	.long	1078171729
	.long	1202590843
	.long	1079220961
	.long	1202590843
	.long	1079622369
	.long	-858993459
	.long	1078185164
	.long	-1374389535
	.long	1078944071
	.long	-171798692
	.long	1077926952
	.long	-515396076
	.long	1079047290
	.long	1546188227
	.long	1079554703
	.long	1717986918
	.long	1080086118
	.long	-687194767
	.long	1078251683
	.long	-687194767
	.long	1079230627
	.long	-1202590843
	.long	1078428958
	.long	171798692
	.long	1079231447
	.long	1546188227
	.long	1079374479
	.long	2061584302
	.long	1079881236
	.long	-2061584302
	.long	1075892715
	.long	2061584302
	.long	1078038036
	.long	-171798692
	.long	1076386856
	.long	687194767
	.long	1077563228
	.long	-343597384
	.long	1079027793
	.long	-1889785610
	.long	1079514562
	.long	1202590843
	.long	1079339745
	.long	1546188227
	.long	1080001167
	.long	687194767
	.long	1079496540
	.long	858993459
	.long	1079976755
	.long	-1889785610
	.long	1079436738
	.long	1546188227
	.long	1080074895
	.long	-1889785610
	.long	1077065154
	.long	687194767
	.long	1078062940
	.long	-1202590843
	.long	1078543646
	.long	1546188227
	.long	1079390863
	.long	515396076
	.long	1078709125
	.long	-343597384
	.long	1079261265
	.long	-1717986918
	.long	1078770073
	.long	-1202590843
	.long	1079248158
	.long	515396076
	.long	1079077765
	.long	171798692
	.long	1079690199
	.long	1374389535
	.long	1079058104
	.long	-1030792151
	.long	1079544053
	.long	1546188227
	.long	1078280847
	.long	-1889785610
	.long	1079055810
	.long	0
	.long	1078878208
	.long	-171798692
	.long	1079290920
	.long	-1030792151
	.long	1078978805
	.long	343597384
	.long	1079502766
	.long	-515396076
	.long	1079309434
	.long	-171798692
	.long	1079856168
	.long	1546188227
	.long	1075626639
	.long	1202590843
	.long	1077017313
	.long	-1717986918
	.long	1071749529
	.long	343597384
	.long	1077151662
	.long	1717986918
	.long	1077765734
	.long	-1374389535
	.long	1078280519
	.long	-1889785610
	.long	1078048194
	.long	1717986918
	.long	1079023206
	.long	0
	.long	1079164928
	.long	1374389535
	.long	1079869112
	.long	-515396076
	.long	1079280762
	.long	-515396076
	.long	1079825530
	.long	1717986918
	.long	1076553318
	.long	1374389535
	.long	1078001336
	.long	-2061584302
	.long	1078694379
	.long	1546188227
	.long	1079538319
	.long	2061584302
	.long	1077997076
	.long	687194767
	.long	1078562652
	.long	1374389535
	.long	1079172792
	.long	1030792151
	.long	1079678730
	.long	1202590843
	.long	1078000353
	.long	-343597384
	.long	1078859857
	.long	515396076
	.long	1078651781
	.long	-687194767
	.long	1079546019
	.long	515396076
	.long	1078422405
	.long	-1202590843
	.long	1079186718
	.long	171798692
	.long	1078993879
	.long	858993459
	.long	1079767859
	.long	-1202590843
	.long	1079457054
	.long	-1546188227
	.long	1080057200
	.long	1889785610
	.long	1076234813
	.long	-858993459
	.long	1077447884
	.long	343597384
	.long	1076643758
	.long	-515396076
	.long	1077417082
	.long	-343597384
	.long	1078007889
	.long	1546188227
	.long	1079075471
	.long	2061584302
	.long	1078939156
	.long	1030792151
	.long	1079736074
	.long	1546188227
	.long	1079448207
	.long	-1030792151
	.long	1079994613
	.long	-1546188227
	.long	1072840048
	.long	-858993459
	.long	1077349580
	.long	1889785610
	.long	1078708797
	.long	-1374389535
	.long	1079296327
	.long	1202590843
	.long	1077099233
	.long	-1546188227
	.long	1078672752
	.long	1889785610
	.long	1078315581
	.long	-1030792151
	.long	1079073013
	.long	-2061584302
	.long	1078366699
	.long	515396076
	.long	1079155589
	.long	-1030792151
	.long	1079265525
	.long	1889785610
	.long	1079814717
	.long	687194767
	.long	1079295836
	.long	2061584302
	.long	1079873044
	.long	-515396076
	.long	1079030906
	.long	1717986918
	.long	1079490150
	.long	-2061584302
	.long	1079534059
	.long	0
	.long	1080076288
	.long	-1889785610
	.long	1075639746
	.long	-343597384
	.long	1075984465
	.long	1546188227
	.long	1076871823
	.long	-1889785610
	.long	1077999042
	.long	2061584302
	.long	1078636052
	.long	-1374389535
	.long	1079361863
	.long	-1374389535
	.long	1078288711
	.long	1374389535
	.long	1079201464
	.long	1374389535
	.long	1079451320
	.long	171798692
	.long	1079890903
	.long	1717986918
	.long	1079064166
	.long	171798692
	.long	1079636951
	.long	1374389535
	.long	1079434936
	.long	-687194767
	.long	1080223907
	.long	515396076
	.long	1078184837
	.long	-343597384
	.long	1079257169
	.long	1546188227
	.long	1076773519
	.long	0
	.long	1078771712
	.long	-171798692
	.long	1077648424
	.long	-1030792151
	.long	1078683893
	.long	-171798692
	.long	1078656040
	.long	171798692
	.long	1079407575
	.long	-858993459
	.long	1076808908
	.long	-1202590843
	.long	1078576414
	.long	2061584302
	.long	1079143956
	.long	-343597384
	.long	1079760977
	.long	2061584302
	.long	1079000596
	.long	0
	.long	1079574528
	.long	687194767
	.long	1078538076
	.long	-515396076
	.long	1079358586
	.long	687194767
	.long	1075220316
	.long	-858993459
	.long	1078029516
	.long	-1202590843
	.long	1079117086
	.long	1202590843
	.long	1079855841
	.long	1889785610
	.long	1079073341
	.long	1202590843
	.long	1079532257
	.long	-858993459
	.long	1078840524
	.long	-1717986918
	.long	1079159193
	.long	-343597384
	.long	1078302801
	.long	-1030792151
	.long	1079048437
	.long	171798692
	.long	1075749847
	.long	-515396076
	.long	1077843066
	.long	2061584302
	.long	1078406676
	.long	-1889785610
	.long	1079084482
	.long	1030792151
	.long	1079494410
	.long	858993459
	.long	1080030003
	.long	1546188227
	.long	1076970127
	.long	1374389535
	.long	1077960376
	.long	-2061584302
	.long	1075597803
	.long	343597384
	.long	1077946286
	.long	858993459
	.long	1079210803
	.long	1889785610
	.long	1079716413
	.long	1374389535
	.long	1078894264
	.long	-343597384
	.long	1079748689
	.long	687194767
	.long	1073385308
	.long	-1889785610
	.long	1076000194
	.long	-515396076
	.long	1075188858
	.long	515396076
	.long	1077586821
	.long	858993459
	.long	1079190323
	.long	-1889785610
	.long	1079776706
	.long	1889785610
	.long	1078168125
	.long	-1717986918
	.long	1078761881
	.long	-171798692
	.long	1079340072
	.long	-1546188227
	.long	1079991664
	.long	515396076
	.long	1073867653
	.long	858993459
	.long	1075262259
	.long	858993459
	.long	1076310835
	.long	-1889785610
	.long	1076852162
	.long	1889785610
	.long	1078405693
	.long	-515396076
	.long	1079215226
	.long	1374389535
	.long	1078722232
	.long	1374389535
	.long	1079606968
	.long	2061584302
	.long	1077030420
	.long	1030792151
	.long	1078597386
	.long	-1202590843
	.long	1079207198
	.long	1717986918
	.long	1080010342
	.long	-1889785610
	.long	1076884930
	.long	-858993459
	.long	1078750412
	.long	-1374389535
	.long	1078157639
	.long	-1889785610
	.long	1079014850
	.long	515396076
	.long	1077816197
	.long	-343597384
	.long	1078540369
	.long	-1030792151
	.long	1078257909
	.long	1374389535
	.long	1079275192
	.long	858993459
	.long	1073689395
	.long	1030792151
	.long	1077253898
	.long	171798692
	.long	1079415767
	.long	515396076
	.long	1079962501
	.long	-171798692
	.long	1078049832
	.long	1202590843
	.long	1078680289
	.long	515396076
	.long	1078348677
	.long	-1717986918
	.long	1079470489
	.long	-1546188227
	.long	1077509488
	.long	1202590843
	.long	1078319841
	.long	-1030792151
	.long	1076078837
	.long	1717986918
	.long	1077454438
	.long	2061584302
	.long	1077882388
	.long	-1546188227
	.long	1078607216
	.long	515396076
	.long	1079298949
	.long	-858993459
	.long	1080003788
	.long	-1546188227
	.long	1077001584
	.long	1030792151
	.long	1078630154
	.long	-1202590843
	.long	1079538974
	.long	171798692
	.long	1079948247
	.long	2061584302
	.long	1078701588
	.long	-2061584302
	.long	1079435755
	.long	-1546188227
	.long	1077329264
	.long	-1030792151
	.long	1078225141
	.long	2061584302
	.long	1077669396
	.long	-1030792151
	.long	1078429941
	.long	-171798692
	.long	1079274536
	.long	858993459
	.long	1079870259
	.long	515396076
	.long	1077373829
	.long	-2061584302
	.long	1078612459
	.long	-2061584302
	.long	1076908523
	.long	171798692
	.long	1078977495
	.long	1374389535
	.long	1075257016
	.long	-1202590843
	.long	1078084894
	.long	1374389535
	.long	1079131832
	.long	-687194767
	.long	1079406755
	.long	1202590843
	.long	1079323361
	.long	-1717986918
	.long	1079695769
	.long	1202590843
	.long	1078393569
	.long	-515396076
	.long	1079235706
	.long	-2061584302
	.long	1072976363
	.long	515396076
	.long	1077144453
	.long	515396076
	.long	1077078917
	.long	1374389535
	.long	1078214328
	.long	2061584302
	.long	1077784084
	.long	-1030792151
	.long	1078814965
	.long	1374389535
	.long	1078828728
	.long	-515396076
	.long	1079161978
	.long	1030792151
	.long	1079453450
	.long	171798692
	.long	1080097751
	.long	-343597384
	.long	1076934737
	.long	-1202590843
	.long	1077495070
	.long	-171798692
	.long	1077386280
	.long	-1889785610
	.long	1079031234
	.long	0
	.long	1077772288
	.long	-515396076
	.long	1078719610
	.long	-1889785610
	.long	1074197954
	.long	0
	.long	1077968896
	.long	858993459
	.long	1079526195
	.long	-1202590843
	.long	1080098078
	.long	-858993459
	.long	1079348428
	.long	-1889785610
	.long	1079829954
	.long	2061584302
	.long	1077014036
	.long	-1374389535
	.long	1078550855
	.long	-1546188227
	.long	1079127408
	.long	171798692
	.long	1079849943
	.long	-515396076
	.long	1079354490
	.long	-171798692
	.long	1079651368
	.long	1374389535
	.long	1077583544
	.long	-171798692
	.long	1078934568
	.long	-2061584302
	.long	1078727147
	.long	171798692
	.long	1079714775
	.long	171798692
	.long	1079002071
	.long	1717986918
	.long	1079809638
	.long	-1030792151
	.long	1079335157
	.long	515396076
	.long	1079925637
	.long	-343597384
	.long	1078556753
	.long	515396076
	.long	1078971269
	.long	343597384
	.long	1077069742
	.long	-1889785610
	.long	1078318530
	.long	-1717986918
	.long	1079249305
	.long	1374389535
	.long	1079807672
	.long	858993459
	.long	1078653747
	.long	171798692
	.long	1079170007
	.long	343597384
	.long	1076414382
	.long	171798692
	.long	1077765079
	.long	-1546188227
	.long	1079332208
	.long	1546188227
	.long	1080029839
	.long	1546188227
	.long	1076740751
	.long	1889785610
	.long	1078422077
	.long	1546188227
	.long	1077052047
	.long	-858993459
	.long	1078308044
	.long	1374389535
	.long	1078386360
	.long	1374389535
	.long	1079312056
	.long	1717986918
	.long	1071015526
	.long	-1374389535
	.long	1076977991
	.long	-858993459
	.long	1078594764
	.long	-1374389535
	.long	1079398727
	.long	-1889785610
	.long	1078605250
	.long	-2061584302
	.long	1079341547
	.long	858993459
	.long	1078899507
	.long	858993459
	.long	1079591731
	.long	1030792151
	.long	1079068426
	.long	-343597384
	.long	1079797841
	.long	-2061584302
	.long	1074287083
	.long	1030792151
	.long	1077729034
	.long	-2061584302
	.long	1078473195
	.long	-1030792151
	.long	1079421173
	.long	1889785610
	.long	1079163453
	.long	0
	.long	1079615488
	.long	343597384
	.long	1079125934
	.long	-171798692
	.long	1079417896
	.long	-1202590843
	.long	1079203102
	.long	687194767
	.long	1079783260
	.long	2061584302
	.long	1079193108
	.long	2061584302
	.long	1079717396
	.long	343597384
	.long	1073956782
	.long	687194767
	.long	1078054748
	.long	1717986918
	.long	1076848230
	.long	687194767
	.long	1077923676
	.long	0
	.long	1078198272
	.long	1030792151
	.long	1078908682
	.long	-1374389535
	.long	1079218503
	.long	2061584302
	.long	1079705108
	.long	687194767
	.long	1077464924
	.long	1202590843
	.long	1078483681
	.long	687194767
	.long	1077677916
	.long	-1717986918
	.long	1078507929
	.long	1717986918
	.long	1078994534
	.long	-1889785610
	.long	1079346626
	.long	171798692
	.long	1078649815
	.long	-858993459
	.long	1079430348
	.long	-171798692
	.long	1078893608
	.long	687194767
	.long	1079480156
	.long	-343597384
	.long	1078466641
	.long	1202590843
	.long	1079466721
	.long	-1546188227
	.long	1078615408
	.long	-1030792151
	.long	1079281909
	.long	2061584302
	.long	1079025172
	.long	-343597384
	.long	1079531601
	.long	1717986918
	.long	1079256678
	.long	-171798692
	.long	1079770152
	.long	1546188227
	.long	1077445263
	.long	-343597384
	.long	1078884433
	.long	0
	.long	1077854208
	.long	-171798692
	.long	1078492200
	.long	171798692
	.long	1078682583
	.long	343597384
	.long	1079334830
	.long	1546188227
	.long	1079460495
	.long	0
	.long	1080070144
	.long	-515396076
	.long	1079538810
	.long	-1717986918
	.long	1080183193
	.long	1889785610
	.long	1079327293
	.long	1202590843
	.long	1079753441
	.long	-1546188227
	.long	1079401840
	.long	343597384
	.long	1079883694
	.long	-343597384
	.long	1079248977
	.long	1546188227
	.long	1079673487
	.long	-687194767
	.long	1079373987
	.long	858993459
	.long	1079735091
	.long	-1717986918
	.long	1075419545
	.long	-1030792151
	.long	1078216949
	.long	-515396076
	.long	1079440506
	.long	-1202590843
	.long	1080163614
	.long	1889785610
	.long	1079032381
	.long	-1202590843
	.long	1079469342
	.long	-515396076
	.long	1077990522
	.long	-687194767
	.long	1078702243
	.long	1546188227
	.long	1079497359
	.long	-1030792151
	.long	1080019189
	.long	343597384
	.long	1077888942
	.long	-1374389535
	.long	1078657351
	.long	-1889785610
	.long	1078638018
	.long	1717986918
	.long	1079481958
	.long	-1717986918
	.long	1077287321
	.long	-1374389535
	.long	1078165831
	.long	858993459
	.long	1078088499
	.long	1717986918
	.long	1078863462
	.long	-1374389535
	.long	1077797191
	.long	1546188227
	.long	1079001743
	.long	1717986918
	.long	1078535782
	.long	1374389535
	.long	1079344824
	.long	-515396076
	.long	1077417082
	.long	858993459
	.long	1078096691
	.long	-515396076
	.long	1079014522
	.long	1546188227
	.long	1079779983
	.long	-1030792151
	.long	1079339253
	.long	1546188227
	.long	1079935631
	.long	-1030792151
	.long	1079208181
	.long	1889785610
	.long	1079659069
	.long	-687194767
	.long	1077407907
	.long	1030792151
	.long	1078384394
	.long	-2061584302
	.long	1078604267
	.long	1546188227
	.long	1079181967
	.long	1717986918
	.long	1077290598
	.long	-171798692
	.long	1078656040
	.long	-515396076
	.long	1079239802
	.long	858993459
	.long	1079907123
	.long	515396076
	.long	1079499653
	.long	343597384
	.long	1080104878
	.long	343597384
	.long	1076676526
	.long	-171798692
	.long	1078475816
	.long	2061584302
	.long	1079168532
	.long	1202590843
	.long	1079765729
	.long	-1546188227
	.long	1076182384
	.long	0
	.long	1077526528
	.long	687194767
	.long	1078169436
	.long	-687194767
	.long	1078694051
	.long	-1546188227
	.long	1078435184
	.long	343597384
	.long	1079060398
	.long	-1030792151
	.long	1079060725
	.long	2061584302
	.long	1079533076
	.long	1030792151
	.long	1077434122
	.long	-343597384
	.long	1079048273
	.long	-1374389535
	.long	1079132487
	.long	1546188227
	.long	1079800463
	.long	343597384
	.long	1079465902
	.long	-343597384
	.long	1080074321
	.long	-2061584302
	.long	1079009771
	.long	-687194767
	.long	1079406755
	.long	-1202590843
	.long	1076364574
	.long	1546188227
	.long	1078305423
	.long	1546188227
	.long	1078076047
	.long	-515396076
	.long	1078916218
	.long	1546188227
	.long	1079509647
	.long	-1374389535
	.long	1080148295
	.long	-687194767
	.long	1078685859
	.long	1546188227
	.long	1079480975
	.long	171798692
	.long	1078674391
	.long	343597384
	.long	1079232430
	.long	687194767
	.long	1075416924
	.long	2061584302
	.long	1077210644
	.long	858993459
	.long	1076638515
	.long	-1889785610
	.long	1077900738
	.long	1374389535
	.long	1079156408
	.long	-2061584302
	.long	1079747051
	.long	858993459
	.long	1078956851
	.long	-1374389535
	.long	1079714119
	.long	515396076
	.long	1079352197
	.long	-1717986918
	.long	1080056217
	.long	1202590843
	.long	1079065313
	.long	-343597384
	.long	1079494737
	.long	1889785610
	.long	1079470653
	.long	2061584302
	.long	1080049172
	.long	1030792151
	.long	1077303050
	.long	1202590843
	.long	1077639905
	.long	-858993459
	.long	1075825868
	.long	2061584302
	.long	1077702164
	.long	1889785610
	.long	1079396925
	.long	171798692
	.long	1079788503
	.long	-1717986918
	.long	1078671769
	.long	687194767
	.long	1079398236
	.long	-687194767
	.long	1077817507
	.long	858993459
	.long	1078186803
	.long	1202590843
	.long	1078434529
	.long	1374389535
	.long	1079279288
	.long	1546188227
	.long	1077363343
	.long	-343597384
	.long	1079117905
	.long	515396076
	.long	1075112837
	.long	-171798692
	.long	1077058600
	.long	858993459
	.long	1079546675
	.long	2061584302
	.long	1080004116
	.long	1202590843
	.long	1079192289
	.long	-1202590843
	.long	1079923998
	.long	-1374389535
	.long	1076781383
	.long	0
	.long	1078091776
	.long	171798692
	.long	1077945303
	.long	-343597384
	.long	1078655057
	.long	-343597384
	.long	1078687825
	.long	0
	.long	1079472128
	.long	-858993459
	.long	1077791948
	.long	1374389535
	.long	1079054008
	.long	2061584302
	.long	1076538900
	.long	-687194767
	.long	1077915811
	.long	-858993459
	.long	1077529804
	.long	171798692
	.long	1078494167
	.long	-1889785610
	.long	1078654402
	.long	-2061584302
	.long	1079345643
	.long	2061584302
	.long	1078824468
	.long	-2061584302
	.long	1079362027
	.long	1030792151
	.long	1079023370
	.long	-1546188227
	.long	1079557488
	.long	-1202590843
	.long	1078232350
	.long	-687194767
	.long	1078816931
	.long	-1030792151
	.long	1078642933
	.long	-171798692
	.long	1079180328
	.long	1889785610
	.long	1079028285
	.long	1717986918
	.long	1079756390
	.long	1546188227
	.long	1079210639
	.long	515396076
	.long	1079683973
	.long	-1546188227
	.long	1078844784
	.long	-1546188227
	.long	1079512432
	.long	0
	.long	1078042624
	.long	-1889785610
	.long	1078769090
	.long	1717986918
	.long	1076946534
	.long	-2061584302
	.long	1078522347
	.long	-2061584302
	.long	1076220395
	.long	-2061584302
	.long	1078333931
	.long	343597384
	.long	1076053934
	.long	171798692
	.long	1078158295
	.long	-1889785610
	.long	1076901314
	.long	0
	.long	1078394880
	.long	1030792151
	.long	1076057866
	.long	0
	.long	1076985856
	.long	1202590843
	.long	1079073505
	.long	0
	.long	1079611392
	.long	1889785610
	.long	1076529725
	.long	858993459
	.long	1078235955
	.long	-2061584302
	.long	1075139051
	.long	2061584302
	.long	1077243412
	.long	0
	.long	1075937280
	.long	858993459
	.long	1078022963
	.long	-1030792151
	.long	1076308213
	.long	1030792151
	.long	1077892874
	.long	171798692
	.long	1078166487
	.long	-1374389535
	.long	1079230791
	.long	2061584302
	.long	1078210068
	.long	1202590843
	.long	1079110369
	.long	-2061584302
	.long	1078579691
	.long	515396076
	.long	1079315333
	.long	171798692
	.long	1075913687
	.long	-1889785610
	.long	1078474178
	.long	343597384
	.long	1078888366
	.long	-1717986918
	.long	1079413145
	.long	-858993459
	.long	1078021324
	.long	343597384
	.long	1078945710
	.long	343597384
	.long	1079383982
	.long	-515396076
	.long	1080183930
	.long	515396076
	.long	1078045573
	.long	-1030792151
	.long	1078790389
	.long	-687194767
	.long	1079414947
	.long	1717986918
	.long	1080127078
	.long	1202590843
	.long	1079036641
	.long	1030792151
	.long	1079658250
	.long	858993459
	.long	1078424371
	.long	-687194767
	.long	1079300259
	.long	1030792151
	.long	1076516618
	.long	-515396076
	.long	1078162554
	.long	858993459
	.long	1076441907
	.long	-171798692
	.long	1078164520
	.long	-858993459
	.long	1079487692
	.long	1030792151
	.long	1080119050
	.long	-2061584302
	.long	1075007979
	.long	858993459
	.long	1077015347
	.long	1889785610
	.long	1078241853
	.long	1546188227
	.long	1079104143
	.long	171798692
	.long	1079116759
	.long	-171798692
	.long	1079712808
	.long	1202590843
	.long	1077754593
	.long	1030792151
	.long	1078986506
	.long	-1546188227
	.long	1079262576
	.long	-2061584302
	.long	1079898603
	.long	-1202590843
	.long	1078543646
	.long	-171798692
	.long	1079381032
	.long	1717986918
	.long	1079141990
	.long	858993459
	.long	1079780147
	.long	-1717986918
	.long	1076828569
	.long	-1717986918
	.long	1077434777
	.long	-1030792151
	.long	1079113973
	.long	343597384
	.long	1079895982
	.long	858993459
	.long	1077310259
	.long	1717986918
	.long	1078609510
	.long	343597384
	.long	1077397422
	.long	-2061584302
	.long	1078751723
	.long	-515396076
	.long	1079047290
	.long	-171798692
	.long	1079606312
	.long	1202590843
	.long	1078385377
	.long	343597384
	.long	1079257006
	.long	515396076
	.long	1078422405
	.long	-1030792151
	.long	1079204085
	.long	-1889785610
	.long	1079117250
	.long	1546188227
	.long	1079706255
	.long	343597384
	.long	1079515054
	.long	-1374389535
	.long	1080113479
	.long	-171798692
	.long	1077271592
	.long	-343597384
	.long	1078360145
	.long	1546188227
	.long	1079411343
	.long	-1717986918
	.long	1079925145
	.long	-687194767
	.long	1078530211
	.long	1889785610
	.long	1079171645
	.long	687194767
	.long	1077923676
	.long	-171798692
	.long	1079131176
	.long	687194767
	.long	1077366620
	.long	0
	.long	1079136256
	.long	1717986918
	.long	1077651046
	.long	343597384
	.long	1078437806
	.long	-2061584302
	.long	1079202283
	.long	-171798692
	.long	1079749672
	.long	1202590843
	.long	1078754017
	.long	1202590843
	.long	1079565025
	.long	-1030792151
	.long	1078651125
	.long	2061584302
	.long	1079250452
	.long	-1030792151
	.long	1077586165
	.long	-171798692
	.long	1078238248
	.long	-687194767
	.long	1077424291
	.long	1546188227
	.long	1078444687
	.long	-1202590843
	.long	1078830366
	.long	1546188227
	.long	1079513743
	.long	1889785610
	.long	1077627453
	.long	-343597384
	.long	1078630481
	.long	-858993459
	.long	1078471884
	.long	-343597384
	.long	1079449681
	.long	-1374389535
	.long	1078436167
	.long	343597384
	.long	1079044014
	.long	343597384
	.long	1077446574
	.long	-1374389535
	.long	1078214983
	.long	-1717986918
	.long	1077516697
	.long	-1202590843
	.long	1078789406
	.long	-515396076
	.long	1078498426
	.long	-858993459
	.long	1079188684
	.long	-515396076
	.long	1078031482
	.long	-1717986918
	.long	1078360473
	.long	1202590843
	.long	1078311649
	.long	-1030792151
	.long	1078470901
	.long	-1202590843
	.long	1078347038
	.long	-1889785610
	.long	1078769090
	.long	-2061584302
	.long	1079345643
	.long	0
	.long	1080074240
	.long	1202590843
	.long	1079069409
	.long	1030792151
	.long	1079781130
	.long	1717986918
	.long	1077937766
	.long	-171798692
	.long	1078713384
	.long	687194767
	.long	1078644572
	.long	687194767
	.long	1079353180
	.long	-858993459
	.long	1079164108
	.long	171798692
	.long	1079718871
	.long	515396076
	.long	1078815621
	.long	1717986918
	.long	1079354982
	.long	-687194767
	.long	1079251107
	.long	1889785610
	.long	1079740989
	.long	1374389535
	.long	1079500472
	.long	343597384
	.long	1080057774
	.long	-343597384
	.long	1079441489
	.long	-171798692
	.long	1079774248
	.long	-1374389535
	.long	1078124871
	.long	1374389535
	.long	1078992568
	.long	-858993459
	.long	1078856908
	.long	687194767
	.long	1079275356
	.long	1717986918
	.long	1079244390
	.long	1717986918
	.long	1079912038
	.long	515396076
	.long	1077586821
	.long	-1202590843
	.long	1078371614
	.long	171798692
	.long	1073783767
	.long	2061584302
	.long	1077161492
	.long	-1202590843
	.long	1075283230
	.long	0
	.long	1078296576
	.long	-515396076
	.long	1077056634
	.long	1202590843
	.long	1078729441
	.long	-515396076
	.long	1077564538
	.long	-1202590843
	.long	1078904094
	.long	-515396076
	.long	1077597306
	.long	1889785610
	.long	1078872637
	.long	515396076
	.long	1079434117
	.long	2061584302
	.long	1079787028
	.long	858993459
	.long	1078833971
	.long	-1717986918
	.long	1079372185
	.long	-515396076
	.long	1078752378
	.long	1717986918
	.long	1079371366
	.long	1717986918
	.long	1077683814
	.long	-1546188227
	.long	1078222192
	.long	1717986918
	.long	1078601318
	.long	687194767
	.long	1079385948
	.long	687194767
	.long	1077153628
	.long	-1717986918
	.long	1078688153
	.long	343597384
	.long	1079195566
	.long	-171798692
	.long	1079827496
	.long	-687194767
	.long	1077751971
	.long	1374389535
	.long	1078746808
	.long	-687194767
	.long	1079218339
	.long	-171798692
	.long	1079815208
	.long	687194767
	.long	1077948252
	.long	343597384
	.long	1079199662
	.long	-1374389535
	.long	1079439687
	.long	-1374389535
	.long	1080060231
	.long	858993459
	.long	1078817587
	.long	171798692
	.long	1079493591
	.long	-858993459
	.long	1075104972
	.long	-1889785610
	.long	1077278146
	.long	-1374389535
	.long	1079341383
	.long	687194767
	.long	1079660380
	.long	1202590843
	.long	1079282401
	.long	1030792151
	.long	1079772938
	.long	-1889785610
	.long	1079416258
	.long	-1030792151
	.long	1080076533
	.long	1546188227
	.long	1078133391
	.long	-1374389535
	.long	1078870343
	.long	-858993459
	.long	1077021900
	.long	-171798692
	.long	1078295592
	.long	-1030792151
	.long	1079462133
	.long	-343597384
	.long	1080139857
	.long	-1374389535
	.long	1079468359
	.long	687194767
	.long	1080096604
	.long	-1030792151
	.long	1078823157
	.long	0
	.long	1079271424
	.long	-858993459
	.long	1078897868
	.long	-687194767
	.long	1079787683
	.long	-1374389535
	.long	1078427975
	.long	-1202590843
	.long	1079129374
	.long	-515396076
	.long	1079571578
	.long	-1030792151
	.long	1080144117
	.long	-687194767
	.long	1075802275
	.long	-858993459
	.long	1078045900
	.long	1546188227
	.long	1077166735
	.long	-1717986918
	.long	1078540697
	.long	1202590843
	.long	1079151329
	.long	-1889785610
	.long	1079481794
	.long	-1030792151
	.long	1077979381
	.long	-2061584302
	.long	1078276587
	.long	1717986918
	.long	1076930150
	.long	1030792151
	.long	1077122826
	.long	-1546188227
	.long	1079356784
	.long	1030792151
	.long	1080082186
	.long	-687194767
	.long	1077702819
	.long	858993459
	.long	1079223091
	.long	1546188227
	.long	1077445263
	.long	-1374389535
	.long	1078788423
	.long	-1030792151
	.long	1078397173
	.long	515396076
	.long	1079094149
	.long	171798692
	.long	1078756311
	.long	515396076
	.long	1079528325
	.long	-1717986918
	.long	1079351705
	.long	-515396076
	.long	1079891066
	.long	-2061584302
	.long	1078284779
	.long	858993459
	.long	1078973235
	.long	1889785610
	.long	1078037053
	.long	-1030792151
	.long	1079453941
	.long	171798692
	.long	1076274135
	.long	0
	.long	1078198272
	.long	858993459
	.long	1078211379
	.long	858993459
	.long	1079247667
	.long	-171798692
	.long	1078271016
	.long	-1546188227
	.long	1079188848
	.long	-1546188227
	.long	1077755248
	.long	-343597384
	.long	1078556753
	.long	343597384
	.long	1075136430
	.long	-1546188227
	.long	1077312880
	.long	1030792151
	.long	1079518986
	.long	171798692
	.long	1080093655
	.long	2061584302
	.long	1076571668
	.long	-1030792151
	.long	1078044917
	.long	-1717986918
	.long	1079548313
	.long	1889785610
	.long	1080087101
	.long	-687194767
	.long	1077129379
	.long	343597384
	.long	1078323118
	.long	-1374389535
	.long	1079038279
	.long	171798692
	.long	1079796695
	.long	171798692
	.long	1079100375
	.long	1374389535
	.long	1079705272
	.long	-1889785610
	.long	1072756162
	.long	858993459
	.long	1077572403
	.long	171798692
	.long	1078682583
	.long	1546188227
	.long	1079313039
	.long	-2061584302
	.long	1078383083
	.long	515396076
	.long	1079196549
	.long	-1374389535
	.long	1079374151
	.long	343597384
	.long	1080006574
	.long	1202590843
	.long	1077983969
	.long	-1546188227
	.long	1078590832
	.long	171798692
	.long	1077339095
	.long	858993459
	.long	1078473523
	.long	-2061584302
	.long	1078153707
	.long	-1717986918
	.long	1078860185
	.long	-171798692
	.long	1078885416
	.long	-171798692
	.long	1079606312
	.long	-515396076
	.long	1078441082
	.long	-1030792151
	.long	1079138549
	.long	1889785610
	.long	1078872637
	.long	1202590843
	.long	1079503585
	.long	343597384
	.long	1079379886
	.long	-515396076
	.long	1079686266
	.long	343597384
	.long	1079023534
	.long	858993459
	.long	1079583539
	.long	343597384
	.long	1079265198
	.long	-1546188227
	.long	1079831920
	.long	1374389535
	.long	1078607544
	.long	858993459
	.long	1079190323
	.long	858993459
	.long	1079329587
	.long	171798692
	.long	1079993303
	.long	343597384
	.long	1077938094
	.long	-343597384
	.long	1078868049
	.long	515396076
	.long	1078881157
	.long	858993459
	.long	1079632691
	.long	-1374389535
	.long	1078321479
	.long	1546188227
	.long	1079038607
	.long	1889785610
	.long	1078929981
	.long	0
	.long	1079382016
	.long	1546188227
	.long	1078223503
	.long	-1546188227
	.long	1079090544
	.long	2061584302
	.long	1079488020
	.long	687194767
	.long	1079930716
	.long	1546188227
	.long	1078002319
	.long	-1546188227
	.long	1079147888
	.long	858993459
	.long	1077949235
	.long	-171798692
	.long	1078918184
	.long	171798692
	.long	1078256599
	.long	858993459
	.long	1078989619
	.long	-2061584302
	.long	1079398891
	.long	-515396076
	.long	1079923834
	.long	1717986918
	.long	1078625894
	.long	1889785610
	.long	1079253565
	.long	-858993459
	.long	1077628108
	.long	-1546188227
	.long	1079057776
	.long	687194767
	.long	1079177052
	.long	343597384
	.long	1079912366
	.long	2061584302
	.long	1079008788
	.long	858993459
	.long	1079472947
	.long	2061584302
	.long	1079283220
	.long	-1202590843
	.long	1079850270
	.long	1546188227
	.long	1079534223
	.long	1889785610
	.long	1080214077
	.long	-2061584302
	.long	1076941291
	.long	-1374389535
	.long	1078075719
	.long	515396076
	.long	1077046149
	.long	-1717986918
	.long	1078245785
	.long	-515396076
	.long	1079366778
	.long	2061584302
	.long	1080079892
	.long	-1374389535
	.long	1079206215
	.long	1889785610
	.long	1079736893
	.long	687194767
	.long	1079213916
	.long	515396076
	.long	1079651205
	.long	-1374389535
	.long	1077535047
	.long	-343597384
	.long	1078917201
	.long	-515396076
	.long	1075123322
	.long	-2061584302
	.long	1078006251
	.long	515396076
	.long	1079163781
	.long	687194767
	.long	1079684956
	.long	-1717986918
	.long	1079294361
	.long	-687194767
	.long	1079914659
	.long	1202590843
	.long	1078131425
	.long	-1202590843
	.long	1079280926
	.long	-1374389535
	.long	1079058759
	.long	-858993459
	.long	1079659724
	.long	687194767
	.long	1078185820
	.long	171798692
	.long	1079010263
	.long	171798692
	.long	1079014359
	.long	343597384
	.long	1079228334
	.long	-1374389535
	.long	1077764423
	.long	1546188227
	.long	1078092431
	.long	2061584302
	.long	1079279124
	.long	687194767
	.long	1079762780
	.long	-687194767
	.long	1077276835
	.long	1202590843
	.long	1078737633
	.long	-343597384
	.long	1078138961
	.long	343597384
	.long	1078699950
	.long	343597384
	.long	1079093166
	.long	1030792151
	.long	1079453450
	.long	343597384
	.long	1074808750
	.long	1889785610
	.long	1076660797
	.long	343597384
	.long	1078806446
	.long	171798692
	.long	1079444439
	.long	-1202590843
	.long	1078232350
	.long	1889785610
	.long	1079069245
	.long	515396076
	.long	1078995845
	.long	-515396076
	.long	1079559290
	.long	1030792151
	.long	1079101194
	.long	1889785610
	.long	1079921213
	.long	-343597384
	.long	1075099729
	.long	1889785610
	.long	1078258237
	.long	-1202590843
	.long	1079391518
	.long	-1374389535
	.long	1080013127
	.long	-1717986918
	.long	1079425433
	.long	-1202590843
	.long	1080057118
	.long	687194767
	.long	1079373660
	.long	2061584302
	.long	1079954964
	.long	-1546188227
	.long	1078361456
	.long	-1030792151
	.long	1079167221
	.long	-2061584302
	.long	1078153707
	.long	-687194767
	.long	1079091363
	.long	343597384
	.long	1079113646
	.long	-2061584302
	.long	1079513579
	.long	2061584302
	.long	1079062036
	.long	1546188227
	.long	1079689871
	.long	1546188227
	.long	1078215311
	.long	343597384
	.long	1078732718
	.long	1374389535
	.long	1079090872
	.long	1889785610
	.long	1079544381
	.long	0
	.long	1078722560
	.long	1030792151
	.long	1079330570
	.long	858993459
	.long	1077850931
	.long	1202590843
	.long	1078819553
	.long	-515396076
	.long	1078334586
	.long	2061584302
	.long	1079225876
	.long	-1202590843
	.long	1079485726
	.long	-1889785610
	.long	1080176066
	.long	1374389535
	.long	1076567736
	.long	-1889785610
	.long	1078121922
	.long	-1546188227
	.long	1078214000
	.long	-515396076
	.long	1078654074
	.long	-858993459
	.long	1078144204
	.long	-2061584302
	.long	1078981099
	.long	-1717986918
	.long	1079343513
	.long	1202590843
	.long	1080019681
	.long	1374389535
	.long	1079107256
	.long	-171798692
	.long	1079725096
	.long	1202590843
	.long	1076935393
	.long	-1202590843
	.long	1078674718
	.long	515396076
	.long	1078250373
	.long	1717986918
	.long	1079088742
	.long	-1546188227
	.long	1078574448
	.long	343597384
	.long	1079338926
	.long	515396076
	.long	1079344005
	.long	-343597384
	.long	1080027217
	.long	-1374389535
	.long	1076879687
	.long	-2061584302
	.long	1077514731
	.long	-1546188227
	.long	1079246192
	.long	-1202590843
	.long	1079657758
	.long	1374389535
	.long	1079254712
	.long	-2061584302
	.long	1079943659
	.long	343597384
	.long	1078740910
	.long	515396076
	.long	1079200645
	.long	2061584302
	.long	1071099412
	.long	-1546188227
	.long	1074412912
	.long	-858993459
	.long	1078627532
	.long	-1374389535
	.long	1079505223
	.long	1717986918
	.long	1078748774
	.long	-1889785610
	.long	1079502274
	.long	171798692
	.long	1076995031
	.long	343597384
	.long	1078380462
	.long	515396076
	.long	1078012805
	.long	-171798692
	.long	1078541352
	.long	-2061584302
	.long	1077891563
	.long	-1717986918
	.long	1078843801
	.long	687194767
	.long	1079054172
	.long	1374389535
	.long	1079738040
	.long	858993459
	.long	1079112499
	.long	-343597384
	.long	1079695441
	.long	687194767
	.long	1079050076
	.long	1546188227
	.long	1079755407
	.long	1030792151
	.long	1078245130
	.long	-343597384
	.long	1078876241
	.long	1546188227
	.long	1076609679
	.long	343597384
	.long	1078273966
	.long	-1374389535
	.long	1079324999
	.long	-1030792151
	.long	1079601397
	.long	-343597384
	.long	1078515793
	.long	1202590843
	.long	1079126753
	.long	1030792151
	.long	1077335818
	.long	1202590843
	.long	1078852321
	.long	515396076
	.long	1076292485
	.long	687194767
	.long	1076629340
	.long	0
	.long	1075380224
	.long	1889785610
	.long	1077758525
	.long	1374389535
	.long	1075650232
	.long	343597384
	.long	1077905326
	.long	-171798692
	.long	1079151656
	.long	858993459
	.long	1079386931
	.long	-1546188227
	.long	1077992816
	.long	1374389535
	.long	1078787768
	.long	515396076
	.long	1078897541
	.long	1374389535
	.long	1079738040
	.long	-343597384
	.long	1078433873
	.long	515396076
	.long	1079311237
	.long	-171798692
	.long	1078320168
	.long	171798692
	.long	1078895575
	.long	-1202590843
	.long	1077265694
	.long	-515396076
	.long	1078604922
	.long	1374389535
	.long	1079197368
	.long	343597384
	.long	1079588782
	.long	343597384
	.long	1078060974
	.long	-858993459
	.long	1079020748
	.long	0
	.long	1078321152
	.long	-1030792151
	.long	1079232757
	.long	-2061584302
	.long	1078833643
	.long	1374389535
	.long	1079246520
	.long	-1546188227
	.long	1078500720
	.long	1717986918
	.long	1079498342
	.long	-1889785610
	.long	1079248322
	.long	515396076
	.long	1079520133
	.long	1202590843
	.long	1078467297
	.long	-515396076
	.long	1079370874
	.long	1889785610
	.long	1079179837
	.long	-2061584302
	.long	1079738859
	.long	343597384
	.long	1078454190
	.long	-1717986918
	.long	1079429529
	.long	687194767
	.long	1079484252
	.long	0
	.long	1080231936
	.long	1889785610
	.long	1079274045
	.long	-343597384
	.long	1080023121
	.long	343597384
	.long	1076479918
	.long	-1202590843
	.long	1078215966
	.long	-1546188227
	.long	1077329264
	.long	343597384
	.long	1078912942
	.long	1030792151
	.long	1078941450
	.long	858993459
	.long	1079407411
	.long	1374389535
	.long	1078730424
	.long	1717986918
	.long	1079428710
	.long	-1889785610
	.long	1077835202
	.long	1202590843
	.long	1078713057
	.long	2061584302
	.long	1078095380
	.long	-343597384
	.long	1079089233
	.long	0
	.long	1079500800
	.long	515396076
	.long	1079905157
	.long	-1030792151
	.long	1079068917
	.long	-858993459
	.long	1079553228
	.long	-171798692
	.long	1079508008
	.long	1546188227
	.long	1080189583
	.long	858993459
	.long	1075917619
	.long	-858993459
	.long	1077644492
	.long	-1030792151
	.long	1078946037
	.long	-1717986918
	.long	1079683481
	.long	1717986918
	.long	1077864038
	.long	171798692
	.long	1078420439
	.long	-1889785610
	.long	1078449602
	.long	1202590843
	.long	1079200481
	.long	-1202590843
	.long	1077962014
	.long	-2061584302
	.long	1078374891
	.long	1717986918
	.long	1078699622
	.long	171798692
	.long	1079174103
	.long	515396076
	.long	1079257989
	.long	-687194767
	.long	1079885987
	.long	1889785610
	.long	1078143549
	.long	2061584302
	.long	1079045652
	.long	1889785610
	.long	1079368253
	.long	-515396076
	.long	1079956602
	.long	1717986918
	.long	1078109798
	.long	1889785610
	.long	1078897213
	.long	-1889785610
	.long	1079018946
	.long	-1374389535
	.long	1079660871
	.long	0
	.long	1079042048
	.long	-171798692
	.long	1079524392
	.long	343597384
	.long	1075529646
	.long	-1889785610
	.long	1077687746
	.long	-171798692
	.long	1074879528
	.long	1546188227
	.long	1077740175
	.long	-1202590843
	.long	1079260446
	.long	-2061584302
	.long	1079988715
	.long	0
	.long	1077944320
	.long	-1374389535
	.long	1078665543
	.long	343597384
	.long	1079535534
	.long	1546188227
	.long	1080072847
	.long	0
	.long	1078501376
	.long	1202590843
	.long	1079192289
	.long	-687194767
	.long	1079517347
	.long	687194767
	.long	1079926620
	.long	-1202590843
	.long	1077994782
	.long	-1374389535
	.long	1079091527
	.long	-1374389535
	.long	1079304519
	.long	343597384
	.long	1080043438
	.long	687194767
	.long	1077612380
	.long	-687194767
	.long	1078874275
	.long	687194767
	.long	1073123164
	.long	2061584302
	.long	1076440596
	.long	-687194767
	.long	1076523171
	.long	-2061584302
	.long	1078776299
	.long	858993459
	.long	1076982579
	.long	515396076
	.long	1078070149
	.long	1717986918
	.long	1079105126
	.long	-1546188227
	.long	1079197040
	.long	-343597384
	.long	1079375953
	.long	-1374389535
	.long	1080056135
	.long	-2061584302
	.long	1078538731
	.long	-343597384
	.long	1079310417
	.long	-1030792151
	.long	1079396597
	.long	-687194767
	.long	1080119459
	.long	-1374389535
	.long	1076289863
	.long	1202590843
	.long	1078246113
	.long	1202590843
	.long	1079462625
	.long	-515396076
	.long	1080052858
	.long	-1546188227
	.long	1079037296
	.long	858993459
	.long	1079505715
	.long	-1030792151
	.long	1077750005
	.long	-1889785610
	.long	1078924738
	.long	1374389535
	.long	1079459512
	.long	1717986918
	.long	1080159846
	.long	1374389535
	.long	1078460088
	.long	-343597384
	.long	1079183441
	.long	2061584302
	.long	1077636628
	.long	2061584302
	.long	1079115284
	.long	1030792151
	.long	1078589194
	.long	171798692
	.long	1079518167
	.long	-2061584302
	.long	1079427563
	.long	343597384
	.long	1080090542
	.long	2061584302
	.long	1079512596
	.long	-1717986918
	.long	1080076697
	.long	1374389535
	.long	1078238904
	.long	1030792151
	.long	1078499082
	.long	-1202590843
	.long	1077167390
	.long	1202590843
	.long	1078254305
	.long	2061584302
	.long	1079176724
	.long	0
	.long	1079672832
	.long	-1546188227
	.long	1078533488
	.long	-1202590843
	.long	1079469342
	.long	1889785610
	.long	1079093821
	.long	-2061584302
	.long	1079771627
	.long	343597384
	.long	1079379886
	.long	-1374389535
	.long	1079972167
	.long	-1546188227
	.long	1079176560
	.long	1717986918
	.long	1079985766
	.long	0
	.long	1078943744
	.long	-858993459
	.long	1079422156
	.long	-1717986918
	.long	1076042137
	.long	-171798692
	.long	1078066216
	.long	-1717986918
	.long	1078987161
	.long	1030792151
	.long	1079625482
	.long	1546188227
	.long	1076839055
	.long	1202590843
	.long	1078590177
	.long	-687194767
	.long	1076883619
	.long	-1717986918
	.long	1078516121
	.long	-1202590843
	.long	1076905246
	.long	171798692
	.long	1078109143
	.long	-1546188227
	.long	1078099312
	.long	-1889785610
	.long	1078646210
	.long	1202590843
	.long	1079556833
	.long	-1546188227
	.long	1080077680
	.long	1202590843
	.long	1079376609
	.long	1030792151
	.long	1080139530
	.long	687194767
	.long	1078497116
	.long	-171798692
	.long	1079315496
	.long	171798692
	.long	1078666199
	.long	343597384
	.long	1079404462
	.long	-1202590843
	.long	1079104798
	.long	0
	.long	1079517184
	.long	1889785610
	.long	1078676029
	.long	1717986918
	.long	1079490150
	.long	0
	.long	1079054336
	.long	1030792151
	.long	1079781130
	.long	1374389535
	.long	1079021240
	.long	1546188227
	.long	1079521935
	.long	-858993459
	.long	1078521036
	.long	515396076
	.long	1079548805
	.long	-1374389535
	.long	1078468935
	.long	-1202590843
	.long	1079313694
	.long	1374389535
	.long	1075388088
	.long	-1717986918
	.long	1078139289
	.long	-343597384
	.long	1078179921
	.long	0
	.long	1079508992
	.long	-1374389535
	.long	1079447879
	.long	1202590843
	.long	1080077025
	.long	515396076
	.long	1079241605
	.long	-1889785610
	.long	1079748034
	.long	-687194767
	.long	1078923427
	.long	-515396076
	.long	1079710842
	.long	0
	.long	1078657024
	.long	-1374389535
	.long	1079431495
	.long	-2061584302
	.long	1077645803
	.long	1717986918
	.long	1079035494
	.long	1374389535
	.long	1078640312
	.long	-2061584302
	.long	1079435755
	.long	1889785610
	.long	1077168701
	.long	343597384
	.long	1078085550
	.long	-1030792151
	.long	1077700853
	.long	1202590843
	.long	1078475489
	.long	-1546188227
	.long	1079008624
	.long	515396076
	.long	1079311237
	.long	-343597384
	.long	1079474257
	.long	171798692
	.long	1080167383
	.long	-171798692
	.long	1078901800
	.long	1374389535
	.long	1079418552
	.long	171798692
	.long	1078166487
	.long	-858993459
	.long	1079155916
	.long	-1374389535
	.long	1078616391
	.long	2061584302
	.long	1079455252
	.long	687194767
	.long	1077120860
	.long	-2061584302
	.long	1078555115
	.long	-1889785610
	.long	1078023618
	.long	-1374389535
	.long	1078886727
	.long	0
	.long	1078009856
	.long	-1546188227
	.long	1078902128
	.long	515396076
	.long	1079069573
	.long	-1889785610
	.long	1079453122
	.long	-687194767
	.long	1079390371
	.long	1717986918
	.long	1079940710
	.long	171798692
	.long	1075356631
	.long	343597384
	.long	1077872558
	.long	515396076
	.long	1076128645
	.long	-858993459
	.long	1078414540
	.long	-858993459
	.long	1079540940
	.long	-2061584302
	.long	1080097259
	.long	-515396076
	.long	1079297146
	.long	343597384
	.long	1079908270
	.long	-2061584302
	.long	1079017963
	.long	-1717986918
	.long	1079667097
	.long	1202590843
	.long	1078975201
	.long	171798692
	.long	1079567319
	.long	2061584302
	.long	1077014036
	.long	343597384
	.long	1078052782
	.long	-1546188227
	.long	1079225712
	.long	-1030792151
	.long	1079896309
	.long	-1030792151
	.long	1072965877
	.long	-687194767
	.long	1077768355
	.long	1202590843
	.long	1079528161
	.long	-171798692
	.long	1080065064
	.long	0
	.long	1077428224
	.long	1030792151
	.long	1078703882
	.long	2061584302
	.long	1078439444
	.long	515396076
	.long	1079151493
	.long	171798692
	.long	1079268311
	.long	1030792151
	.long	1079801610
	.long	1030792151
	.long	1078122250
	.long	1030792151
	.long	1078531850
	.long	-343597384
	.long	1077573713
	.long	-515396076
	.long	1078129786
	.long	1889785610
	.long	1079159357
	.long	858993459
	.long	1079825203
	.long	1202590843
	.long	1075149537
	.long	-2061584302
	.long	1077965291
	.long	0
	.long	1076002816
	.long	1202590843
	.long	1076656865
	.long	1889785610
	.long	1077963325
	.long	-171798692
	.long	1078787112
	.long	-1202590843
	.long	1075971358
	.long	515396076
	.long	1078004613
	.long	-2061584302
	.long	1077924331
	.long	858993459
	.long	1079034675
	.long	-515396076
	.long	1079174266
	.long	1030792151
	.long	1079752458
	.long	1717986918
	.long	1076520550
	.long	515396076
	.long	1078815621
	.long	1374389535
	.long	1078156984
	.long	2061584302
	.long	1078808084
	.long	1717986918
	.long	1078019686
	.long	171798692
	.long	1078502359
	.long	1546188227
	.long	1075921551
	.long	-1030792151
	.long	1077045493
	.long	171798692
	.long	1079481303
	.long	1546188227
	.long	1080244879
	.long	1546188227
	.long	1078829711
	.long	-858993459
	.long	1079590092
	.long	-1889785610
	.long	1079051714
	.long	-171798692
	.long	1079508008
	.long	-343597384
	.long	1077999697
	.long	1717986918
	.long	1078748774
	.long	687194767
	.long	1077333852
	.long	1889785610
	.long	1078594109
	.long	1030792151
	.long	1076958986
	.long	687194767
	.long	1078570844
	.long	-1374389535
	.long	1077158215
	.long	2061584302
	.long	1078627860
	.long	343597384
	.long	1077381038
	.long	1030792151
	.long	1078368010
	.long	1374389535
	.long	1078075064
	.long	1717986918
	.long	1078683238
	.long	-858993459
	.long	1079315660
	.long	-1202590843
	.long	1079760158
	.long	-858993459
	.long	1077947596
	.long	-1889785610
	.long	1079203266
	.long	1030792151
	.long	1078155018
	.long	1202590843
	.long	1079134945
	.long	0
	.long	1075314688
	.long	1030792151
	.long	1077434122
	.long	171798692
	.long	1077814231
	.long	-1374389535
	.long	1078780231
	.long	2061584302
	.long	1077030420
	.long	-1546188227
	.long	1077542256
	.long	1030792151
	.long	1078490890
	.long	-2061584302
	.long	1079091691
	.long	687194767
	.long	1078964060
	.long	1374389535
	.long	1079332536
	.long	1374389535
	.long	1078025912
	.long	-515396076
	.long	1079100538
	.long	-2061584302
	.long	1077334507
	.long	1717986918
	.long	1078855270
	.long	515396076
	.long	1078676357
	.long	-515396076
	.long	1079280762
	.long	-1030792151
	.long	1078978805
	.long	-2061584302
	.long	1079620075
	.long	1202590843
	.long	1079085793
	.long	1030792151
	.long	1079682826
	.long	1030792151
	.long	1073469194
	.long	1889785610
	.long	1077234237
	.long	-343597384
	.long	1078687825
	.long	-1889785610
	.long	1079432642
	.long	-1374389535
	.long	1079222599
	.long	-1030792151
	.long	1079646453
	.long	-1546188227
	.long	1078762864
	.long	858993459
	.long	1079788339
	.long	1374389535
	.long	1079033528
	.long	-1717986918
	.long	1079536025
	.long	687194767
	.long	1076957020
	.long	-1717986918
	.long	1078188441
	.long	-687194767
	.long	1078087843
	.long	2061584302
	.long	1078988308
	.long	1374389535
	.long	1078574776
	.long	2061584302
	.long	1079045652
	.long	-171798692
	.long	1079196712
	.long	-1546188227
	.long	1079958896
	.long	2061584302
	.long	1079553556
	.long	-858993459
	.long	1080136908
	.long	-515396076
	.long	1077122170
	.long	-1889785610
	.long	1078482370
	.long	-1030792151
	.long	1077537013
	.long	0
	.long	1078681600
	.long	858993459
	.long	1077064499
	.long	-515396076
	.long	1077531770
	.long	-1374389535
	.long	1079259463
	.long	1202590843
	.long	1079888609
	.long	1030792151
	.long	1079379722
	.long	171798692
	.long	1080036311
	.long	343597384
	.long	1079220142
	.long	1030792151
	.long	1080073994
	.long	1889785610
	.long	1079032381
	.long	1889785610
	.long	1079667261
	.long	-1202590843
	.long	1077986590
	.long	-2061584302
	.long	1078727147
	.long	-515396076
	.long	1078514810
	.long	-515396076
	.long	1079350394
	.long	0
	.long	1077936128
	.long	-171798692
	.long	1078803496
	.long	-1374389535
	.long	1078198599
	.long	1546188227
	.long	1079075471
	.long	687194767
	.long	1078726492
	.long	-2061584302
	.long	1079144939
	.long	1546188227
	.long	1079509647
	.long	-1889785610
	.long	1080147394
	.long	-1889785610
	.long	1077933506
	.long	1030792151
	.long	1079056138
	.long	1889785610
	.long	1079482941
	.long	-1889785610
	.long	1079920066
	.long	-858993459
	.long	1079196876
	.long	-343597384
	.long	1079724113
	.long	1030792151
	.long	1078712074
	.long	-858993459
	.long	1079389388
	.long	1889785610
	.long	1074727485
	.long	-171798692
	.long	1078344744
	.long	-1374389535
	.long	1075634503
	.long	-1030792151
	.long	1078077685
	.long	-1374389535
	.long	1079005511
	.long	-515396076
	.long	1079514234
	.long	515396076
	.long	1079380869
	.long	-2061584302
	.long	1079460331
	.long	1546188227
	.long	1078878863
	.long	-343597384
	.long	1078982737
	.long	343597384
	.long	1078978478
	.long	171798692
	.long	1079325655
	.long	-1202590843
	.long	1078437150
	.long	343597384
	.long	1079257006
	.long	0
	.long	1079287808
	.long	-1030792151
	.long	1080027381
	.long	2061584302
	.long	1077898772
	.long	-1030792151
	.long	1078405365
	.long	-171798692
	.long	1076517928
	.long	-687194767
	.long	1077940387
	.long	-1030792151
	.long	1079466229
	.long	0
	.long	1080104960
	.long	-1374389535
	.long	1079333191
	.long	1202590843
	.long	1080148705
	.long	1374389535
	.long	1078304440
	.long	1202590843
	.long	1079708385
	.long	0
	.long	1079169024
	.long	515396076
	.long	1079987077
	.long	1202590843
	.long	1077983969
	.long	-515396076
	.long	1079460986
	.long	687194767
	.long	1079418716
	.long	0
	.long	1080147968
	.long	-343597384
	.long	1079244881
	.long	-687194767
	.long	1079869603
	.long	1030792151
	.long	1077204746
	.long	-858993459
	.long	1078938828
	.long	-343597384
	.long	1078974545
	.long	687194767
	.long	1079570268
	.long	-1889785610
	.long	1079195074
	.long	-343597384
	.long	1080006737
	.long	-515396076
	.long	1076302970
	.long	1717986918
	.long	1077814886
	.long	515396076
	.long	1079188357
	.long	-1374389535
	.long	1079873863
	.long	0
	.long	1078050816
	.long	858993459
	.long	1079030579
	.long	-1030792151
	.long	1078372597
	.long	1202590843
	.long	1079028449
	.long	1374389535
	.long	1079025336
	.long	1546188227
	.long	1079575183
	.long	2061584302
	.long	1079143956
	.long	171798692
	.long	1079559127
	.long	858993459
	.long	1076474675
	.long	-1546188227
	.long	1078058352
	.long	515396076
	.long	1078946693
	.long	687194767
	.long	1079439196
	.long	-1202590843
	.long	1075545374
	.long	0
	.long	1078099968
	.long	-687194767
	.long	1079398563
	.long	-1889785610
	.long	1080071618
	.long	-687194767
	.long	1079328931
	.long	1889785610
	.long	1079704125
	.long	1374389535
	.long	1077403320
	.long	-1030792151
	.long	1078724853
	.long	171798692
	.long	1078133719
	.long	858993459
	.long	1078735667
	.long	-2061584302
	.long	1079443947
	.long	-687194767
	.long	1080053923
	.long	1546188227
	.long	1078264463
	.long	-515396076
	.long	1079403642
	.long	1030792151
	.long	1076516618
	.long	1202590843
	.long	1077836513
	.long	1889785610
	.long	1079282237
	.long	-171798692
	.long	1080054824
	.long	2061584302
	.long	1077325332
	.long	2061584302
	.long	1078816276
	.long	1889785610
	.long	1075907133
	.long	-515396076
	.long	1078146170
	.long	0
	.long	1076903936
	.long	1202590843
	.long	1078278881
	.long	1717986918
	.long	1079006822
	.long	1546188227
	.long	1079530127
	.long	858993459
	.long	1077900083
	.long	-171798692
	.long	1078524968
	.long	1717986918
	.long	1078830694
	.long	2061584302
	.long	1079369236
	.long	1030792151
	.long	1079002890
	.long	-1717986918
	.long	1079859609
	.long	171798692
	.long	1077765079
	.long	687194767
	.long	1078554460
	.long	-858993459
	.long	1077316812
	.long	858993459
	.long	1078956851
	.long	-1717986918
	.long	1078098329
	.long	343597384
	.long	1079003054
	.long	1546188227
	.long	1079304847
	.long	343597384
	.long	1079961518
	.long	0
	.long	1076330496
	.long	2061584302
	.long	1077489172
	.long	-2061584302
	.long	1078964715
	.long	687194767
	.long	1079623516
	.long	-1889785610
	.long	1078900162
	.long	1717986918
	.long	1079301734
	.long	687194767
	.long	1078005596
	.long	858993459
	.long	1079059251
	.long	687194767
	.long	1079422812
	.long	-687194767
	.long	1080234147
	.long	1889785610
	.long	1078561341
	.long	-1889785610
	.long	1079281090
	.long	343597384
	.long	1077168046
	.long	1202590843
	.long	1078237921
	.long	-171798692
	.long	1079184424
	.long	-343597384
	.long	1079740497
	.long	1374389535
	.long	1078132408
	.long	-687194767
	.long	1079038115
	.long	858993459
	.long	1079427891
	.long	687194767
	.long	1080194908
	.long	1889785610
	.long	1076333117
	.long	-171798692
	.long	1077140520
	.long	1889785610
	.long	1077692989
	.long	-343597384
	.long	1079040081
	.long	-687194767
	.long	1079021731
	.long	858993459
	.long	1079542579
	.long	-2061584302
	.long	1077318123
	.long	-1374389535
	.long	1078001991
	.long	-858993459
	.long	1076907212
	.long	1374389535
	.long	1077501624
	.long	1546188227
	.long	1078354575
	.long	1030792151
	.long	1079256842
	.long	-2061584302
	.long	1078407659
	.long	-2061584302
	.long	1079292395
	.long	-1202590843
	.long	1079149854
	.long	-1717986918
	.long	1079830937
	.long	-858993459
	.long	1078627532
	.long	1374389535
	.long	1079451320
	.long	1202590843
	.long	1067743969
	.long	343597384
	.long	1077725102
	.long	0
	.long	1077739520
	.long	-1374389535
	.long	1078272327
	.long	-1546188227
	.long	1075002736
	.long	1889785610
	.long	1077496381
	.long	-1546188227
	.long	1077722480
	.long	1717986918
	.long	1078429286
	.long	-2061584302
	.long	1077973483
	.long	-1202590843
	.long	1079072030
	.long	-1546188227
	.long	1079377264
	.long	-687194767
	.long	1080041635
	.long	1374389535
	.long	1078673080
	.long	-515396076
	.long	1079170170
	.long	687194767
	.long	1078112092
	.long	515396076
	.long	1078807429
	.long	-1202590843
	.long	1079567646
	.long	1717986918
	.long	1080196710
	.long	2061584302
	.long	1077259796
	.long	687194767
	.long	1078734684
	.long	2061584302
	.long	1073196564
	.long	-1030792151
	.long	1078110453
	.long	-687194767
	.long	1079427235
	.long	-687194767
	.long	1080088739
	.long	1546188227
	.long	1079382671
	.long	1030792151
	.long	1080047370
	.long	-1546188227
	.long	1077960048
	.long	1889785610
	.long	1078823485
	.long	-515396076
	.long	1079518330
	.long	687194767
	.long	1080094556
	.long	1717986918
	.long	1079412326
	.long	-1202590843
	.long	1080053022
	.long	-1889785610
	.long	1077163458
	.long	1889785610
	.long	1078463037
	.long	-687194767
	.long	1078620323
	.long	1717986918
	.long	1079096934
	.long	-171798692
	.long	1079405608
	.long	2061584302
	.long	1080077844
	.long	-1546188227
	.long	1077460336
	.long	343597384
	.long	1078585262
	.long	343597384
	.long	1079146414
	.long	-2061584302
	.long	1079648747
	.long	515396076
	.long	1078913925
	.long	-1717986918
	.long	1079441817
	.long	343597384
	.long	1079007150
	.long	1717986918
	.long	1079314022
	.long	858993459
	.long	1078244147
	.long	171798692
	.long	1079161815
	.long	-171798692
	.long	1078139944
	.long	-1374389535
	.long	1078673735
	.long	-1546188227
	.long	1077034352
	.long	0
	.long	1078231040
	.long	171798692
	.long	1079411671
	.long	515396076
	.long	1079978885
	.long	1374389535
	.long	1074208440
	.long	-1030792151
	.long	1078003957
	.long	-1030792151
	.long	1079249141
	.long	687194767
	.long	1079684956
	.long	1889785610
	.long	1079409213
	.long	-1546188227
	.long	1080028528
	.long	-687194767
	.long	1078874275
	.long	343597384
	.long	1079617454
	.long	0
	.long	1078034432
	.long	-1374389535
	.long	1079054663
	.long	-343597384
	.long	1079093329
	.long	-1374389535
	.long	1079574855
	.long	-858993459
	.long	1076841676
	.long	-1889785610
	.long	1078007234
	.long	-1030792151
	.long	1079109877
	.long	687194767
	.long	1079504732
	.long	-858993459
	.long	1077021900
	.long	-858993459
	.long	1078217932
	.long	1889785610
	.long	1078135357
	.long	-1374389535
	.long	1078542663
	.long	-1546188227
	.long	1079389552
	.long	-687194767
	.long	1079738531
	.long	-515396076
	.long	1076892794
	.long	-515396076
	.long	1078719610
	.long	858993459
	.long	1079255859
	.long	1374389535
	.long	1079762616
	.long	-687194767
	.long	1078071459
	.long	687194767
	.long	1078947676
	.long	-343597384
	.long	1079343185
	.long	-1546188227
	.long	1079717232
	.long	0
	.long	1078550528
	.long	-1202590843
	.long	1079616798
	.long	171798692
	.long	1079366615
	.long	-1546188227
	.long	1080167792
	.long	-1889785610
	.long	1077409218
	.long	-1546188227
	.long	1078271344
	.long	171798692
	.long	1079108567
	.long	858993459
	.long	1079853875
	.long	1546188227
	.long	1079390863
	.long	171798692
	.long	1080126423
	.long	1717986918
	.long	1079543398
	.long	687194767
	.long	1079951196
	.long	2061584302
	.long	1077587476
	.long	-1374389535
	.long	1078600007
	.long	-1202590843
	.long	1076430110
	.long	1030792151
	.long	1077073674
	.long	0
	.long	1079025664
	.long	-343597384
	.long	1079732305
	.long	2061584302
	.long	1077095956
	.long	-515396076
	.long	1078809722
	.long	1202590843
	.long	1079216865
	.long	-1202590843
	.long	1079907614
	.long	-343597384
	.long	1076639825
	.long	-1889785610
	.long	1078236610
	.long	1889785610
	.long	1077889597
	.long	1030792151
	.long	1078753034
	.long	687194767
	.long	1078177628
	.long	-171798692
	.long	1078893608
	.long	858993459
	.long	1072378675
	.long	1717986918
	.long	1078306406
	.long	-1717986918
	.long	1078491545
	.long	858993459
	.long	1079120691
	.long	-171798692
	.long	1079278632
	.long	1030792151
	.long	1080002314
	.long	-1546188227
	.long	1079082352
	.long	515396076
	.long	1079585669
	.long	515396076
	.long	1078471557
	.long	-1546188227
	.long	1079184752
	.long	-1374389535
	.long	1079025991
	.long	171798692
	.long	1079960535
	.long	1717986918
	.long	1076880998
	.long	343597384
	.long	1077987246
	.long	1889785610
	.long	1075186237
	.long	-1202590843
	.long	1077429534
	.long	0
	.long	1077723136
	.long	-343597384
	.long	1079191633
	.long	1717986918
	.long	1076520550
	.long	-1030792151
	.long	1077831925
	.long	-171798692
	.long	1078574120
	.long	1546188227
	.long	1079358095
	.long	-1889785610
	.long	1079326146
	.long	1546188227
	.long	1080033935
	.long	1202590843
	.long	1078557409
	.long	858993459
	.long	1079149363
	.long	1889785610
	.long	1079188029
	.long	1374389535
	.long	1079897784
	.long	515396076
	.long	1079167877
	.long	515396076
	.long	1079667589
	.long	-858993459
	.long	1074711756
	.long	171798692
	.long	1077453783
	.long	-343597384
	.long	1078286417
	.long	515396076
	.long	1079094149
	.long	0
	.long	1079357440
	.long	1546188227
	.long	1080081039
	.long	1374389535
	.long	1075879608
	.long	-687194767
	.long	1076981923
	.long	-1889785610
	.long	1079137730
	.long	-1717986918
	.long	1079675289
	.long	858993459
	.long	1077957427
	.long	687194767
	.long	1079029596
	.long	1889785610
	.long	1078356541
	.long	-1889785610
	.long	1079133634
	.long	343597384
	.long	1075857326
	.long	-171798692
	.long	1078852648
	.long	1717986918
	.long	1078511206
	.long	-515396076
	.long	1079174266
	.long	-343597384
	.long	1077852241
	.long	1546188227
	.long	1078461071
	.long	2061584302
	.long	1079451156
	.long	-858993459
	.long	1080087756
	.long	1717986918
	.long	1079264870
	.long	2061584302
	.long	1080077844
	.long	515396076
	.long	1077783429
	.long	0
	.long	1078796288
	.long	-343597384
	.long	1079322705
	.long	-858993459
	.long	1080063180
	.long	-1546188227
	.long	1076919664
	.long	-1717986918
	.long	1078163865
	.long	1374389535
	.long	1079205560
	.long	-1717986918
	.long	1080035737
	.long	1202590843
	.long	1078295265
	.long	1202590843
	.long	1079155425
	.long	-1546188227
	.long	1079356784
	.long	343597384
	.long	1079707566
	.long	1202590843
	.long	1077607137
	.long	-1374389535
	.long	1078157639
	.long	-515396076
	.long	1078867066
	.long	171798692
	.long	1079436247
	.long	1889785610
	.long	1079441981
	.long	2061584302
	.long	1080051220
	.long	-1030792151
	.long	1079347445
	.long	-1546188227
	.long	1080038768
	.long	-1030792151
	.long	1079437557
	.long	1202590843
	.long	1080140513
	.long	343597384
	.long	1078716334
	.long	171798692
	.long	1079526359
	.long	-1374389535
	.long	1078468935
	.long	-2061584302
	.long	1079218667
	.long	1374389535
	.long	1078247096
	.long	-1030792151
	.long	1079171317
	.long	1889785610
	.long	1078086205
	.long	0
	.long	1078837248
	.long	-171798692
	.long	1079188520
	.long	515396076
	.long	1079335813
	.long	171798692
	.long	1079124951
	.long	-515396076
	.long	1079682170
	.long	343597384
	.long	1079130030
	.long	515396076
	.long	1079667589
	.long	171798692
	.long	1076798423
	.long	-1546188227
	.long	1076215152
	.long	-343597384
	.long	1075624017
	.long	343597384
	.long	1077823406
	.long	-1374389535
	.long	1079451975
	.long	1030792151
	.long	1079981834
	.long	1889785610
	.long	1079474749
	.long	-1374389535
	.long	1080105287
	.long	-1374389535
	.long	1077895495
	.long	171798692
	.long	1078993879
	.long	2061584302
	.long	1079442964
	.long	-515396076
	.long	1080054906
	.long	-1717986918
	.long	1077418393
	.long	343597384
	.long	1078937518
	.long	1717986918
	.long	1078265446
	.long	858993459
	.long	1079010099
	.long	1030792151
	.long	1077057290
	.long	-515396076
	.long	1078244474
	.long	-343597384
	.long	1078261841
	.long	1717986918
	.long	1078920806
	.long	0
	.long	1072168960
	.long	1374389535
	.long	1078369976
	.long	1889785610
	.long	1079437885
	.long	-2061584302
	.long	1079923179
	.long	0
	.long	1079390208
	.long	-515396076
	.long	1079764090
	.long	343597384
	.long	1076512686
	.long	687194767
	.long	1078652764
	.long	343597384
	.long	1079035822
	.long	-858993459
	.long	1079516364
	.long	-515396076
	.long	1078711418
	.long	-515396076
	.long	1079395450
	.long	-171798692
	.long	1076616232
	.long	1202590843
	.long	1077492449
	.long	1717986918
	.long	1075340902
	.long	-687194767
	.long	1077571747
	.long	343597384
	.long	1077364654
	.long	1202590843
	.long	1078491873
	.long	-1717986918
	.long	1076697497
	.long	-858993459
	.long	1077316812
	.long	-1717986918
	.long	1077926297
	.long	-1717986918
	.long	1078344089
	.long	2061584302
	.long	1078119956
	.long	-1202590843
	.long	1078961438
	.long	-687194767
	.long	1077342371
	.long	-171798692
	.long	1078287400
	.long	-2061584302
	.long	1078759915
	.long	-1374389535
	.long	1079402823
	.long	0
	.long	1078607872
	.long	-1546188227
	.long	1079209328
	.long	-1889785610
	.long	1079567810
	.long	-1030792151
	.long	1080246517
	.long	515396076
	.long	1078086533
	.long	-171798692
	.long	1078508584
	.long	1030792151
	.long	1077565194
	.long	-1202590843
	.long	1078699294
	.long	-343597384
	.long	1079519313
	.long	1889785610
	.long	1080201789
	.long	858993459
	.long	1079440179
	.long	-2061584302
	.long	1080091115
	.long	1030792151
	.long	1079478026
	.long	-1202590843
	.long	1080083742
	.long	1546188227
	.long	1078706831
	.long	1030792151
	.long	1079506698
	.long	1889785610
	.long	1077529149
	.long	-1546188227
	.long	1078607216
	.long	-171798692
	.long	1079319592
	.long	-1030792151
	.long	1079871733
	.long	1546188227
	.long	1075430031
	.long	171798692
	.long	1077797847
	.long	-1717986918
	.long	1078065561
	.long	171798692
	.long	1078469591
	.long	858993459
	.long	1077932851
	.long	515396076
	.long	1078799237
	.long	1374389535
	.long	1078230712
	.long	-1030792151
	.long	1079077109
	.long	858993459
	.long	1076409139
	.long	0
	.long	1077542912
	.long	2061584302
	.long	1079041556
	.long	343597384
	.long	1079556014
	.long	858993459
	.long	1078760243
	.long	687194767
	.long	1079451484
	.long	1202590843
	.long	1079057121
	.long	-1374389535
	.long	1079517511
	.long	-1889785610
	.long	1076688322
	.long	-515396076
	.long	1077761146
	.long	858993459
	.long	1077998387
	.long	0
	.long	1079099392
	.long	-1374389535
	.long	1071833415
	.long	-1889785610
	.long	1077441986
	.long	1889785610
	.long	1077463613
	.long	-1717986918
	.long	1078040985
	.long	1030792151
	.long	1079080714
	.long	687194767
	.long	1079512924
	.long	-1889785610
	.long	1079203266
	.long	1374389535
	.long	1079922360
	.long	343597384
	.long	1076922286
	.long	-1717986918
	.long	1077713305
	.long	-858993459
	.long	1079524556
	.long	-1889785610
	.long	1080141250
	.long	1889785610
	.long	1079257661
	.long	171798692
	.long	1079747543
	.long	1546188227
	.long	1078379151
	.long	-1889785610
	.long	1079416258
	.long	343597384
	.long	1078953902
	.long	-343597384
	.long	1079674961
	.long	858993459
	.long	1078293299
	.long	687194767
	.long	1079164764
	.long	-515396076
	.long	1078580346
	.long	-858993459
	.long	1079233740
	.long	-1717986918
	.long	1079253401
	.long	1030792151
	.long	1079822090
	.long	-1717986918
	.long	1077500313
	.long	343597384
	.long	1078380462
	.long	-515396076
	.long	1079063674
	.long	1717986918
	.long	1079477862
	.long	171798692
	.long	1076634583
	.long	343597384
	.long	1077544878
	.long	-171798692
	.long	1077828648
	.long	1546188227
	.long	1078821519
	.long	687194767
	.long	1078194012
	.long	171798692
	.long	1079006167
	.long	2061584302
	.long	1075097108
	.long	-1546188227
	.long	1077443952
	.long	-687194767
	.long	1079206051
	.long	171798692
	.long	1079800791
	.long	1889785610
	.long	1076038205
	.long	-1202590843
	.long	1077789982
	.long	-1717986918
	.long	1075878297
	.long	-1546188227
	.long	1077427568
	.long	-1202590843
	.long	1078330654
	.long	-343597384
	.long	1079449681
	.long	-2061584302
	.long	1075859947
	.long	0
	.long	1076690944
	.long	-1030792151
	.long	1078454517
	.long	-1717986918
	.long	1079146905
	.long	1030792151
	.long	1079420682
	.long	-515396076
	.long	1079661690
	.long	-1374389535
	.long	1079124295
	.long	-2061584302
	.long	1079435755
	.long	-343597384
	.long	1078376529
	.long	343597384
	.long	1079072686
	.long	515396076
	.long	1079167877
	.long	-1889785610
	.long	1079580098
	.long	-858993459
	.long	1075989708
	.long	1202590843
	.long	1077246689
	.long	-858993459
	.long	1076415692
	.long	-1202590843
	.long	1077626142
	.long	2061584302
	.long	1077939732
	.long	-1546188227
	.long	1078787440
	.long	343597384
	.long	1078962094
	.long	0
	.long	1079480320
	.long	1374389535
	.long	1079082680
	.long	-687194767
	.long	1079586979
	.long	-1546188227
	.long	1079545200
	.long	1202590843
	.long	1080177377
	.long	1202590843
	.long	1078426337
	.long	1202590843
	.long	1078819553
	.long	858993459
	.long	1077605171
	.long	0
	.long	1078370304
	.long	-1030792151
	.long	1079326965
	.long	171798692
	.long	1080009687
	.long	-1889785610
	.long	1076327874
	.long	-343597384
	.long	1077868625
	.long	171798692
	.long	1079477207
	.long	-1546188227
	.long	1079946608
	.long	1546188227
	.long	1079202447
	.long	-1202590843
	.long	1080018206
	.long	-1546188227
	.long	1078943088
	.long	0
	.long	1079599104
	.long	1030792151
	.long	1079572234
	.long	343597384
	.long	1080117166
	.long	1889785610
	.long	1078405693
	.long	-858993459
	.long	1079119052
	.long	-1546188227
	.long	1077312880
	.long	1202590843
	.long	1078663905
	.long	1374389535
	.long	1079504568
	.long	1202590843
	.long	1080085217
	.long	1202590843
	.long	1079413473
	.long	1202590843
	.long	1080034017
	.long	858993459
	.long	1079059251
	.long	-1202590843
	.long	1079452958
	.long	-515396076
	.long	1079112826
	.long	343597384
	.long	1079576494
	.long	-1030792151
	.long	1077954805
	.long	1717986918
	.long	1079105126
	.long	-1889785610
	.long	1078236610
	.long	-858993459
	.long	1079127244
	.long	1717986918
	.long	1075471974
	.long	-687194767
	.long	1078087843
	.long	-687194767
	.long	1079488675
	.long	-1030792151
	.long	1080094965
	.long	1030792151
	.long	1077761802
	.long	-515396076
	.long	1079260282
	.long	-1374389535
	.long	1079402823
	.long	-2061584302
	.long	1080134123
	.long	1546188227
	.long	1079513743
	.long	-1546188227
	.long	1080032624
	.long	1889785610
	.long	1078700605
	.long	-515396076
	.long	1079407738
	.long	687194767
	.long	1076006748
	.long	-343597384
	.long	1077360721
	.long	-858993459
	.long	1079524556
	.long	-858993459
	.long	1080020172
	.long	1717986918
	.long	1079010918
	.long	-1889785610
	.long	1079707074
	.long	-1374389535
	.long	1079292231
	.long	343597384
	.long	1079936942
	.long	0
	.long	1079459840
	.long	-2061584302
	.long	1079738859
	.long	687194767
	.long	1079291740
	.long	1717986918
	.long	1079768678
	.long	-515396076
	.long	1079473274
	.long	1030792151
	.long	1080133386
	.long	1546188227
	.long	1079485071
	.long	-1717986918
	.long	1079982489
	.long	1030792151
	.long	1078368010
	.long	2061584302
	.long	1079619092
	.long	-1546188227
	.long	1077493104
	.long	2061584302
	.long	1078054420
	.long	-858993459
	.long	1077333196
	.long	-1546188227
	.long	1078812016
	.long	1717986918
	.long	1079244390
	.long	343597384
	.long	1079920558
	.long	1374389535
	.long	1075879608
	.long	-343597384
	.long	1078245457
	.long	-687194767
	.long	1079558307
	.long	1717986918
	.long	1080059494
	.long	-1374389535
	.long	1071833415
	.long	343597384
	.long	1076807598
	.long	-1202590843
	.long	1078994206
	.long	-515396076
	.long	1079690362
	.long	343597384
	.long	1079388078
	.long	-1717986918
	.long	1079929241
	.long	343597384
	.long	1079273390
	.long	-1889785610
	.long	1080108482
	.long	171798692
	.long	1079477207
	.long	-858993459
	.long	1080071372
	.long	-1374389535
	.long	1079517511
	.long	343597384
	.long	1079961518
	.long	2061584302
	.long	1073982996
	.long	171798692
	.long	1078092759
	.long	-1202590843
	.long	1077314846
	.long	343597384
	.long	1078314926
	.long	515396076
	.long	1076521861
	.long	1889785610
	.long	1078053437
	.long	1717986918
	.long	1075734118
	.long	-687194767
	.long	1076932771
	.long	-1030792151
	.long	1079023861
	.long	-171798692
	.long	1079516200
	.long	-1546188227
	.long	1075264880
	.long	1717986918
	.long	1077306982
	.long	1546188227
	.long	1077527183
	.long	858993459
	.long	1078489907
	.long	-171798692
	.long	1079495720
	.long	-687194767
	.long	1080182947
	.long	1202590843
	.long	1078303457
	.long	-687194767
	.long	1079283875
	.long	-1546188227
	.long	1079049584
	.long	-858993459
	.long	1079766220
	.long	-1546188227
	.long	1079332208
	.long	0
	.long	1080016896
	.long	-1889785610
	.long	1075049922
	.long	0
	.long	1077379072
	.long	515396076
	.long	1079065477
	.long	-687194767
	.long	1079668899
	.long	1889785610
	.long	1078970941
	.long	515396076
	.long	1079266181
	.long	-2061584302
	.long	1079271915
	.long	1030792151
	.long	1079658250
	.long	1889785610
	.long	1078979133
	.long	1889785610
	.long	1079425597
	.long	1374389535
	.long	1078681272
	.long	-687194767
	.long	1079476387
	.long	515396076
	.long	1078913925
	.long	515396076
	.long	1079733125
	.long	-687194767
	.long	1078743203
	.long	-1889785610
	.long	1079440834
	.long	1030792151
	.long	1077450506
	.long	1889785610
	.long	1078561341
	.long	-2061584302
	.long	1078940139
	.long	-1374389535
	.long	1079378247
	.long	1546188227
	.long	1079378575
	.long	343597384
	.long	1080070062
	.long	-2061584302
	.long	1079390699
	.long	515396076
	.long	1080097669
	.long	515396076
	.long	1077062533
	.long	0
	.long	1078501376
	.long	-171798692
	.long	1079159848
	.long	-2061584302
	.long	1079914987
	.long	343597384
	.long	1078990766
	.long	1546188227
	.long	1079636623
	.long	-687194767
	.long	1077227683
	.long	-1202590843
	.long	1078863134
	.long	858993459
	.long	1078604595
	.long	-171798692
	.long	1079421992
	.long	-1546188227
	.long	1076346224
	.long	687194767
	.long	1077481308
	.long	1546188227
	.long	1075626639
	.long	1717986918
	.long	1077274214
	.long	687194767
	.long	1078095708
	.long	2061584302
	.long	1079029268
	.long	-2061584302
	.long	1078907371
	.long	-343597384
	.long	1079437393
	.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 linear61 linear61.cu -lm
 * 
 * To run:
 *   .linear61
 * 
 *****************************************************************************/
typedef struct point_t {
  double x;
  double y;
} point_t;

point_t data[] = {
  {82.75,102.99},{65.49,98.18},{78.56,105.35},{68.67,85.29},
  {65.81,112.85},{82.84,113.68},{65.55,98.46},{71.98,114.52},
  {73.16,126.43},{76.40,134.02},{76.82,97.29},{47.47,79.78},
  {41.13,78.60},{64.13,97.66},{34.81,71.87},{67.40,124.95},
  {78.92,119.15},{70.50,120.57},{68.55,101.00},{36.91,75.79},
  {48.94,91.26},{57.95,105.08},{66.28,93.09},{ 6.10,26.68},
  {49.17,86.16},{42.11,71.14},{59.66,95.41},{87.00,120.27},
  {19.21,52.28},{26.03,39.19},{78.42,102.92},{39.60,62.76},
  {31.86,67.82},{98.79,134.45},{41.63,79.01},{47.04,79.06},
  {87.79,118.72},{ 8.41,35.11},{12.18,26.31},{66.63,96.34},
  {85.67,126.04},{95.24,124.55},{91.59,133.08},{18.71,35.87},
  {50.54,88.79},{55.59,80.88},{57.45,80.08},{69.68,107.06},
  {68.48,98.14},{42.52,68.34},{60.75,82.69},{63.82,95.62},
  {83.82,117.19},{ 7.19,17.98},{ 0.55,20.03},{29.40,42.51},
  {35.42,66.35},{75.00,117.98},{82.07,115.32},{13.45,33.99},
  {55.14,97.79},{33.86,51.12},{75.48,106.36},{33.96,60.19},
  {53.84,98.26},{46.84,76.33},{64.56,111.80},{92.83,130.92},
  {11.02,24.55},{14.14,24.08},{34.19,69.54},{62.61,109.86},
  {92.29,125.64},{ 1.14,23.05},{55.58,83.02},{19.23,54.48},
  {43.58,69.39},{45.14,74.43},{81.14,114.66},{82.99,118.22},
  {66.82,94.85},{97.53,133.25},{ 7.24, 9.11},{15.88,33.92},
  {53.36,87.02},{42.76,77.23},{92.48,119.31},{68.85,103.81},
  {91.48,151.27},{39.59,80.63},{15.13,57.50},{27.61,54.82},
  {53.97,89.81},{15.40,51.54},{73.72,111.38},{64.97,100.00},
  {50.37,86.82},{ 5.64,34.85},{72.08,117.17},{69.41,97.42},
  {59.60,74.65},{43.19,67.89},{ 7.66,30.58},{46.36,70.09},
  {95.11,127.80},{17.26,32.74},{ 7.08,32.31},{77.80,108.66},
  {61.24,110.63},{ 1.66, 9.23},{ 5.52,26.67},{76.55,112.34},
  {39.08,57.20},{85.69,125.46},{ 2.24, 5.80},{11.60,15.73},
  {46.33,78.07},{55.99,101.98},{18.18,52.18},{77.58,126.60},
  {15.98,56.85},{38.76,65.84},{30.17,50.44},{41.82,81.73},
  { 1.95,21.59},{90.31,123.68},{35.47,54.71},{44.59,93.65},
  {25.49,43.71},{ 9.83,24.65},{31.18,52.48},{83.18,126.20},
  {17.74,53.18},{97.83,122.81},{55.36,91.53},{22.74,40.82},
  {27.93,47.07},{81.69,118.05},{23.42,52.64},{16.32,63.78},
  { 5.78,36.54},{72.98,89.76},{84.67,107.40},{45.96,79.32},
  { 1.27,19.92},{18.92,40.49},{29.68,58.82},{59.24,74.82},
  {92.61,135.87},{16.72,25.27},{23.61,66.84},{29.50,55.91},
  { 2.87,33.00},{97.05,135.91},{86.20,115.59},{17.93,50.76},
  {72.71,116.81},{86.57,104.69},{26.62,62.47},{56.14,108.56},
  {65.06,114.35},{85.39,121.43},{50.94,63.59},{18.78,43.67},
  {80.15,114.23},{53.90,75.31},{12.39,29.39},{85.21,127.79},
  {14.88,46.83},{18.51,43.35},{45.74,83.98},{ 0.35,17.38},
  {52.10,89.27},{52.42,85.78},{61.40,101.05},{69.11,113.63},
  { 3.04,28.84},{48.39,90.64},{74.91,102.50},{72.62,90.44},
  {77.33,112.74},{76.72,108.72},{ 2.41,35.62},{15.70,31.81},
  {40.00,61.68},{78.27,107.97},{24.81,48.71},{28.06,49.45},
  {64.60,86.09},{53.78,91.20},{61.22,94.24},{48.19,93.42},
  {52.73,82.14},{66.47,97.38},{80.60,111.94},{24.51,60.94},
  {30.75,48.97},{54.78,85.37},{93.04,132.50},{97.82,146.30},
  {84.91,110.92},{89.46,118.87},{80.13,106.04},{87.76,109.80},
  { 6.40,40.57},{91.82,143.91},{66.91,93.58},{33.66,55.38},
  {95.29,127.14},{31.28,54.01},{53.42,94.35},{22.10,39.01},
  {36.65,60.30},{29.88,65.04},{50.30,85.98},{24.08,36.90},
  {65.82,112.54},{85.64,122.04},{77.64,105.16},{23.94,45.68},
  {52.39,76.04},{22.15,53.97},{79.57,120.30},{95.43,136.74},
  {14.39,48.47},{75.22,111.67},{10.62,25.75},{39.12,55.13},
  {47.23,68.62},{68.64,97.47},{24.34,67.88},{73.02,113.79},
  {93.37,133.01},{65.53,89.76},{12.01,43.27},{36.27,61.91},
  {96.04,142.04},{54.88,94.29},{54.53,79.12},{ 6.39,20.93},
  {14.10,31.46},{74.48,110.53},{63.15,108.52},{86.43,130.80},
  {68.92,95.13},{93.66,129.94},{22.34,27.48},{ 7.95,28.43},
  {89.16,113.06},{54.45,89.24},{30.19,39.65},{47.21,81.98},
  {23.26,72.13},{ 5.23,18.61},{98.30,126.22},{76.67,121.33},
  {15.19,36.75},{32.28,53.94},{54.94,93.75},{29.80,68.23},
  {13.34,31.69},{25.80,49.03},{53.92,86.03},{59.11,87.03},
  {66.36,98.96},{41.04,58.88},{53.57,75.94},{66.66,111.10},
  {77.79,106.68},{59.73,96.21},{35.25,57.42},{16.90,49.89},
  {10.91,44.14},{ 9.64,38.78},{16.21,46.00},{ 9.67,17.50},
  {69.42,102.25},{13.27,41.15},{ 5.33,21.43},{ 8.75,34.65},
  {11.58,31.34},{39.03,79.02},{40.36,71.67},{51.64,84.18},
  { 8.57,48.42},{61.06,90.15},{34.60,62.81},{88.37,146.39},
  {35.34,58.07},{90.26,139.45},{67.17,105.11},{46.90,83.26},
  {13.17,38.91},{12.60,38.97},{94.70,138.47},{ 4.83,17.95},
  {41.33,71.29},{72.06,108.44},{29.23,64.11},{80.96,119.78},
  {50.54,88.19},{73.60,112.55},{15.55,24.35},{71.89,119.62},
  {22.45,52.55},{23.78,56.89},{67.82,101.94},{45.71,80.62},
  {46.84,77.39},{72.09,108.04},{96.37,137.79},{21.86,44.94},
  {90.04,121.40},{50.13,75.41},{31.81,72.94},{23.31,73.25},
  {27.65,47.31},{77.28,110.69},{56.96,99.42},{53.82,80.22},
  {26.66,41.22},{24.19,47.52},{59.29,96.29},{27.29,53.19},
  {48.35,92.38},{47.26,67.62},{24.53,40.51},{25.60,58.04},
  {49.16,76.45},{34.91,44.95},{43.46,48.32},{44.54,57.42},
  {86.03,133.00},{69.17,112.61},{32.05,55.72},{53.62,86.49},
  {74.95,108.81},{58.84,86.60},{80.26,110.16},{95.48,130.99},
  {91.88,112.19},{37.76,64.48},{60.10,81.74},{79.85,120.60},
  {26.67,45.29},{ 2.08,20.18},{ 5.88,43.00},{18.58,56.21},
  {26.33,61.54},{26.83,60.58},{91.43,112.97},{59.40,87.65},
  {56.91,87.60},{28.15,40.73},{52.30,88.49},{20.06,54.95},
  {76.87,115.44},{29.19,56.74},{78.26,114.69},{32.37,77.12},
  {91.77,131.29},{58.90,95.06},{ 5.20,21.96},{85.77,105.24},
  {82.17,112.11},{90.34,133.28},{38.02,60.51},{18.05,42.97},
  {93.14,141.01},{93.52,135.73},{59.07,81.50},{61.35,113.01},
  {47.01,72.83},{99.82,141.53},{ 7.86,35.35},{20.26,50.45},
  {74.17,94.34},{33.32,42.39},{16.65,19.59},{86.71,133.97},
  {28.44,78.55},{24.51,58.01},{46.07,70.68},{57.03,97.18},
  {86.40,119.32},{42.64,63.65},{35.08,92.64},{11.32,40.00},
  {40.40,80.05},{42.22,76.46},{29.24,50.94},{ 5.32,22.49},
  {96.61,135.37},{13.59,35.32},{98.40,134.57},{19.69,43.81},
  {67.27,113.56},{71.06,107.98},{ 1.06,26.45},{54.78,84.04},
  {45.64,76.93},{87.77,126.37},{33.46,51.98},{22.89,48.40},
  {38.64,60.20},{60.97,101.94},{47.41,73.39},{60.58,95.67},
  {88.12,106.82},{66.37,100.55},{81.12,115.71},{52.49,76.55},
  {85.05,125.56},{32.06,60.44},{60.84,103.55},{43.76,67.29},
  {62.33,88.25},{40.77,70.46},{94.72,121.74},{34.02,73.96},
  {32.40,61.97},{41.78,64.30},{89.28,121.32},{53.05,80.41},
  {27.30,68.46},{75.74,120.62},{65.47,93.80},{82.22,116.83},
  {97.54,150.07},{16.82,36.26},{18.42,41.45},{87.32,133.69},
  {77.52,109.91},{77.99,104.68},{25.88,61.94},{ 5.27,34.14},
  {74.93,106.74},{82.90,120.76},{37.96,82.08},{68.52,105.20},
  {39.62,65.56},{65.81,78.87},{29.38,36.77},{81.97,111.49},
  {21.94,56.46},{38.19,55.31},{70.62,92.61},{ 4.07,14.27},
  {58.56,92.06},{41.04,69.16},{64.68,99.07},{71.11,121.16},
  { 5.18,41.83},{88.83,126.77},{90.90,130.91},{87.74,123.22},
  {44.98,75.14},{38.64,70.51},{71.87,96.28},{68.72,107.04},
  {40.52,56.31},{70.48,98.16},{56.00,85.11},{30.70,58.96},
  {44.16,78.72},{94.58,145.43},{13.56,37.67},{40.48,53.91},
  {38.35,63.89},{85.90,127.17},{71.48,109.19},{16.73,54.54},
  {41.59,70.35},{51.48,85.62},{85.93,127.63},{15.94,25.57},
  {79.96,105.08},{80.48,122.53},{56.56,77.18},{ 0.37, 3.28},
  {53.10,95.77},{56.80,95.59},{17.64,45.56},{34.34,50.47},
  {31.32,59.70},{68.24,109.98},{71.80,107.38},{67.99,111.04},
  {41.43,60.69},{13.88,42.31},{84.77,101.64},{49.69,72.67},
  {22.84,59.96},{11.46,14.03},{ 6.25,29.29},{ 7.28,31.53},
  {74.19,88.55},{33.73,57.99},{61.34,109.98},{47.19,83.93},
  {43.72,61.28},{21.77,52.41},{76.98,100.87},{35.81,66.20},
  {43.75,79.14},{59.39,79.98},{49.23,95.35},{80.09,96.68},
  {48.21,87.57},{75.91,110.03},{47.81,91.15},{94.49,152.25},
  {81.66,127.38},{12.89,40.54},{22.74,61.81},{62.68,89.80},
  {56.24,91.10},{30.46,55.71},{36.86,70.38},{95.50,120.18},
  {69.14,98.70},{95.94,147.08},{ 8.60,27.55},{62.82,106.65},
  {30.90,46.78},{47.67,77.17},{32.79,45.39},{55.30,75.56},
  {80.68,119.01},{38.33,67.72},{87.41,123.32},{37.30,61.33},
  {66.09,105.27},{67.50,96.94},{ 6.82,28.21},{ 4.34,29.01},
  {80.83,125.28},{32.25,54.26},{97.62,132.83},{49.25,76.67},
  {96.51,121.49},{33.79,70.52},{83.52,129.24},{27.06,60.63},
  { 1.41,12.59},{13.22,57.64},{17.45,36.09},{71.35,76.96},
  {87.88,130.79},{50.39,83.88},{89.14,138.52},{11.44,41.46},
  {93.17,130.39},{67.21,95.80},{29.16,62.17},{92.98,143.45},
  {47.99,76.13},{27.43,71.97},{51.93,96.56},{91.03,134.99},
  {96.22,133.30},{41.24,49.18},{20.27,41.71},{75.72,106.00},
  {50.23,93.58},{70.66,112.03},{88.12,124.27},{75.71,125.10},
  {62.75,90.70},{ 9.55,35.97},{64.15,103.11},{15.63,51.96},
  {15.97,49.70},{16.27,37.28},{36.98,53.67},{98.92,133.42},
  {87.92,140.97},{49.12,84.19},{54.28,89.62},{71.33,96.50},
  {54.58,94.85},{68.25,112.61},{66.23,96.79},{49.85,98.43},
  {48.26,84.08},{ 6.28,38.20},{39.44,96.00},{92.27,133.34},
  {79.68,110.59},{62.13,108.32},{54.00,91.27},{27.57,67.10},
  {53.49,91.53},{20.29,36.56},{28.41,48.46},{65.46,83.93},
  {93.88,144.37},{61.47,90.48},{39.03,74.45},{52.76,92.72},
  {19.56,50.89},{34.67,61.01},{34.25,61.48},{69.18,92.59},
  {88.76,122.35},{ 6.16,31.03},{10.21,46.60},{97.95,135.81},
  {83.07,120.37},{66.03,105.65},{63.71,99.56},{17.93,35.56},
  {78.71,119.64},{ 1.26,29.44},{97.17,131.88},{24.25,55.43},
  {47.36,74.18},{81.31,113.86},{37.68,50.18},{26.47,37.91},
  {74.66,115.30},{ 5.37,32.89},{ 9.25,14.24},{32.83,57.97},
  { 9.01,34.09},{31.82,67.05},{75.57,110.86},{13.20,58.84},
  {38.74,58.61},{34.55,49.28},{ 8.63,18.41},{94.31,153.83},
  {59.27,100.95},{68.09,95.94},{33.94,56.80},{22.81,52.08},
  {17.09,51.37},{20.13,53.11},{23.53,45.18},{36.24,54.80},
  {84.20,111.33},{32.35,77.34},{38.68,73.17},{ 6.00,24.34},
  {30.14,57.76},{18.18,25.99},{48.93,70.53},{63.37,85.23},
  {34.74,71.07},{22.82,60.05},{54.59,82.07},{63.82,102.78},
  {70.17,106.61},{ 1.74,21.29},{54.94,91.34},{78.52,104.39},
  {57.23,113.05},{66.98,97.65},{17.06,39.70},{36.63,64.22},
  {51.49,67.72},{76.94,123.46},{98.72,140.65},{19.58,48.67},
  {25.91,54.75},{18.70,25.83},{80.77,119.17},{88.11,128.37},
  {78.37,132.97},{66.91,105.66},{33.54,56.14},{49.66,86.32},
  {32.00,58.47},{40.01,69.54},{56.12,73.78},{96.04,141.93},
  {31.96,68.36},{94.41,121.09},{76.95,109.13},{55.68,88.70},
  { 3.88,44.47},{ 7.22,36.32},{65.27,96.32},{88.18,93.03},
  {60.77,63.94},{63.81,84.81},{47.29,80.62},{82.50,127.64},
  {31.43,46.32},{13.18,32.13},{93.39,136.75},{85.27,142.09},
  {43.24,108.17},{75.25,125.18},{33.46,93.07},{90.49,142.00},
  {79.88,118.01},{20.84,62.60},{63.69,99.74},{76.84,126.38},
  {11.54,30.15},{76.43,118.27},{35.50,66.80},{45.32,66.67},
  {66.48,100.04},{73.72,99.06},{12.85,35.73},{62.84,91.74},
  { 6.88,37.00},{89.26,132.68},{85.01,107.91},{23.87,56.07},
  {38.03,56.40},{92.03,130.52},{42.02,89.57},{13.17,30.48},
  {82.16,130.63},{22.68,58.86},{ 8.52,38.41},{16.25,42.46},
  {65.35,97.29},{31.45,49.97},{59.30,87.47},{65.11,117.40},
  {29.39,50.87},{22.55,63.15},{36.95,65.12},{83.54,123.62},
  {11.75,25.18},{63.39,102.99},{61.42,83.35},{34.12,68.55},
  {90.74,152.52},{51.08,82.09},{20.28,41.21},{76.19,110.13},
  {37.99,67.26},{91.05,147.73},{11.77,19.86},{28.29,67.38},
  {66.26,98.05},{22.57,34.01},{16.30,25.37},{44.77,80.61},
  {46.39,82.78},{74.08,115.65},{53.10,92.48},{ 0.04,28.78},
  {29.00,42.26},{ 4.81,25.29},{28.74,47.05},{33.14,69.33},
  {87.96,129.02},{54.49,75.32},{37.37,58.59},{99.58,147.95},
  {21.68,56.37},{ 1.48,37.32},{91.01,134.77},{88.29,129.72},
  {32.73,59.08},{96.57,135.48},{90.10,130.41},{20.21,48.08},
  {52.88,70.85},{89.69,133.44},{24.74,51.81},{73.87,104.53},
  {61.84,91.90},{65.37,84.10},{41.40,74.81},{38.22,54.51},
  {18.24,41.00},{90.06,124.68},{ 2.89,34.07},{80.14,106.74},
  {89.91,127.71},{60.63,102.62},{35.00,68.27},{70.63,100.02},
  {15.65,34.17},{71.64,95.74},{18.05,40.60},{38.08,50.51},
  {88.71,110.01},{16.08,55.91},{80.55,111.48},{36.13,62.87},
  {85.88,108.71},{50.75,102.58},{87.31,144.42},{23.96,42.23},
  {71.56,117.05},{88.79,139.37},{98.10,122.99},{26.68,52.26},
  {12.51,18.84},{66.50,109.63},{19.18,58.66},{78.17,120.33},
  {14.11,41.17},{31.29,56.93},{39.37,61.22},{ 0.85,43.30},
  {48.95,72.30},{81.94,126.11},{69.96,100.68},{48.34,76.21},
  {66.52,123.56},{15.95,33.56},{ 5.51,24.27},{28.75,76.63},
  {13.20,30.41},{51.47,86.79},{84.84,128.08},{50.96,74.05},
  {76.41,119.73},{75.18,105.68},{ 3.85,24.64},{42.69,70.68},
  {86.75,133.83},{ 8.31,17.44},{73.34,106.15},{32.65,66.74},
  {44.83,73.09},{ 8.14,59.97},{49.55,75.57},{30.72,48.02},
  {92.47,134.65},{81.10,133.44},{29.67,58.25},{84.63,131.65},
  {16.49,38.95},{77.48,128.30},{42.96,74.42},{86.71,108.12},
  {26.98,38.76},{60.41,91.56},{91.91,130.19},{86.14,128.67},
  {91.64,141.09},{55.81,97.06},{48.26,78.28},{41.49,75.39},
  {36.58,59.50},{76.44,85.43},{72.56,106.57},{72.87,105.68},
  {15.32,10.87},{ 7.18,30.28},{92.52,124.86},{93.91,136.79},
  {31.38,64.56},{91.97,130.64},{24.10,62.56},{42.05,65.55},
  {18.59,41.41},{41.94,62.05},{ 0.75,45.24},{91.66,121.28},
  {88.75,111.57},{13.14,53.87},{67.12,96.45},{55.66,89.07},
  {13.93,25.23},{ 6.10,26.44},{23.28,48.96},{14.55,22.55},
  {31.85,44.45},{37.61,63.29},{22.94,42.72},{57.14,89.52},
  {52.50,77.71},{99.59,154.03},{36.59,49.47},{26.34,55.29},
  {96.63,148.57},{91.80,135.06},{94.11,134.16},{55.52,95.86},
  {25.79,52.48},{84.44,118.14},{ 6.44,29.89},{35.95,48.28},
  {31.95,58.34},{40.99,69.64},{12.35,26.00},{67.47,98.87},
  {57.15,92.49},{68.42,96.52},{14.48,29.33},{33.90,71.00},
  { 0.59,24.46},{24.79,35.20},{69.86,96.24},{77.34,121.23},
  {16.53,28.60},{96.95,141.18},{80.66,110.56},{45.52,90.34},
  {63.06,106.13},{42.90,74.99},{51.66,79.20},{80.40,115.11},
  {25.35,45.56},{68.82,94.10},{14.07,26.03},{30.36,59.02},
  {39.87,65.31},{ 5.17,24.49},{77.51,113.81},{ 9.52,29.77},
  { 8.30,24.24},{44.04,92.38},{ 8.16,14.50},{47.82,73.90},
  {90.61,105.32},{72.52,91.53},{45.44,69.37},{75.18,100.34},
  { 9.15,21.48},{12.40,27.27},{32.11,57.98},{63.31,94.25},
  {69.98,100.76},{98.21,145.59},{46.96,58.96},{26.95,45.25},
  {84.89,126.56},{11.73,30.97},{94.06,122.71},{77.29,127.08},
  {62.73,101.50},{99.86,138.24},{46.33,72.20},{22.49,54.21},
  {95.73,134.34},{90.17,128.09},{68.55,92.58},{71.82,100.12},
  {32.57,71.35},{41.17,72.70},{ 6.60,36.63},{94.76,135.53},
  {29.34,80.82},{89.52,140.31},{96.29,127.96},{55.33,89.82},
  { 9.28,23.22},{96.95,127.20},{65.60,108.09},{82.77,122.12},
  {93.00,110.03},{82.74,111.85},{93.82,140.22},{94.54,124.90},
  {45.18,102.72},{25.24,35.61},{22.80,58.73},{79.85,121.12},
  { 8.31,41.44},{99.01,131.20},{ 0.59,15.39},{64.58,107.07},
  {88.62,121.65},{81.62,137.18},{94.06,132.65},{96.52,123.62},
  { 2.46,36.78},{22.52,43.56},{13.21,35.58},{ 7.60,16.69},
  {66.39,96.44},{ 5.81,22.40},{25.76,48.90},{95.19,146.27},
  {43.21,82.26},{67.96,111.70},{85.21,127.00},{ 4.99,23.50},
  {68.93,105.76},{63.58,81.18},{81.53,105.11},{63.83,90.91},
  {54.74,94.01},{61.84,109.68},{56.63,91.84},{24.59,51.08},
  {62.64,88.02},{88.04,132.49},{88.78,135.86},{18.67,49.25},
  {74.69,120.78},{64.37,103.79},{21.19,60.29},{52.40,90.69},
  {11.87,25.06},{ 7.19,21.90},{36.87,66.72},{61.64,91.63}
};

int n_data = 1000;
__device__ int d_n_data = 1000;



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);
}

// Calculate the difference between two times. Returns zero on
// success and the time difference through an argument. It will 
// be unsuccessful if the start time is after the end time.

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

  if(d_nsec < 0 ) {
    d_sec--;
    d_nsec += 1000000000; 
  } 
  *difference = d_sec * 1000000000 + d_nsec;
  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	"linear41.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	data,@object                    # @data
	.data
	.globl	data
	.p2align	4, 0x0
data:
	.quad	0x4054b00000000000              # double 82.75
	.quad	0x4059bf5c28f5c28f              # double 102.98999999999999
	.quad	0x40505f5c28f5c28f              # double 65.489999999999995
	.quad	0x40588b851eb851ec              # double 98.180000000000007
	.quad	0x4053a3d70a3d70a4              # double 78.560000000000002
	.quad	0x405a566666666666              # double 105.34999999999999
	.quad	0x40512ae147ae147b              # double 68.670000000000002
	.quad	0x4055528f5c28f5c3              # double 85.290000000000006
	.quad	0x405073d70a3d70a4              # double 65.810000000000002
	.quad	0x405c366666666666              # double 112.84999999999999
	.quad	0x4054b5c28f5c28f6              # double 82.840000000000003
	.quad	0x405c6b851eb851ec              # double 113.68000000000001
	.quad	0x4050633333333333              # double 65.549999999999997
	.quad	0x40589d70a3d70a3d              # double 98.459999999999993
	.quad	0x4051feb851eb851f              # double 71.980000000000004
	.quad	0x405ca147ae147ae1              # double 114.52
	.quad	0x40524a3d70a3d70a              # double 73.159999999999997
	.quad	0x405f9b851eb851ec              # double 126.43000000000001
	.quad	0x405319999999999a              # double 76.400000000000006
	.quad	0x4060c0a3d70a3d71              # double 134.02000000000001
	.quad	0x4053347ae147ae14              # double 76.819999999999993
	.quad	0x4058528f5c28f5c3              # double 97.290000000000006
	.quad	0x4047bc28f5c28f5c              # double 47.469999999999999
	.quad	0x4053f1eb851eb852              # double 79.780000000000001
	.quad	0x404490a3d70a3d71              # double 41.130000000000003
	.quad	0x4053a66666666666              # double 78.599999999999994
	.quad	0x40500851eb851eb8              # double 64.129999999999995
	.quad	0x40586a3d70a3d70a              # double 97.659999999999996
	.quad	0x404167ae147ae148              # double 34.810000000000002
	.quad	0x4051f7ae147ae148              # double 71.870000000000005
	.quad	0x4050d9999999999a              # double 67.400000000000006
	.quad	0x405f3ccccccccccd              # double 124.95
	.quad	0x4053bae147ae147b              # double 78.920000000000001
	.quad	0x405dc9999999999a              # double 119.15000000000001
	.quad	0x4051a00000000000              # double 70.5
	.quad	0x405e247ae147ae14              # double 120.56999999999999
	.quad	0x4051233333333333              # double 68.549999999999997
	.quad	0x4059400000000000              # double 101
	.quad	0x4042747ae147ae14              # double 36.909999999999997
	.quad	0x4052f28f5c28f5c3              # double 75.790000000000006
	.quad	0x40487851eb851eb8              # double 48.939999999999998
	.quad	0x4056d0a3d70a3d71              # double 91.260000000000005
	.quad	0x404cf9999999999a              # double 57.950000000000003
	.quad	0x405a451eb851eb85              # double 105.08
	.quad	0x405091eb851eb852              # double 66.280000000000001
	.quad	0x405745c28f5c28f6              # double 93.090000000000003
	.quad	0x4018666666666666              # double 6.0999999999999996
	.quad	0x403aae147ae147ae              # double 26.68
	.quad	0x404895c28f5c28f6              # double 49.170000000000002
	.quad	0x40558a3d70a3d70a              # double 86.159999999999997
	.quad	0x40450e147ae147ae              # double 42.109999999999999
	.quad	0x4051c8f5c28f5c29              # double 71.140000000000001
	.quad	0x404dd47ae147ae14              # double 59.659999999999997
	.quad	0x4057da3d70a3d70a              # double 95.409999999999996
	.quad	0x4055c00000000000              # double 87
	.quad	0x405e1147ae147ae1              # double 120.27
	.quad	0x403335c28f5c28f6              # double 19.210000000000001
	.quad	0x404a23d70a3d70a4              # double 52.280000000000001
	.quad	0x403a07ae147ae148              # double 26.030000000000001
	.quad	0x40439851eb851eb8              # double 39.189999999999998
	.quad	0x40539ae147ae147b              # double 78.420000000000001
	.quad	0x4059bae147ae147b              # double 102.92
	.quad	0x4043cccccccccccd              # double 39.600000000000001
	.quad	0x404f6147ae147ae1              # double 62.759999999999998
	.quad	0x403fdc28f5c28f5c              # double 31.859999999999999
	.quad	0x4050f47ae147ae14              # double 67.819999999999993
	.quad	0x4058b28f5c28f5c3              # double 98.790000000000006
	.quad	0x4060ce6666666666              # double 134.44999999999999
	.quad	0x4044d0a3d70a3d71              # double 41.630000000000003
	.quad	0x4053c0a3d70a3d71              # double 79.010000000000005
	.quad	0x4047851eb851eb85              # double 47.039999999999999
	.quad	0x4053c3d70a3d70a4              # double 79.060000000000002
	.quad	0x4055f28f5c28f5c3              # double 87.790000000000006
	.quad	0x405dae147ae147ae              # double 118.72
	.quad	0x4020d1eb851eb852              # double 8.4100000000000001
	.quad	0x40418e147ae147ae              # double 35.109999999999999
	.quad	0x40285c28f5c28f5c              # double 12.18
	.quad	0x403a4f5c28f5c28f              # double 26.309999999999999
	.quad	0x4050a851eb851eb8              # double 66.629999999999995
	.quad	0x405815c28f5c28f6              # double 96.340000000000003
	.quad	0x40556ae147ae147b              # double 85.670000000000001
	.quad	0x405f828f5c28f5c3              # double 126.04000000000001
	.quad	0x4057cf5c28f5c28f              # double 95.239999999999994
	.quad	0x405f233333333333              # double 124.55
	.quad	0x4056e5c28f5c28f6              # double 91.590000000000003
	.quad	0x4060a28f5c28f5c3              # double 133.08000000000001
	.quad	0x4032b5c28f5c28f6              # double 18.710000000000001
	.quad	0x4041ef5c28f5c28f              # double 35.869999999999997
	.quad	0x4049451eb851eb85              # double 50.539999999999999
	.quad	0x4056328f5c28f5c3              # double 88.790000000000006
	.quad	0x404bcb851eb851ec              # double 55.590000000000003
	.quad	0x40543851eb851eb8              # double 80.879999999999995
	.quad	0x404cb9999999999a              # double 57.450000000000003
	.quad	0x4054051eb851eb85              # double 80.079999999999998
	.quad	0x40516b851eb851ec              # double 69.680000000000007
	.quad	0x405ac3d70a3d70a4              # double 107.06
	.quad	0x40511eb851eb851f              # double 68.480000000000004
	.quad	0x405888f5c28f5c29              # double 98.14
	.quad	0x4045428f5c28f5c3              # double 42.520000000000003
	.quad	0x405115c28f5c28f6              # double 68.340000000000003
	.quad	0x404e600000000000              # double 60.75
	.quad	0x4054ac28f5c28f5c              # double 82.689999999999998
	.quad	0x404fe8f5c28f5c29              # double 63.82
	.quad	0x4057e7ae147ae148              # double 95.620000000000005
	.quad	0x4054f47ae147ae14              # double 83.819999999999993
	.quad	0x405d4c28f5c28f5c              # double 117.19
	.quad	0x401cc28f5c28f5c3              # double 7.1900000000000004
	.quad	0x4031fae147ae147b              # double 17.98
	.quad	0x3fe199999999999a              # double 0.55000000000000004
	.quad	0x403407ae147ae148              # double 20.030000000000001
	.quad	0x403d666666666666              # double 29.399999999999999
	.quad	0x40454147ae147ae1              # double 42.509999999999998
	.quad	0x4041b5c28f5c28f6              # double 35.420000000000002
	.quad	0x4050966666666666              # double 66.349999999999994
	.quad	0x4052c00000000000              # double 75
	.quad	0x405d7eb851eb851f              # double 117.98
	.quad	0x4054847ae147ae14              # double 82.069999999999993
	.quad	0x405cd47ae147ae14              # double 115.31999999999999
	.quad	0x402ae66666666666              # double 13.449999999999999
	.quad	0x4040feb851eb851f              # double 33.990000000000002
	.quad	0x404b91eb851eb852              # double 55.140000000000001
	.quad	0x4058728f5c28f5c3              # double 97.790000000000006
	.quad	0x4040ee147ae147ae              # double 33.859999999999999
	.quad	0x40498f5c28f5c28f              # double 51.119999999999997
	.quad	0x4052deb851eb851f              # double 75.480000000000003
	.quad	0x405a970a3d70a3d7              # double 106.36
	.quad	0x4040fae147ae147b              # double 33.960000000000001
	.quad	0x404e1851eb851eb8              # double 60.189999999999998
	.quad	0x404aeb851eb851ec              # double 53.840000000000003
	.quad	0x405890a3d70a3d71              # double 98.260000000000005
	.quad	0x40476b851eb851ec              # double 46.840000000000003
	.quad	0x4053151eb851eb85              # double 76.329999999999998
	.quad	0x405023d70a3d70a4              # double 64.560000000000002
	.quad	0x405bf33333333333              # double 111.8
	.quad	0x4057351eb851eb85              # double 92.829999999999998
	.quad	0x40605d70a3d70a3d              # double 130.91999999999999
	.quad	0x40260a3d70a3d70a              # double 11.02
	.quad	0x40388ccccccccccd              # double 24.550000000000001
	.quad	0x402c47ae147ae148              # double 14.140000000000001
	.quad	0x4038147ae147ae14              # double 24.079999999999998
	.quad	0x40411851eb851eb8              # double 34.189999999999998
	.quad	0x4051628f5c28f5c3              # double 69.540000000000006
	.quad	0x404f4e147ae147ae              # double 62.609999999999999
	.quad	0x405b770a3d70a3d7              # double 109.86
	.quad	0x4057128f5c28f5c3              # double 92.290000000000006
	.quad	0x405f68f5c28f5c29              # double 125.64
	.quad	0x3ff23d70a3d70a3d              # double 1.1399999999999999
	.quad	0x40370ccccccccccd              # double 23.050000000000001
	.quad	0x404bca3d70a3d70a              # double 55.579999999999998
	.quad	0x4054c147ae147ae1              # double 83.019999999999996
	.quad	0x40333ae147ae147b              # double 19.23
	.quad	0x404b3d70a3d70a3d              # double 54.479999999999997
	.quad	0x4045ca3d70a3d70a              # double 43.579999999999998
	.quad	0x405158f5c28f5c29              # double 69.390000000000001
	.quad	0x404691eb851eb852              # double 45.140000000000001
	.quad	0x40529b851eb851ec              # double 74.430000000000007
	.quad	0x405448f5c28f5c29              # double 81.14
	.quad	0x405caa3d70a3d70a              # double 114.66
	.quad	0x4054bf5c28f5c28f              # double 82.989999999999994
	.quad	0x405d8e147ae147ae              # double 118.22
	.quad	0x4050b47ae147ae14              # double 66.819999999999993
	.quad	0x4057b66666666666              # double 94.849999999999994
	.quad	0x405861eb851eb852              # double 97.530000000000001
	.quad	0x4060a80000000000              # double 133.25
	.quad	0x401cf5c28f5c28f6              # double 7.2400000000000002
	.quad	0x40223851eb851eb8              # double 9.1099999999999994
	.quad	0x402fc28f5c28f5c3              # double 15.880000000000001
	.quad	0x4040f5c28f5c28f6              # double 33.920000000000002
	.quad	0x404aae147ae147ae              # double 53.359999999999999
	.quad	0x4055c147ae147ae1              # double 87.019999999999996
	.quad	0x40456147ae147ae1              # double 42.759999999999998
	.quad	0x40534eb851eb851f              # double 77.230000000000003
	.quad	0x40571eb851eb851f              # double 92.480000000000003
	.quad	0x405dd3d70a3d70a4              # double 119.31
	.quad	0x4051366666666666              # double 68.849999999999994
	.quad	0x4059f3d70a3d70a4              # double 103.81
	.quad	0x4056deb851eb851f              # double 91.480000000000003
	.quad	0x4062e8a3d70a3d71              # double 151.27000000000001
	.quad	0x4043cb851eb851ec              # double 39.590000000000003
	.quad	0x40542851eb851eb8              # double 80.629999999999995
	.quad	0x402e428f5c28f5c3              # double 15.130000000000001
	.quad	0x404cc00000000000              # double 57.5
	.quad	0x403b9c28f5c28f5c              # double 27.609999999999999
	.quad	0x404b68f5c28f5c29              # double 54.82
	.quad	0x404afc28f5c28f5c              # double 53.969999999999999
	.quad	0x405673d70a3d70a4              # double 89.810000000000002
	.quad	0x402ecccccccccccd              # double 15.4
	.quad	0x4049c51eb851eb85              # double 51.539999999999999
	.quad	0x40526e147ae147ae              # double 73.719999999999999
	.quad	0x405bd851eb851eb8              # double 111.38
	.quad	0x40503e147ae147ae              # double 64.969999999999999
	.quad	0x4059000000000000              # double 100
	.quad	0x40492f5c28f5c28f              # double 50.369999999999997
	.quad	0x4055b47ae147ae14              # double 86.819999999999993
	.quad	0x40168f5c28f5c28f              # double 5.6399999999999997
	.quad	0x40416ccccccccccd              # double 34.850000000000001
	.quad	0x4052051eb851eb85              # double 72.079999999999998
	.quad	0x405d4ae147ae147b              # double 117.17
	.quad	0x40515a3d70a3d70a              # double 69.409999999999997
	.quad	0x40585ae147ae147b              # double 97.420000000000001
	.quad	0x404dcccccccccccd              # double 59.600000000000001
	.quad	0x4052a9999999999a              # double 74.650000000000006
	.quad	0x40459851eb851eb8              # double 43.189999999999998
	.quad	0x4050f8f5c28f5c29              # double 67.890000000000001
	.quad	0x401ea3d70a3d70a4              # double 7.6600000000000001
	.quad	0x403e947ae147ae14              # double 30.579999999999998
	.quad	0x40472e147ae147ae              # double 46.359999999999999
	.quad	0x405185c28f5c28f6              # double 70.090000000000003
	.quad	0x4057c70a3d70a3d7              # double 95.109999999999999
	.quad	0x405ff33333333333              # double 127.8
	.quad	0x4031428f5c28f5c3              # double 17.260000000000002
	.quad	0x40405eb851eb851f              # double 32.740000000000002
	.quad	0x401c51eb851eb852              # double 7.0800000000000001
	.quad	0x404027ae147ae148              # double 32.310000000000002
	.quad	0x4053733333333333              # double 77.799999999999997
	.quad	0x405b2a3d70a3d70a              # double 108.66
	.quad	0x404e9eb851eb851f              # double 61.240000000000002
	.quad	0x405ba851eb851eb8              # double 110.63
	.quad	0x3ffa8f5c28f5c28f              # double 1.6599999999999999
	.quad	0x402275c28f5c28f6              # double 9.2300000000000004
	.quad	0x4016147ae147ae14              # double 5.5199999999999996
	.quad	0x403aab851eb851ec              # double 26.670000000000002
	.quad	0x4053233333333333              # double 76.549999999999997
	.quad	0x405c15c28f5c28f6              # double 112.34
	.quad	0x40438a3d70a3d70a              # double 39.079999999999998
	.quad	0x404c99999999999a              # double 57.200000000000003
	.quad	0x40556c28f5c28f5c              # double 85.689999999999998
	.quad	0x405f5d70a3d70a3d              # double 125.45999999999999
	.quad	0x4001eb851eb851ec              # double 2.2400000000000002
	.quad	0x4017333333333333              # double 5.7999999999999998
	.quad	0x4027333333333333              # double 11.6
	.quad	0x402f75c28f5c28f6              # double 15.73
	.quad	0x40472a3d70a3d70a              # double 46.329999999999998
	.quad	0x4053847ae147ae14              # double 78.069999999999993
	.quad	0x404bfeb851eb851f              # double 55.990000000000002
	.quad	0x40597eb851eb851f              # double 101.98
	.quad	0x40322e147ae147ae              # double 18.18
	.quad	0x404a170a3d70a3d7              # double 52.18
	.quad	0x4053651eb851eb85              # double 77.579999999999998
	.quad	0x405fa66666666666              # double 126.59999999999999
	.quad	0x402ff5c28f5c28f6              # double 15.98
	.quad	0x404c6ccccccccccd              # double 56.850000000000001
	.quad	0x40436147ae147ae1              # double 38.759999999999998
	.quad	0x405075c28f5c28f6              # double 65.840000000000003
	.quad	0x403e2b851eb851ec              # double 30.170000000000002
	.quad	0x40493851eb851eb8              # double 50.439999999999998
	.quad	0x4044e8f5c28f5c29              # double 41.82
	.quad	0x40546eb851eb851f              # double 81.730000000000003
	.quad	0x3fff333333333333              # double 1.95
	.quad	0x4035970a3d70a3d7              # double 21.59
	.quad	0x405693d70a3d70a4              # double 90.310000000000002
	.quad	0x405eeb851eb851ec              # double 123.68000000000001
	.quad	0x4041bc28f5c28f5c              # double 35.469999999999999
	.quad	0x404b5ae147ae147b              # double 54.710000000000001
	.quad	0x40464b851eb851ec              # double 44.590000000000003
	.quad	0x405769999999999a              # double 93.650000000000005
	.quad	0x40397d70a3d70a3d              # double 25.489999999999998
	.quad	0x4045dae147ae147b              # double 43.710000000000001
	.quad	0x4023a8f5c28f5c29              # double 9.83
	.quad	0x4038a66666666666              # double 24.649999999999999
	.quad	0x403f2e147ae147ae              # double 31.18
	.quad	0x404a3d70a3d70a3d              # double 52.479999999999997
	.quad	0x4054cb851eb851ec              # double 83.180000000000007
	.quad	0x405f8ccccccccccd              # double 126.2
	.quad	0x4031bd70a3d70a3d              # double 17.739999999999998
	.quad	0x404a970a3d70a3d7              # double 53.18
	.quad	0x4058751eb851eb85              # double 97.829999999999998
	.quad	0x405eb3d70a3d70a4              # double 122.81
	.quad	0x404bae147ae147ae              # double 55.359999999999999
	.quad	0x4056e1eb851eb852              # double 91.530000000000001
	.quad	0x4036bd70a3d70a3d              # double 22.739999999999998
	.quad	0x404468f5c28f5c29              # double 40.82
	.quad	0x403bee147ae147ae              # double 27.93
	.quad	0x404788f5c28f5c29              # double 47.07
	.quad	0x40546c28f5c28f5c              # double 81.689999999999998
	.quad	0x405d833333333333              # double 118.05
	.quad	0x40376b851eb851ec              # double 23.420000000000002
	.quad	0x404a51eb851eb852              # double 52.640000000000001
	.quad	0x403051eb851eb852              # double 16.32
	.quad	0x404fe3d70a3d70a4              # double 63.780000000000001
	.quad	0x40171eb851eb851f              # double 5.7800000000000002
	.quad	0x4042451eb851eb85              # double 36.539999999999999
	.quad	0x40523eb851eb851f              # double 72.980000000000004
	.quad	0x405670a3d70a3d71              # double 89.760000000000005
	.quad	0x40552ae147ae147b              # double 84.670000000000001
	.quad	0x405ad9999999999a              # double 107.40000000000001
	.quad	0x4046fae147ae147b              # double 45.960000000000001
	.quad	0x4053d47ae147ae14              # double 79.319999999999993
	.quad	0x3ff451eb851eb852              # double 1.27
	.quad	0x4033eb851eb851ec              # double 19.920000000000002
	.quad	0x4032eb851eb851ec              # double 18.920000000000002
	.quad	0x40443eb851eb851f              # double 40.490000000000002
	.quad	0x403dae147ae147ae              # double 29.68
	.quad	0x404d68f5c28f5c29              # double 58.82
	.quad	0x404d9eb851eb851f              # double 59.240000000000002
	.quad	0x4052b47ae147ae14              # double 74.819999999999993
	.quad	0x4057270a3d70a3d7              # double 92.609999999999999
	.quad	0x4060fbd70a3d70a4              # double 135.87
	.quad	0x4030b851eb851eb8              # double 16.719999999999999
	.quad	0x4039451eb851eb85              # double 25.27
	.quad	0x40379c28f5c28f5c              # double 23.609999999999999
	.quad	0x4050b5c28f5c28f6              # double 66.840000000000003
	.quad	0x403d800000000000              # double 29.5
	.quad	0x404bf47ae147ae14              # double 55.909999999999997
	.quad	0x4006f5c28f5c28f6              # double 2.8700000000000001
	.quad	0x4040800000000000              # double 33
	.quad	0x4058433333333333              # double 97.049999999999997
	.quad	0x4060fd1eb851eb85              # double 135.91
	.quad	0x40558ccccccccccd              # double 86.200000000000002
	.quad	0x405ce5c28f5c28f6              # double 115.59
	.quad	0x4031ee147ae147ae              # double 17.93
	.quad	0x40496147ae147ae1              # double 50.759999999999998
	.quad	0x40522d70a3d70a3d              # double 72.709999999999994
	.quad	0x405d33d70a3d70a4              # double 116.81
	.quad	0x4055a47ae147ae14              # double 86.569999999999993
	.quad	0x405a2c28f5c28f5c              # double 104.69
	.quad	0x403a9eb851eb851f              # double 26.620000000000001
	.quad	0x404f3c28f5c28f5c              # double 62.469999999999999
	.quad	0x404c11eb851eb852              # double 56.140000000000001
	.quad	0x405b23d70a3d70a4              # double 108.56
	.quad	0x405043d70a3d70a4              # double 65.060000000000002
	.quad	0x405c966666666666              # double 114.34999999999999
	.quad	0x405558f5c28f5c29              # double 85.39
	.quad	0x405e5b851eb851ec              # double 121.43000000000001
	.quad	0x40497851eb851eb8              # double 50.939999999999998
	.quad	0x404fcb851eb851ec              # double 63.590000000000003
	.quad	0x4032c7ae147ae148              # double 18.780000000000001
	.quad	0x4045d5c28f5c28f6              # double 43.670000000000002
	.quad	0x405409999999999a              # double 80.150000000000006
	.quad	0x405c8eb851eb851f              # double 114.23
	.quad	0x404af33333333333              # double 53.899999999999999
	.quad	0x4052d3d70a3d70a4              # double 75.310000000000002
	.quad	0x4028c7ae147ae148              # double 12.390000000000001
	.quad	0x403d63d70a3d70a4              # double 29.390000000000001
	.quad	0x40554d70a3d70a3d              # double 85.209999999999993
	.quad	0x405ff28f5c28f5c3              # double 127.79000000000001
	.quad	0x402dc28f5c28f5c3              # double 14.880000000000001
	.quad	0x40476a3d70a3d70a              # double 46.829999999999998
	.quad	0x4032828f5c28f5c3              # double 18.510000000000002
	.quad	0x4045accccccccccd              # double 43.350000000000001
	.quad	0x4046deb851eb851f              # double 45.740000000000002
	.quad	0x4054feb851eb851f              # double 83.980000000000003
	.quad	0x3fd6666666666666              # double 0.34999999999999998
	.quad	0x40316147ae147ae1              # double 17.379999999999999
	.quad	0x404a0ccccccccccd              # double 52.100000000000001
	.quad	0x40565147ae147ae1              # double 89.269999999999996
	.quad	0x404a35c28f5c28f6              # double 52.420000000000002
	.quad	0x405571eb851eb852              # double 85.780000000000001
	.quad	0x404eb33333333333              # double 61.399999999999999
	.quad	0x4059433333333333              # double 101.05
	.quad	0x4051470a3d70a3d7              # double 69.109999999999999
	.quad	0x405c6851eb851eb8              # double 113.63
	.quad	0x400851eb851eb852              # double 3.04
	.quad	0x403cd70a3d70a3d7              # double 28.84
	.quad	0x404831eb851eb852              # double 48.390000000000001
	.quad	0x4056a8f5c28f5c29              # double 90.64
	.quad	0x4052ba3d70a3d70a              # double 74.909999999999997
	.quad	0x4059a00000000000              # double 102.5
	.quad	0x405227ae147ae148              # double 72.620000000000005
	.quad	0x40569c28f5c28f5c              # double 90.439999999999998
	.quad	0x4053551eb851eb85              # double 77.329999999999998
	.quad	0x405c2f5c28f5c28f              # double 112.73999999999999
	.quad	0x40532e147ae147ae              # double 76.719999999999999
	.quad	0x405b2e147ae147ae              # double 108.72
	.quad	0x400347ae147ae148              # double 2.4100000000000001
	.quad	0x4041cf5c28f5c28f              # double 35.619999999999997
	.quad	0x402f666666666666              # double 15.699999999999999
	.quad	0x403fcf5c28f5c28f              # double 31.809999999999999
	.quad	0x4044000000000000              # double 40
	.quad	0x404ed70a3d70a3d7              # double 61.68
	.quad	0x40539147ae147ae1              # double 78.269999999999996
	.quad	0x405afe147ae147ae              # double 107.97
	.quad	0x4038cf5c28f5c28f              # double 24.809999999999999
	.quad	0x40485ae147ae147b              # double 48.710000000000001
	.quad	0x403c0f5c28f5c28f              # double 28.059999999999999
	.quad	0x4048b9999999999a              # double 49.450000000000003
	.quad	0x4050266666666666              # double 64.599999999999994
	.quad	0x405585c28f5c28f6              # double 86.090000000000003
	.quad	0x404ae3d70a3d70a4              # double 53.780000000000001
	.quad	0x4056cccccccccccd              # double 91.200000000000002
	.quad	0x404e9c28f5c28f5c              # double 61.219999999999999
	.quad	0x40578f5c28f5c28f              # double 94.239999999999994
	.quad	0x40481851eb851eb8              # double 48.189999999999998
	.quad	0x40575ae147ae147b              # double 93.420000000000001
	.quad	0x404a5d70a3d70a3d              # double 52.729999999999997
	.quad	0x405488f5c28f5c29              # double 82.14
	.quad	0x40509e147ae147ae              # double 66.469999999999999
	.quad	0x40585851eb851eb8              # double 97.379999999999995
	.quad	0x4054266666666666              # double 80.599999999999994
	.quad	0x405bfc28f5c28f5c              # double 111.94
	.quad	0x4038828f5c28f5c3              # double 24.510000000000002
	.quad	0x404e7851eb851eb8              # double 60.939999999999998
	.quad	0x403ec00000000000              # double 30.75
	.quad	0x40487c28f5c28f5c              # double 48.969999999999999
	.quad	0x404b63d70a3d70a4              # double 54.780000000000001
	.quad	0x405557ae147ae148              # double 85.370000000000005
	.quad	0x4057428f5c28f5c3              # double 93.040000000000006
	.quad	0x4060900000000000              # double 132.5
	.quad	0x4058747ae147ae14              # double 97.819999999999993
	.quad	0x406249999999999a              # double 146.30000000000001
	.quad	0x40553a3d70a3d70a              # double 84.909999999999997
	.quad	0x405bbae147ae147b              # double 110.92
	.quad	0x40565d70a3d70a3d              # double 89.459999999999993
	.quad	0x405db7ae147ae148              # double 118.87
	.quad	0x40540851eb851eb8              # double 80.129999999999995
	.quad	0x405a828f5c28f5c3              # double 106.04000000000001
	.quad	0x4055f0a3d70a3d71              # double 87.760000000000005
	.quad	0x405b733333333333              # double 109.8
	.quad	0x401999999999999a              # double 6.4000000000000004
	.quad	0x404448f5c28f5c29              # double 40.57
	.quad	0x4056f47ae147ae14              # double 91.819999999999993
	.quad	0x4061fd1eb851eb85              # double 143.91
	.quad	0x4050ba3d70a3d70a              # double 66.909999999999997
	.quad	0x4057651eb851eb85              # double 93.579999999999998
	.quad	0x4040d47ae147ae14              # double 33.659999999999997
	.quad	0x404bb0a3d70a3d71              # double 55.380000000000003
	.quad	0x4057d28f5c28f5c3              # double 95.290000000000006
	.quad	0x405fc8f5c28f5c29              # double 127.14
	.quad	0x403f47ae147ae148              # double 31.280000000000001
	.quad	0x404b0147ae147ae1              # double 54.009999999999998
	.quad	0x404ab5c28f5c28f6              # double 53.420000000000002
	.quad	0x4057966666666666              # double 94.349999999999994
	.quad	0x403619999999999a              # double 22.100000000000001
	.quad	0x40438147ae147ae1              # double 39.009999999999998
	.quad	0x4042533333333333              # double 36.649999999999999
	.quad	0x404e266666666666              # double 60.299999999999997
	.quad	0x403de147ae147ae1              # double 29.879999999999999
	.quad	0x4050428f5c28f5c3              # double 65.040000000000006
	.quad	0x4049266666666666              # double 50.299999999999997
	.quad	0x40557eb851eb851f              # double 85.980000000000003
	.quad	0x4038147ae147ae14              # double 24.079999999999998
	.quad	0x4042733333333333              # double 36.899999999999999
	.quad	0x4050747ae147ae14              # double 65.819999999999993
	.quad	0x405c228f5c28f5c3              # double 112.54000000000001
	.quad	0x405568f5c28f5c29              # double 85.64
	.quad	0x405e828f5c28f5c3              # double 122.04000000000001
	.quad	0x405368f5c28f5c29              # double 77.64
	.quad	0x405a4a3d70a3d70a              # double 105.16
	.quad	0x4037f0a3d70a3d71              # double 23.940000000000001
	.quad	0x4046d70a3d70a3d7              # double 45.68
	.quad	0x404a31eb851eb852              # double 52.390000000000001
	.quad	0x4053028f5c28f5c3              # double 76.040000000000006
	.quad	0x4036266666666666              # double 22.149999999999999
	.quad	0x404afc28f5c28f5c              # double 53.969999999999999
	.quad	0x4053e47ae147ae14              # double 79.569999999999993
	.quad	0x405e133333333333              # double 120.3
	.quad	0x4057db851eb851ec              # double 95.430000000000007
	.quad	0x406117ae147ae148              # double 136.74000000000001
	.quad	0x402cc7ae147ae148              # double 14.390000000000001
	.quad	0x40483c28f5c28f5c              # double 48.469999999999999
	.quad	0x4052ce147ae147ae              # double 75.219999999999999
	.quad	0x405beae147ae147b              # double 111.67
	.quad	0x40253d70a3d70a3d              # double 10.619999999999999
	.quad	0x4039c00000000000              # double 25.75
	.quad	0x40438f5c28f5c28f              # double 39.119999999999997
	.quad	0x404b90a3d70a3d71              # double 55.130000000000003
	.quad	0x40479d70a3d70a3d              # double 47.229999999999997
	.quad	0x405127ae147ae148              # double 68.620000000000005
	.quad	0x405128f5c28f5c29              # double 68.640000000000001
	.quad	0x40585e147ae147ae              # double 97.469999999999998
	.quad	0x4038570a3d70a3d7              # double 24.34
	.quad	0x4050f851eb851eb8              # double 67.879999999999995
	.quad	0x40524147ae147ae1              # double 73.019999999999996
	.quad	0x405c728f5c28f5c3              # double 113.79000000000001
	.quad	0x405757ae147ae148              # double 93.370000000000005
	.quad	0x4060a051eb851eb8              # double 133.00999999999999
	.quad	0x405061eb851eb852              # double 65.530000000000001
	.quad	0x405670a3d70a3d71              # double 89.760000000000005
	.quad	0x4028051eb851eb85              # double 12.01
	.quad	0x4045a28f5c28f5c3              # double 43.270000000000003
	.quad	0x4042228f5c28f5c3              # double 36.270000000000003
	.quad	0x404ef47ae147ae14              # double 61.909999999999997
	.quad	0x4058028f5c28f5c3              # double 96.040000000000006
	.quad	0x4061c147ae147ae1              # double 142.03999999999999
	.quad	0x404b70a3d70a3d71              # double 54.880000000000003
	.quad	0x4057928f5c28f5c3              # double 94.290000000000006
	.quad	0x404b43d70a3d70a4              # double 54.530000000000001
	.quad	0x4053c7ae147ae148              # double 79.120000000000005
	.quad	0x40198f5c28f5c28f              # double 6.3899999999999997
	.quad	0x4034ee147ae147ae              # double 20.93
	.quad	0x402c333333333333              # double 14.1
	.quad	0x403f75c28f5c28f6              # double 31.460000000000001
	.quad	0x40529eb851eb851f              # double 74.480000000000003
	.quad	0x405ba1eb851eb852              # double 110.53
	.quad	0x404f933333333333              # double 63.149999999999999
	.quad	0x405b2147ae147ae1              # double 108.52
	.quad	0x40559b851eb851ec              # double 86.430000000000007
	.quad	0x406059999999999a              # double 130.80000000000001
	.quad	0x40513ae147ae147b              # double 68.920000000000002
	.quad	0x4057c851eb851eb8              # double 95.129999999999995
	.quad	0x40576a3d70a3d70a              # double 93.659999999999996
	.quad	0x40603e147ae147ae              # double 129.94
	.quad	0x4036570a3d70a3d7              # double 22.34
	.quad	0x403b7ae147ae147b              # double 27.48
	.quad	0x401fcccccccccccd              # double 7.9500000000000001
	.quad	0x403c6e147ae147ae              # double 28.43
	.quad	0x40564a3d70a3d70a              # double 89.159999999999997
	.quad	0x405c43d70a3d70a4              # double 113.06
	.quad	0x404b39999999999a              # double 54.450000000000003
	.quad	0x40564f5c28f5c28f              # double 89.239999999999994
	.quad	0x403e30a3d70a3d71              # double 30.190000000000001
	.quad	0x4043d33333333333              # double 39.649999999999999
	.quad	0x40479ae147ae147b              # double 47.210000000000001
	.quad	0x40547eb851eb851f              # double 81.980000000000003
	.quad	0x4037428f5c28f5c3              # double 23.260000000000002
	.quad	0x40520851eb851eb8              # double 72.129999999999995
	.quad	0x4014eb851eb851ec              # double 5.2300000000000004
	.quad	0x40329c28f5c28f5c              # double 18.609999999999999
	.quad	0x4058933333333333              # double 98.299999999999997
	.quad	0x405f8e147ae147ae              # double 126.22
	.quad	0x40532ae147ae147b              # double 76.670000000000001
	.quad	0x405e551eb851eb85              # double 121.33
	.quad	0x402e6147ae147ae1              # double 15.19
	.quad	0x4042600000000000              # double 36.75
	.quad	0x404023d70a3d70a4              # double 32.280000000000001
	.quad	0x404af851eb851eb8              # double 53.939999999999998
	.quad	0x404b7851eb851eb8              # double 54.939999999999998
	.quad	0x4057700000000000              # double 93.75
	.quad	0x403dcccccccccccd              # double 29.800000000000001
	.quad	0x40510eb851eb851f              # double 68.230000000000004
	.quad	0x402aae147ae147ae              # double 13.34
	.quad	0x403fb0a3d70a3d71              # double 31.690000000000001
	.quad	0x4039cccccccccccd              # double 25.800000000000001
	.quad	0x404883d70a3d70a4              # double 49.030000000000001
	.quad	0x404af5c28f5c28f6              # double 53.920000000000002
	.quad	0x405581eb851eb852              # double 86.030000000000001
	.quad	0x404d8e147ae147ae              # double 59.109999999999999
	.quad	0x4055c1eb851eb852              # double 87.030000000000001
	.quad	0x4050970a3d70a3d7              # double 66.359999999999999
	.quad	0x4058bd70a3d70a3d              # double 98.959999999999993
	.quad	0x4044851eb851eb85              # double 41.039999999999999
	.quad	0x404d70a3d70a3d71              # double 58.880000000000003
	.quad	0x404ac8f5c28f5c29              # double 53.57
	.quad	0x4052fc28f5c28f5c              # double 75.939999999999998
	.quad	0x4050aa3d70a3d70a              # double 66.659999999999997
	.quad	0x405bc66666666666              # double 111.09999999999999
	.quad	0x4053728f5c28f5c3              # double 77.790000000000006
	.quad	0x405aab851eb851ec              # double 106.68000000000001
	.quad	0x404ddd70a3d70a3d              # double 59.729999999999997
	.quad	0x40580d70a3d70a3d              # double 96.209999999999993
	.quad	0x4041a00000000000              # double 35.25
	.quad	0x404cb5c28f5c28f6              # double 57.420000000000002
	.quad	0x4030e66666666666              # double 16.899999999999999
	.quad	0x4048f1eb851eb852              # double 49.890000000000001
	.quad	0x4025d1eb851eb852              # double 10.91
	.quad	0x404611eb851eb852              # double 44.140000000000001
	.quad	0x402347ae147ae148              # double 9.6400000000000005
	.quad	0x404363d70a3d70a4              # double 38.780000000000001
	.quad	0x403035c28f5c28f6              # double 16.210000000000001
	.quad	0x4047000000000000              # double 46
	.quad	0x4023570a3d70a3d7              # double 9.6699999999999999
	.quad	0x4031800000000000              # double 17.5
	.quad	0x40515ae147ae147b              # double 69.420000000000002
	.quad	0x4059900000000000              # double 102.25
	.quad	0x402a8a3d70a3d70a              # double 13.27
	.quad	0x4044933333333333              # double 41.149999999999999
	.quad	0x401551eb851eb852              # double 5.3300000000000001
	.quad	0x40356e147ae147ae              # double 21.43
	.quad	0x4021800000000000              # double 8.75
	.quad	0x4041533333333333              # double 34.649999999999999
	.quad	0x402728f5c28f5c29              # double 11.58
	.quad	0x403f570a3d70a3d7              # double 31.34
	.quad	0x404383d70a3d70a4              # double 39.030000000000001
	.quad	0x4053c147ae147ae1              # double 79.019999999999996
	.quad	0x40442e147ae147ae              # double 40.359999999999999
	.quad	0x4051eae147ae147b              # double 71.670000000000002
	.quad	0x4049d1eb851eb852              # double 51.640000000000001
	.quad	0x40550b851eb851ec              # double 84.180000000000007
	.quad	0x402123d70a3d70a4              # double 8.5700000000000002
	.quad	0x404835c28f5c28f6              # double 48.420000000000002
	.quad	0x404e87ae147ae148              # double 61.060000000000002
	.quad	0x405689999999999a              # double 90.150000000000006
	.quad	0x40414ccccccccccd              # double 34.600000000000001
	.quad	0x404f67ae147ae148              # double 62.810000000000002
	.quad	0x405617ae147ae148              # double 88.370000000000005
	.quad	0x40624c7ae147ae14              # double 146.38999999999999
	.quad	0x4041ab851eb851ec              # double 35.340000000000003
	.quad	0x404d08f5c28f5c29              # double 58.07
	.quad	0x405690a3d70a3d71              # double 90.260000000000005
	.quad	0x40616e6666666666              # double 139.44999999999999
	.quad	0x4050cae147ae147b              # double 67.170000000000002
	.quad	0x405a470a3d70a3d7              # double 105.11
	.quad	0x4047733333333333              # double 46.899999999999999
	.quad	0x4054d0a3d70a3d71              # double 83.260000000000005
	.quad	0x402a570a3d70a3d7              # double 13.17
	.quad	0x4043747ae147ae14              # double 38.909999999999997
	.quad	0x4029333333333333              # double 12.6
	.quad	0x40437c28f5c28f5c              # double 38.969999999999999
	.quad	0x4057accccccccccd              # double 94.700000000000002
	.quad	0x40614f0a3d70a3d7              # double 138.47
	.quad	0x401351eb851eb852              # double 4.8300000000000001
	.quad	0x4031f33333333333              # double 17.949999999999999
	.quad	0x4044aa3d70a3d70a              # double 41.329999999999998
	.quad	0x4051d28f5c28f5c3              # double 71.290000000000006
	.quad	0x405203d70a3d70a4              # double 72.060000000000002
	.quad	0x405b1c28f5c28f5c              # double 108.44
	.quad	0x403d3ae147ae147b              # double 29.23
	.quad	0x4050070a3d70a3d7              # double 64.109999999999999
	.quad	0x40543d70a3d70a3d              # double 80.959999999999993
	.quad	0x405df1eb851eb852              # double 119.78
	.quad	0x4049451eb851eb85              # double 50.539999999999999
	.quad	0x40560c28f5c28f5c              # double 88.189999999999998
	.quad	0x4052666666666666              # double 73.599999999999994
	.quad	0x405c233333333333              # double 112.55
	.quad	0x402f19999999999a              # double 15.550000000000001
	.quad	0x403859999999999a              # double 24.350000000000001
	.quad	0x4051f8f5c28f5c29              # double 71.890000000000001
	.quad	0x405de7ae147ae148              # double 119.62
	.quad	0x4036733333333333              # double 22.449999999999999
	.quad	0x404a466666666666              # double 52.549999999999997
	.quad	0x4037c7ae147ae148              # double 23.780000000000001
	.quad	0x404c71eb851eb852              # double 56.890000000000001
	.quad	0x4050f47ae147ae14              # double 67.819999999999993
	.quad	0x40597c28f5c28f5c              # double 101.94
	.quad	0x4046dae147ae147b              # double 45.710000000000001
	.quad	0x405427ae147ae148              # double 80.620000000000005
	.quad	0x40476b851eb851ec              # double 46.840000000000003
	.quad	0x405358f5c28f5c29              # double 77.39
	.quad	0x405205c28f5c28f6              # double 72.090000000000003
	.quad	0x405b028f5c28f5c3              # double 108.04000000000001
	.quad	0x405817ae147ae148              # double 96.370000000000005
	.quad	0x40613947ae147ae1              # double 137.78999999999999
	.quad	0x4035dc28f5c28f5c              # double 21.859999999999999
	.quad	0x40467851eb851eb8              # double 44.939999999999998
	.quad	0x4056828f5c28f5c3              # double 90.040000000000006
	.quad	0x405e59999999999a              # double 121.40000000000001
	.quad	0x404910a3d70a3d71              # double 50.130000000000003
	.quad	0x4052da3d70a3d70a              # double 75.409999999999997
	.quad	0x403fcf5c28f5c28f              # double 31.809999999999999
	.quad	0x40523c28f5c28f5c              # double 72.939999999999998
	.quad	0x40374f5c28f5c28f              # double 23.309999999999999
	.quad	0x4052500000000000              # double 73.25
	.quad	0x403ba66666666666              # double 27.649999999999999
	.quad	0x4047a7ae147ae148              # double 47.310000000000002
	.quad	0x405351eb851eb852              # double 77.280000000000001
	.quad	0x405bac28f5c28f5c              # double 110.69
	.quad	0x404c7ae147ae147b              # double 56.960000000000001
	.quad	0x4058dae147ae147b              # double 99.420000000000001
	.quad	0x404ae8f5c28f5c29              # double 53.82
	.quad	0x40540e147ae147ae              # double 80.219999999999999
	.quad	0x403aa8f5c28f5c29              # double 26.66
	.quad	0x40449c28f5c28f5c              # double 41.219999999999999
	.quad	0x403830a3d70a3d71              # double 24.190000000000001
	.quad	0x4047c28f5c28f5c3              # double 47.520000000000003
	.quad	0x404da51eb851eb85              # double 59.289999999999999
	.quad	0x4058128f5c28f5c3              # double 96.290000000000006
	.quad	0x403b4a3d70a3d70a              # double 27.289999999999999
	.quad	0x404a9851eb851eb8              # double 53.189999999999998
	.quad	0x40482ccccccccccd              # double 48.350000000000001
	.quad	0x40571851eb851eb8              # double 92.379999999999995
	.quad	0x4047a147ae147ae1              # double 47.259999999999998
	.quad	0x4050e7ae147ae148              # double 67.620000000000005
	.quad	0x403887ae147ae148              # double 24.530000000000001
	.quad	0x40444147ae147ae1              # double 40.509999999999998
	.quad	0x403999999999999a              # double 25.600000000000001
	.quad	0x404d051eb851eb85              # double 58.039999999999999
	.quad	0x4048947ae147ae14              # double 49.159999999999997
	.quad	0x40531ccccccccccd              # double 76.450000000000002
	.quad	0x4041747ae147ae14              # double 34.909999999999997
	.quad	0x404679999999999a              # double 44.950000000000003
	.quad	0x4045bae147ae147b              # double 43.460000000000001
	.quad	0x404828f5c28f5c29              # double 48.32
	.quad	0x4046451eb851eb85              # double 44.539999999999999
	.quad	0x404cb5c28f5c28f6              # double 57.420000000000002
	.quad	0x405581eb851eb852              # double 86.030000000000001
	.quad	0x4060a00000000000              # double 133
	.quad	0x40514ae147ae147b              # double 69.170000000000002
	.quad	0x405c270a3d70a3d7              # double 112.61
	.quad	0x4040066666666666              # double 32.049999999999997
	.quad	0x404bdc28f5c28f5c              # double 55.719999999999999
	.quad	0x404acf5c28f5c28f              # double 53.619999999999997
	.quad	0x40559f5c28f5c28f              # double 86.489999999999994
	.quad	0x4052bccccccccccd              # double 74.950000000000002
	.quad	0x405b33d70a3d70a4              # double 108.81
	.quad	0x404d6b851eb851ec              # double 58.840000000000003
	.quad	0x4055a66666666666              # double 86.599999999999994
	.quad	0x405410a3d70a3d71              # double 80.260000000000005
	.quad	0x405b8a3d70a3d70a              # double 110.16
	.quad	0x4057deb851eb851f              # double 95.480000000000003
	.quad	0x40605fae147ae148              # double 130.99000000000001
	.quad	0x4056f851eb851eb8              # double 91.879999999999995
	.quad	0x405c0c28f5c28f5c              # double 112.19
	.quad	0x4042e147ae147ae1              # double 37.759999999999998
	.quad	0x40501eb851eb851f              # double 64.480000000000004
	.quad	0x404e0ccccccccccd              # double 60.100000000000001
	.quad	0x40546f5c28f5c28f              # double 81.739999999999994
	.quad	0x4053f66666666666              # double 79.849999999999994
	.quad	0x405e266666666666              # double 120.59999999999999
	.quad	0x403aab851eb851ec              # double 26.670000000000002
	.quad	0x4046a51eb851eb85              # double 45.289999999999999
	.quad	0x4000a3d70a3d70a4              # double 2.0800000000000001
	.quad	0x40342e147ae147ae              # double 20.18
	.quad	0x4017851eb851eb85              # double 5.8799999999999999
	.quad	0x4045800000000000              # double 43
	.quad	0x4032947ae147ae14              # double 18.579999999999998
	.quad	0x404c1ae147ae147b              # double 56.210000000000001
	.quad	0x403a547ae147ae14              # double 26.329999999999998
	.quad	0x404ec51eb851eb85              # double 61.539999999999999
	.quad	0x403ad47ae147ae14              # double 26.829999999999998
	.quad	0x404e4a3d70a3d70a              # double 60.579999999999998
	.quad	0x4056db851eb851ec              # double 91.430000000000007
	.quad	0x405c3e147ae147ae              # double 112.97
	.quad	0x404db33333333333              # double 59.399999999999999
	.quad	0x4055e9999999999a              # double 87.650000000000006
	.quad	0x404c747ae147ae14              # double 56.909999999999997
	.quad	0x4055e66666666666              # double 87.599999999999994
	.quad	0x403c266666666666              # double 28.149999999999999
	.quad	0x40445d70a3d70a3d              # double 40.729999999999997
	.quad	0x404a266666666666              # double 52.299999999999997
	.quad	0x40561f5c28f5c28f              # double 88.489999999999994
	.quad	0x40340f5c28f5c28f              # double 20.059999999999999
	.quad	0x404b79999999999a              # double 54.950000000000003
	.quad	0x405337ae147ae148              # double 76.870000000000005
	.quad	0x405cdc28f5c28f5c              # double 115.44
	.quad	0x403d30a3d70a3d71              # double 29.190000000000001
	.quad	0x404c5eb851eb851f              # double 56.740000000000002
	.quad	0x405390a3d70a3d71              # double 78.260000000000005
	.quad	0x405cac28f5c28f5c              # double 114.69
	.quad	0x40402f5c28f5c28f              # double 32.369999999999997
	.quad	0x405347ae147ae148              # double 77.120000000000005
	.quad	0x4056f147ae147ae1              # double 91.769999999999996
	.quad	0x40606947ae147ae1              # double 131.28999999999999
	.quad	0x404d733333333333              # double 58.899999999999999
	.quad	0x4057c3d70a3d70a4              # double 95.060000000000002
	.quad	0x4014cccccccccccd              # double 5.2000000000000002
	.quad	0x4035f5c28f5c28f6              # double 21.960000000000001
	.quad	0x40557147ae147ae1              # double 85.769999999999996
	.quad	0x405a4f5c28f5c28f              # double 105.23999999999999
	.quad	0x40548ae147ae147b              # double 82.170000000000001
	.quad	0x405c070a3d70a3d7              # double 112.11
	.quad	0x405695c28f5c28f6              # double 90.340000000000003
	.quad	0x4060a8f5c28f5c29              # double 133.28
	.quad	0x4043028f5c28f5c3              # double 38.020000000000003
	.quad	0x404e4147ae147ae1              # double 60.509999999999998
	.quad	0x40320ccccccccccd              # double 18.050000000000001
	.quad	0x40457c28f5c28f5c              # double 42.969999999999999
	.quad	0x405748f5c28f5c29              # double 93.14
	.quad	0x4061a051eb851eb8              # double 141.00999999999999
	.quad	0x40576147ae147ae1              # double 93.519999999999996
	.quad	0x4060f75c28f5c28f              # double 135.72999999999999
	.quad	0x404d88f5c28f5c29              # double 59.07
	.quad	0x4054600000000000              # double 81.5
	.quad	0x404eaccccccccccd              # double 61.350000000000001
	.quad	0x405c40a3d70a3d71              # double 113.01000000000001
	.quad	0x40478147ae147ae1              # double 47.009999999999998
	.quad	0x4052351eb851eb85              # double 72.829999999999998
	.quad	0x4058f47ae147ae14              # double 99.819999999999993
	.quad	0x4061b0f5c28f5c29              # double 141.53
	.quad	0x401f70a3d70a3d71              # double 7.8600000000000003
	.quad	0x4041accccccccccd              # double 35.350000000000001
	.quad	0x4034428f5c28f5c3              # double 20.260000000000002
	.quad	0x404939999999999a              # double 50.450000000000003
	.quad	0x40528ae147ae147b              # double 74.170000000000001
	.quad	0x405795c28f5c28f6              # double 94.340000000000003
	.quad	0x4040a8f5c28f5c29              # double 33.32
	.quad	0x404531eb851eb852              # double 42.390000000000001
	.quad	0x4030a66666666666              # double 16.649999999999999
	.quad	0x4033970a3d70a3d7              # double 19.59
	.quad	0x4055ad70a3d70a3d              # double 86.709999999999993
	.quad	0x4060bf0a3d70a3d7              # double 133.97
	.quad	0x403c70a3d70a3d71              # double 28.440000000000001
	.quad	0x4053a33333333333              # double 78.549999999999997
	.quad	0x4038828f5c28f5c3              # double 24.510000000000002
	.quad	0x404d0147ae147ae1              # double 58.009999999999998
	.quad	0x404708f5c28f5c29              # double 46.07
	.quad	0x4051ab851eb851ec              # double 70.680000000000007
	.quad	0x404c83d70a3d70a4              # double 57.030000000000001
	.quad	0x40584b851eb851ec              # double 97.180000000000007
	.quad	0x405599999999999a              # double 86.400000000000006
	.quad	0x405dd47ae147ae14              # double 119.31999999999999
	.quad	0x404551eb851eb852              # double 42.640000000000001
	.quad	0x404fd33333333333              # double 63.649999999999999
	.quad	0x40418a3d70a3d70a              # double 35.079999999999998
	.quad	0x405728f5c28f5c29              # double 92.64
	.quad	0x4026a3d70a3d70a4              # double 11.32
	.quad	0x4044000000000000              # double 40
	.quad	0x4044333333333333              # double 40.399999999999999
	.quad	0x4054033333333333              # double 80.049999999999997
	.quad	0x40451c28f5c28f5c              # double 42.219999999999999
	.quad	0x40531d70a3d70a3d              # double 76.459999999999993
	.quad	0x403d3d70a3d70a3d              # double 29.239999999999998
	.quad	0x40497851eb851eb8              # double 50.939999999999998
	.quad	0x401547ae147ae148              # double 5.3200000000000003
	.quad	0x40367d70a3d70a3d              # double 22.489999999999998
	.quad	0x4058270a3d70a3d7              # double 96.609999999999999
	.quad	0x4060ebd70a3d70a4              # double 135.37
	.quad	0x402b2e147ae147ae              # double 13.59
	.quad	0x4041a8f5c28f5c29              # double 35.32
	.quad	0x405899999999999a              # double 98.400000000000005
	.quad	0x4060d23d70a3d70a              # double 134.56999999999999
	.quad	0x4033b0a3d70a3d71              # double 19.690000000000001
	.quad	0x4045e7ae147ae148              # double 43.810000000000002
	.quad	0x4050d147ae147ae1              # double 67.269999999999996
	.quad	0x405c63d70a3d70a4              # double 113.56
	.quad	0x4051c3d70a3d70a4              # double 71.060000000000002
	.quad	0x405afeb851eb851f              # double 107.98
	.quad	0x3ff0f5c28f5c28f6              # double 1.0600000000000001
	.quad	0x403a733333333333              # double 26.449999999999999
	.quad	0x404b63d70a3d70a4              # double 54.780000000000001
	.quad	0x4055028f5c28f5c3              # double 84.040000000000006
	.quad	0x4046d1eb851eb852              # double 45.640000000000001
	.quad	0x40533b851eb851ec              # double 76.930000000000007
	.quad	0x4055f147ae147ae1              # double 87.769999999999996
	.quad	0x405f97ae147ae148              # double 126.37
	.quad	0x4040bae147ae147b              # double 33.460000000000001
	.quad	0x4049fd70a3d70a3d              # double 51.979999999999997
	.quad	0x4036e3d70a3d70a4              # double 22.890000000000001
	.quad	0x4048333333333333              # double 48.399999999999999
	.quad	0x404351eb851eb852              # double 38.640000000000001
	.quad	0x404e19999999999a              # double 60.200000000000003
	.quad	0x404e7c28f5c28f5c              # double 60.969999999999999
	.quad	0x40597c28f5c28f5c              # double 101.94
	.quad	0x4047b47ae147ae14              # double 47.409999999999997
	.quad	0x405258f5c28f5c29              # double 73.39
	.quad	0x404e4a3d70a3d70a              # double 60.579999999999998
	.quad	0x4057eae147ae147b              # double 95.670000000000001
	.quad	0x405607ae147ae148              # double 88.120000000000005
	.quad	0x405ab47ae147ae14              # double 106.81999999999999
	.quad	0x405097ae147ae148              # double 66.370000000000005
	.quad	0x4059233333333333              # double 100.55
	.quad	0x405447ae147ae148              # double 81.120000000000005
	.quad	0x405ced70a3d70a3d              # double 115.70999999999999
	.quad	0x404a3eb851eb851f              # double 52.490000000000002
	.quad	0x4053233333333333              # double 76.549999999999997
	.quad	0x4055433333333333              # double 85.049999999999997
	.quad	0x405f63d70a3d70a4              # double 125.56
	.quad	0x404007ae147ae148              # double 32.060000000000002
	.quad	0x404e3851eb851eb8              # double 60.439999999999998
	.quad	0x404e6b851eb851ec              # double 60.840000000000003
	.quad	0x4059e33333333333              # double 103.55
	.quad	0x4045e147ae147ae1              # double 43.759999999999998
	.quad	0x4050d28f5c28f5c3              # double 67.290000000000006
	.quad	0x404f2a3d70a3d70a              # double 62.329999999999998
	.quad	0x4056100000000000              # double 88.25
	.quad	0x4044628f5c28f5c3              # double 40.770000000000003
	.quad	0x40519d70a3d70a3d              # double 70.459999999999994
	.quad	0x4057ae147ae147ae              # double 94.719999999999998
	.quad	0x405e6f5c28f5c28f              # double 121.73999999999999
	.quad	0x4041028f5c28f5c3              # double 34.020000000000003
	.quad	0x40527d70a3d70a3d              # double 73.959999999999993
	.quad	0x4040333333333333              # double 32.399999999999999
	.quad	0x404efc28f5c28f5c              # double 61.969999999999999
	.quad	0x4044e3d70a3d70a4              # double 41.780000000000001
	.quad	0x4050133333333333              # double 64.299999999999997
	.quad	0x405651eb851eb852              # double 89.280000000000001
	.quad	0x405e547ae147ae14              # double 121.31999999999999
	.quad	0x404a866666666666              # double 53.049999999999997
	.quad	0x40541a3d70a3d70a              # double 80.409999999999997
	.quad	0x403b4ccccccccccd              # double 27.300000000000001
	.quad	0x40511d70a3d70a3d              # double 68.459999999999994
	.quad	0x4052ef5c28f5c28f              # double 75.739999999999994
	.quad	0x405e27ae147ae148              # double 120.62
	.quad	0x40505e147ae147ae              # double 65.469999999999999
	.quad	0x4057733333333333              # double 93.799999999999997
	.quad	0x40548e147ae147ae              # double 82.219999999999999
	.quad	0x405d351eb851eb85              # double 116.83
	.quad	0x4058628f5c28f5c3              # double 97.540000000000006
	.quad	0x4062c23d70a3d70a              # double 150.06999999999999
	.quad	0x4030d1eb851eb852              # double 16.82
	.quad	0x40422147ae147ae1              # double 36.259999999999998
	.quad	0x40326b851eb851ec              # double 18.420000000000002
	.quad	0x4044b9999999999a              # double 41.450000000000003
	.quad	0x4055d47ae147ae14              # double 87.319999999999993
	.quad	0x4060b6147ae147ae              # double 133.69
	.quad	0x40536147ae147ae1              # double 77.519999999999996
	.quad	0x405b7a3d70a3d70a              # double 109.91
	.quad	0x40537f5c28f5c28f              # double 77.989999999999994
	.quad	0x405a2b851eb851ec              # double 104.68000000000001
	.quad	0x4039e147ae147ae1              # double 25.879999999999999
	.quad	0x404ef851eb851eb8              # double 61.939999999999998
	.quad	0x4015147ae147ae14              # double 5.2699999999999996
	.quad	0x404111eb851eb852              # double 34.140000000000001
	.quad	0x4052bb851eb851ec              # double 74.930000000000007
	.quad	0x405aaf5c28f5c28f              # double 106.73999999999999
	.quad	0x4054b9999999999a              # double 82.900000000000006
	.quad	0x405e30a3d70a3d71              # double 120.76000000000001
	.quad	0x4042fae147ae147b              # double 37.960000000000001
	.quad	0x4054851eb851eb85              # double 82.079999999999998
	.quad	0x40512147ae147ae1              # double 68.519999999999996
	.quad	0x405a4ccccccccccd              # double 105.2
	.quad	0x4043cf5c28f5c28f              # double 39.619999999999997
	.quad	0x405063d70a3d70a4              # double 65.560000000000002
	.quad	0x405073d70a3d70a4              # double 65.810000000000002
	.quad	0x4053b7ae147ae148              # double 78.870000000000005
	.quad	0x403d6147ae147ae1              # double 29.379999999999999
	.quad	0x4042628f5c28f5c3              # double 36.770000000000003
	.quad	0x40547e147ae147ae              # double 81.969999999999999
	.quad	0x405bdf5c28f5c28f              # double 111.48999999999999
	.quad	0x4035f0a3d70a3d71              # double 21.940000000000001
	.quad	0x404c3ae147ae147b              # double 56.460000000000001
	.quad	0x40431851eb851eb8              # double 38.189999999999998
	.quad	0x404ba7ae147ae148              # double 55.310000000000002
	.quad	0x4051a7ae147ae148              # double 70.620000000000005
	.quad	0x4057270a3d70a3d7              # double 92.609999999999999
	.quad	0x401047ae147ae148              # double 4.0700000000000003
	.quad	0x402c8a3d70a3d70a              # double 14.27
	.quad	0x404d47ae147ae148              # double 58.560000000000002
	.quad	0x405703d70a3d70a4              # double 92.060000000000002
	.quad	0x4044851eb851eb85              # double 41.039999999999999
	.quad	0x40514a3d70a3d70a              # double 69.159999999999997
	.quad	0x40502b851eb851ec              # double 64.680000000000007
	.quad	0x4058c47ae147ae14              # double 99.069999999999993
	.quad	0x4051c70a3d70a3d7              # double 71.109999999999999
	.quad	0x405e4a3d70a3d70a              # double 121.16
	.quad	0x4014b851eb851eb8              # double 5.1799999999999997
	.quad	0x4044ea3d70a3d70a              # double 41.829999999999998
	.quad	0x4056351eb851eb85              # double 88.829999999999998
	.quad	0x405fb147ae147ae1              # double 126.77
	.quad	0x4056b9999999999a              # double 90.900000000000006
	.quad	0x40605d1eb851eb85              # double 130.91
	.quad	0x4055ef5c28f5c28f              # double 87.739999999999994
	.quad	0x405ece147ae147ae              # double 123.22
	.quad	0x40467d70a3d70a3d              # double 44.979999999999997
	.quad	0x4052c8f5c28f5c29              # double 75.14
	.quad	0x404351eb851eb852              # double 38.640000000000001
	.quad	0x4051a0a3d70a3d71              # double 70.510000000000005
	.quad	0x4051f7ae147ae148              # double 71.870000000000005
	.quad	0x405811eb851eb852              # double 96.280000000000001
	.quad	0x40512e147ae147ae              # double 68.719999999999999
	.quad	0x405ac28f5c28f5c3              # double 107.04000000000001
	.quad	0x4044428f5c28f5c3              # double 40.520000000000003
	.quad	0x404c27ae147ae148              # double 56.310000000000002
	.quad	0x40519eb851eb851f              # double 70.480000000000004
	.quad	0x40588a3d70a3d70a              # double 98.159999999999996
	.quad	0x404c000000000000              # double 56
	.quad	0x4055470a3d70a3d7              # double 85.109999999999999
	.quad	0x403eb33333333333              # double 30.699999999999999
	.quad	0x404d7ae147ae147b              # double 58.960000000000001
	.quad	0x4046147ae147ae14              # double 44.159999999999997
	.quad	0x4053ae147ae147ae              # double 78.719999999999999
	.quad	0x4057a51eb851eb85              # double 94.579999999999998
	.quad	0x40622dc28f5c28f6              # double 145.43000000000001
	.quad	0x402b1eb851eb851f              # double 13.56
	.quad	0x4042d5c28f5c28f6              # double 37.670000000000002
	.quad	0x40443d70a3d70a3d              # double 40.479999999999997
	.quad	0x404af47ae147ae14              # double 53.909999999999997
	.quad	0x40432ccccccccccd              # double 38.350000000000001
	.quad	0x404ff1eb851eb852              # double 63.890000000000001
	.quad	0x405579999999999a              # double 85.900000000000006
	.quad	0x405fcae147ae147b              # double 127.17
	.quad	0x4051deb851eb851f              # double 71.480000000000004
	.quad	0x405b4c28f5c28f5c              # double 109.19
	.quad	0x4030bae147ae147b              # double 16.73
	.quad	0x404b451eb851eb85              # double 54.539999999999999
	.quad	0x4044cb851eb851ec              # double 41.590000000000003
	.quad	0x4051966666666666              # double 70.349999999999994
	.quad	0x4049bd70a3d70a3d              # double 51.479999999999997
	.quad	0x405567ae147ae148              # double 85.620000000000005
	.quad	0x40557b851eb851ec              # double 85.930000000000007
	.quad	0x405fe851eb851eb8              # double 127.63
	.quad	0x402fe147ae147ae1              # double 15.94
	.quad	0x403991eb851eb852              # double 25.57
	.quad	0x4053fd70a3d70a3d              # double 79.959999999999993
	.quad	0x405a451eb851eb85              # double 105.08
	.quad	0x40541eb851eb851f              # double 80.480000000000003
	.quad	0x405ea1eb851eb852              # double 122.53
	.quad	0x404c47ae147ae148              # double 56.560000000000002
	.quad	0x40534b851eb851ec              # double 77.180000000000007
	.quad	0x3fd7ae147ae147ae              # double 0.37
	.quad	0x400a3d70a3d70a3d              # double 3.2799999999999998
	.quad	0x404a8ccccccccccd              # double 53.100000000000001
	.quad	0x4057f147ae147ae1              # double 95.769999999999996
	.quad	0x404c666666666666              # double 56.799999999999997
	.quad	0x4057e5c28f5c28f6              # double 95.590000000000003
	.quad	0x4031a3d70a3d70a4              # double 17.640000000000001
	.quad	0x4046c7ae147ae148              # double 45.560000000000002
	.quad	0x40412b851eb851ec              # double 34.340000000000003
	.quad	0x40493c28f5c28f5c              # double 50.469999999999999
	.quad	0x403f51eb851eb852              # double 31.32
	.quad	0x404dd9999999999a              # double 59.700000000000003
	.quad	0x40510f5c28f5c28f              # double 68.239999999999995
	.quad	0x405b7eb851eb851f              # double 109.98
	.quad	0x4051f33333333333              # double 71.799999999999997
	.quad	0x405ad851eb851eb8              # double 107.38
	.quad	0x4050ff5c28f5c28f              # double 67.989999999999995
	.quad	0x405bc28f5c28f5c3              # double 111.04000000000001
	.quad	0x4044b70a3d70a3d7              # double 41.43
	.quad	0x404e5851eb851eb8              # double 60.689999999999998
	.quad	0x402bc28f5c28f5c3              # double 13.880000000000001
	.quad	0x404527ae147ae148              # double 42.310000000000002
	.quad	0x40553147ae147ae1              # double 84.769999999999996
	.quad	0x405968f5c28f5c29              # double 101.64
	.quad	0x4048d851eb851eb8              # double 49.689999999999998
	.quad	0x40522ae147ae147b              # double 72.670000000000002
	.quad	0x4036d70a3d70a3d7              # double 22.84
	.quad	0x404dfae147ae147b              # double 59.960000000000001
	.quad	0x4026eb851eb851ec              # double 11.460000000000001
	.quad	0x402c0f5c28f5c28f              # double 14.029999999999999
	.quad	0x4019000000000000              # double 6.25
	.quad	0x403d4a3d70a3d70a              # double 29.289999999999999
	.quad	0x401d1eb851eb851f              # double 7.2800000000000002
	.quad	0x403f87ae147ae148              # double 31.530000000000001
	.quad	0x40528c28f5c28f5c              # double 74.189999999999998
	.quad	0x4056233333333333              # double 88.549999999999997
	.quad	0x4040dd70a3d70a3d              # double 33.729999999999997
	.quad	0x404cfeb851eb851f              # double 57.990000000000002
	.quad	0x404eab851eb851ec              # double 61.340000000000003
	.quad	0x405b7eb851eb851f              # double 109.98
	.quad	0x40479851eb851eb8              # double 47.189999999999998
	.quad	0x4054fb851eb851ec              # double 83.930000000000007
	.quad	0x4045dc28f5c28f5c              # double 43.719999999999999
	.quad	0x404ea3d70a3d70a4              # double 61.280000000000001
	.quad	0x4035c51eb851eb85              # double 21.77
	.quad	0x404a347ae147ae14              # double 52.409999999999997
	.quad	0x40533eb851eb851f              # double 76.980000000000003
	.quad	0x405937ae147ae148              # double 100.87
	.quad	0x4041e7ae147ae148              # double 35.810000000000002
	.quad	0x40508ccccccccccd              # double 66.200000000000003
	.quad	0x4045e00000000000              # double 43.75
	.quad	0x4053c8f5c28f5c29              # double 79.14
	.quad	0x404db1eb851eb852              # double 59.390000000000001
	.quad	0x4053feb851eb851f              # double 79.980000000000003
	.quad	0x40489d70a3d70a3d              # double 49.229999999999997
	.quad	0x4057d66666666666              # double 95.349999999999994
	.quad	0x405405c28f5c28f6              # double 80.090000000000003
	.quad	0x40582b851eb851ec              # double 96.680000000000007
	.quad	0x40481ae147ae147b              # double 48.210000000000001
	.quad	0x4055e47ae147ae14              # double 87.569999999999993
	.quad	0x4052fa3d70a3d70a              # double 75.909999999999997
	.quad	0x405b81eb851eb852              # double 110.03
	.quad	0x4047e7ae147ae148              # double 47.810000000000002
	.quad	0x4056c9999999999a              # double 91.150000000000006
	.quad	0x40579f5c28f5c28f              # double 94.489999999999994
	.quad	0x4063080000000000              # double 152.25
	.quad	0x40546a3d70a3d70a              # double 81.659999999999997
	.quad	0x405fd851eb851eb8              # double 127.38
	.quad	0x4029c7ae147ae148              # double 12.890000000000001
	.quad	0x4044451eb851eb85              # double 40.539999999999999
	.quad	0x4036bd70a3d70a3d              # double 22.739999999999998
	.quad	0x404ee7ae147ae148              # double 61.810000000000002
	.quad	0x404f570a3d70a3d7              # double 62.68
	.quad	0x4056733333333333              # double 89.799999999999997
	.quad	0x404c1eb851eb851f              # double 56.240000000000002
	.quad	0x4056c66666666666              # double 91.099999999999994
	.quad	0x403e75c28f5c28f6              # double 30.460000000000001
	.quad	0x404bdae147ae147b              # double 55.710000000000001
	.quad	0x40426e147ae147ae              # double 36.859999999999999
	.quad	0x40519851eb851eb8              # double 70.379999999999995
	.quad	0x4057e00000000000              # double 95.5
	.quad	0x405e0b851eb851ec              # double 120.18000000000001
	.quad	0x405148f5c28f5c29              # double 69.140000000000001
	.quad	0x4058accccccccccd              # double 98.700000000000002
	.quad	0x4057fc28f5c28f5c              # double 95.939999999999998
	.quad	0x4062628f5c28f5c3              # double 147.08000000000001
	.quad	0x4021333333333333              # double 8.5999999999999996
	.quad	0x403b8ccccccccccd              # double 27.550000000000001
	.quad	0x404f68f5c28f5c29              # double 62.82
	.quad	0x405aa9999999999a              # double 106.65000000000001
	.quad	0x403ee66666666666              # double 30.899999999999999
	.quad	0x404763d70a3d70a4              # double 46.780000000000001
	.quad	0x4047d5c28f5c28f6              # double 47.670000000000002
	.quad	0x40534ae147ae147b              # double 77.170000000000001
	.quad	0x4040651eb851eb85              # double 32.789999999999999
	.quad	0x4046b1eb851eb852              # double 45.390000000000001
	.quad	0x404ba66666666666              # double 55.299999999999997
	.quad	0x4052e3d70a3d70a4              # double 75.560000000000002
	.quad	0x40542b851eb851ec              # double 80.680000000000007
	.quad	0x405dc0a3d70a3d71              # double 119.01000000000001
	.quad	0x40432a3d70a3d70a              # double 38.329999999999998
	.quad	0x4050ee147ae147ae              # double 67.719999999999999
	.quad	0x4055da3d70a3d70a              # double 87.409999999999997
	.quad	0x405ed47ae147ae14              # double 123.31999999999999
	.quad	0x4042a66666666666              # double 37.299999999999997
	.quad	0x404eaa3d70a3d70a              # double 61.329999999999998
	.quad	0x405085c28f5c28f6              # double 66.090000000000003
	.quad	0x405a5147ae147ae1              # double 105.27
	.quad	0x4050e00000000000              # double 67.5
	.quad	0x40583c28f5c28f5c              # double 96.939999999999998
	.quad	0x401b47ae147ae148              # double 6.8200000000000003
	.quad	0x403c35c28f5c28f6              # double 28.210000000000001
	.quad	0x40115c28f5c28f5c              # double 4.3399999999999999
	.quad	0x403d028f5c28f5c3              # double 29.010000000000002
	.quad	0x4054351eb851eb85              # double 80.829999999999998
	.quad	0x405f51eb851eb852              # double 125.28
	.quad	0x4040200000000000              # double 32.25
	.quad	0x404b2147ae147ae1              # double 54.259999999999998
	.quad	0x405867ae147ae148              # double 97.620000000000005
	.quad	0x40609a8f5c28f5c3              # double 132.83000000000001
	.quad	0x4048a00000000000              # double 49.25
	.quad	0x40532ae147ae147b              # double 76.670000000000001
	.quad	0x405820a3d70a3d71              # double 96.510000000000005
	.quad	0x405e5f5c28f5c28f              # double 121.48999999999999
	.quad	0x4040e51eb851eb85              # double 33.789999999999999
	.quad	0x4051a147ae147ae1              # double 70.519999999999996
	.quad	0x4054e147ae147ae1              # double 83.519999999999996
	.quad	0x406027ae147ae148              # double 129.24000000000001
	.quad	0x403b0f5c28f5c28f              # double 27.059999999999999
	.quad	0x404e50a3d70a3d71              # double 60.630000000000003
	.quad	0x3ff68f5c28f5c28f              # double 1.4099999999999999
	.quad	0x40292e147ae147ae              # double 12.59
	.quad	0x402a70a3d70a3d71              # double 13.220000000000001
	.quad	0x404cd1eb851eb852              # double 57.640000000000001
	.quad	0x4031733333333333              # double 17.449999999999999
	.quad	0x40420b851eb851ec              # double 36.090000000000003
	.quad	0x4051d66666666666              # double 71.349999999999994
	.quad	0x40533d70a3d70a3d              # double 76.959999999999993
	.quad	0x4055f851eb851eb8              # double 87.879999999999995
	.quad	0x40605947ae147ae1              # double 130.78999999999999
	.quad	0x404931eb851eb852              # double 50.390000000000001
	.quad	0x4054f851eb851eb8              # double 83.879999999999995
	.quad	0x405648f5c28f5c29              # double 89.14
	.quad	0x406150a3d70a3d71              # double 138.52000000000001
	.quad	0x4026e147ae147ae1              # double 11.44
	.quad	0x4044bae147ae147b              # double 41.460000000000001
	.quad	0x40574ae147ae147b              # double 93.170000000000001
	.quad	0x40604c7ae147ae14              # double 130.38999999999999
	.quad	0x4050cd70a3d70a3d              # double 67.209999999999994
	.quad	0x4057f33333333333              # double 95.799999999999997
	.quad	0x403d28f5c28f5c29              # double 29.16
	.quad	0x404f15c28f5c28f6              # double 62.170000000000002
	.quad	0x40573eb851eb851f              # double 92.980000000000003
	.quad	0x4061ee6666666666              # double 143.44999999999999
	.quad	0x4047feb851eb851f              # double 47.990000000000002
	.quad	0x40530851eb851eb8              # double 76.129999999999995
	.quad	0x403b6e147ae147ae              # double 27.43
	.quad	0x4051fe147ae147ae              # double 71.969999999999999
	.quad	0x4049f70a3d70a3d7              # double 51.93
	.quad	0x405823d70a3d70a4              # double 96.560000000000002
	.quad	0x4056c1eb851eb852              # double 91.030000000000001
	.quad	0x4060dfae147ae148              # double 134.99000000000001
	.quad	0x40580e147ae147ae              # double 96.219999999999998
	.quad	0x4060a9999999999a              # double 133.30000000000001
	.quad	0x40449eb851eb851f              # double 41.240000000000002
	.quad	0x4048970a3d70a3d7              # double 49.18
	.quad	0x4034451eb851eb85              # double 20.27
	.quad	0x4044dae147ae147b              # double 41.710000000000001
	.quad	0x4052ee147ae147ae              # double 75.719999999999999
	.quad	0x405a800000000000              # double 106
	.quad	0x40491d70a3d70a3d              # double 50.229999999999997
	.quad	0x4057651eb851eb85              # double 93.579999999999998
	.quad	0x4051aa3d70a3d70a              # double 70.659999999999997
	.quad	0x405c01eb851eb852              # double 112.03
	.quad	0x405607ae147ae148              # double 88.120000000000005
	.quad	0x405f1147ae147ae1              # double 124.27
	.quad	0x4052ed70a3d70a3d              # double 75.709999999999993
	.quad	0x405f466666666666              # double 125.09999999999999
	.quad	0x404f600000000000              # double 62.75
	.quad	0x4056accccccccccd              # double 90.700000000000002
	.quad	0x402319999999999a              # double 9.5500000000000007
	.quad	0x4041fc28f5c28f5c              # double 35.969999999999999
	.quad	0x405009999999999a              # double 64.150000000000006
	.quad	0x4059c70a3d70a3d7              # double 103.11
	.quad	0x402f428f5c28f5c3              # double 15.630000000000001
	.quad	0x4049fae147ae147b              # double 51.960000000000001
	.quad	0x402ff0a3d70a3d71              # double 15.970000000000001
	.quad	0x4048d9999999999a              # double 49.700000000000003
	.quad	0x4030451eb851eb85              # double 16.27
	.quad	0x4042a3d70a3d70a4              # double 37.280000000000001
	.quad	0x40427d70a3d70a3d              # double 36.979999999999997
	.quad	0x404ad5c28f5c28f6              # double 53.670000000000002
	.quad	0x4058bae147ae147b              # double 98.920000000000001
	.quad	0x4060ad70a3d70a3d              # double 133.41999999999999
	.quad	0x4055fae147ae147b              # double 87.920000000000001
	.quad	0x40619f0a3d70a3d7              # double 140.97
	.quad	0x40488f5c28f5c28f              # double 49.119999999999997
	.quad	0x40550c28f5c28f5c              # double 84.189999999999998
	.quad	0x404b23d70a3d70a4              # double 54.280000000000001
	.quad	0x405667ae147ae148              # double 89.620000000000005
	.quad	0x4051d51eb851eb85              # double 71.329999999999998
	.quad	0x4058200000000000              # double 96.5
	.quad	0x404b4a3d70a3d70a              # double 54.579999999999998
	.quad	0x4057b66666666666              # double 94.849999999999994
	.quad	0x4051100000000000              # double 68.25
	.quad	0x405c270a3d70a3d7              # double 112.61
	.quad	0x40508eb851eb851f              # double 66.230000000000004
	.quad	0x4058328f5c28f5c3              # double 96.790000000000006
	.quad	0x4048eccccccccccd              # double 49.850000000000001
	.quad	0x40589b851eb851ec              # double 98.430000000000007
	.quad	0x40482147ae147ae1              # double 48.259999999999998
	.quad	0x4055051eb851eb85              # double 84.079999999999998
	.quad	0x40191eb851eb851f              # double 6.2800000000000002
	.quad	0x404319999999999a              # double 38.200000000000003
	.quad	0x4043b851eb851eb8              # double 39.439999999999998
	.quad	0x4058000000000000              # double 96
	.quad	0x40571147ae147ae1              # double 92.269999999999996
	.quad	0x4060aae147ae147b              # double 133.34
	.quad	0x4053eb851eb851ec              # double 79.680000000000007
	.quad	0x405ba5c28f5c28f6              # double 110.59
	.quad	0x404f10a3d70a3d71              # double 62.130000000000003
	.quad	0x405b147ae147ae14              # double 108.31999999999999
	.quad	0x404b000000000000              # double 54
	.quad	0x4056d147ae147ae1              # double 91.269999999999996
	.quad	0x403b91eb851eb852              # double 27.57
	.quad	0x4050c66666666666              # double 67.099999999999994
	.quad	0x404abeb851eb851f              # double 53.490000000000002
	.quad	0x4056e1eb851eb852              # double 91.530000000000001
	.quad	0x40344a3d70a3d70a              # double 20.289999999999999
	.quad	0x404247ae147ae148              # double 36.560000000000002
	.quad	0x403c68f5c28f5c29              # double 28.41
	.quad	0x40483ae147ae147b              # double 48.460000000000001
	.quad	0x40505d70a3d70a3d              # double 65.459999999999994
	.quad	0x4054fb851eb851ec              # double 83.930000000000007
	.quad	0x40577851eb851eb8              # double 93.879999999999995
	.quad	0x40620bd70a3d70a4              # double 144.37
	.quad	0x404ebc28f5c28f5c              # double 61.469999999999999
	.quad	0x40569eb851eb851f              # double 90.480000000000003
	.quad	0x404383d70a3d70a4              # double 39.030000000000001
	.quad	0x40529ccccccccccd              # double 74.450000000000002
	.quad	0x404a6147ae147ae1              # double 52.759999999999998
	.quad	0x40572e147ae147ae              # double 92.719999999999998
	.quad	0x40338f5c28f5c28f              # double 19.559999999999999
	.quad	0x404971eb851eb852              # double 50.890000000000001
	.quad	0x404155c28f5c28f6              # double 34.670000000000002
	.quad	0x404e8147ae147ae1              # double 61.009999999999998
	.quad	0x4041200000000000              # double 34.25
	.quad	0x404ebd70a3d70a3d              # double 61.479999999999997
	.quad	0x40514b851eb851ec              # double 69.180000000000007
	.quad	0x405725c28f5c28f6              # double 92.590000000000003
	.quad	0x405630a3d70a3d71              # double 88.760000000000005
	.quad	0x405e966666666666              # double 122.34999999999999
	.quad	0x4018a3d70a3d70a4              # double 6.1600000000000001
	.quad	0x403f07ae147ae148              # double 31.030000000000001
	.quad	0x40246b851eb851ec              # double 10.210000000000001
	.quad	0x40474ccccccccccd              # double 46.600000000000001
	.quad	0x40587ccccccccccd              # double 97.950000000000002
	.quad	0x4060f9eb851eb852              # double 135.81
	.quad	0x4054c47ae147ae14              # double 83.069999999999993
	.quad	0x405e17ae147ae148              # double 120.37
	.quad	0x405081eb851eb852              # double 66.030000000000001
	.quad	0x405a69999999999a              # double 105.65000000000001
	.quad	0x404fdae147ae147b              # double 63.710000000000001
	.quad	0x4058e3d70a3d70a4              # double 99.560000000000002
	.quad	0x4031ee147ae147ae              # double 17.93
	.quad	0x4041c7ae147ae148              # double 35.560000000000002
	.quad	0x4053ad70a3d70a3d              # double 78.709999999999993
	.quad	0x405de8f5c28f5c29              # double 119.64
	.quad	0x3ff428f5c28f5c29              # double 1.26
	.quad	0x403d70a3d70a3d71              # double 29.440000000000001
	.quad	0x40584ae147ae147b              # double 97.170000000000001
	.quad	0x40607c28f5c28f5c              # double 131.88
	.quad	0x4038400000000000              # double 24.25
	.quad	0x404bb70a3d70a3d7              # double 55.43
	.quad	0x4047ae147ae147ae              # double 47.359999999999999
	.quad	0x40528b851eb851ec              # double 74.180000000000007
	.quad	0x405453d70a3d70a4              # double 81.310000000000002
	.quad	0x405c770a3d70a3d7              # double 113.86
	.quad	0x4042d70a3d70a3d7              # double 37.68
	.quad	0x4049170a3d70a3d7              # double 50.18
	.quad	0x403a7851eb851eb8              # double 26.469999999999999
	.quad	0x4042f47ae147ae14              # double 37.909999999999997
	.quad	0x4052aa3d70a3d70a              # double 74.659999999999997
	.quad	0x405cd33333333333              # double 115.3
	.quad	0x40157ae147ae147b              # double 5.3700000000000001
	.quad	0x404071eb851eb852              # double 32.890000000000001
	.quad	0x4022800000000000              # double 9.25
	.quad	0x402c7ae147ae147b              # double 14.24
	.quad	0x40406a3d70a3d70a              # double 32.829999999999998
	.quad	0x404cfc28f5c28f5c              # double 57.969999999999999
	.quad	0x4022051eb851eb85              # double 9.0099999999999998
	.quad	0x40410b851eb851ec              # double 34.090000000000003
	.quad	0x403fd1eb851eb852              # double 31.82
	.quad	0x4050c33333333333              # double 67.049999999999997
	.quad	0x4052e47ae147ae14              # double 75.569999999999993
	.quad	0x405bb70a3d70a3d7              # double 110.86
	.quad	0x402a666666666666              # double 13.199999999999999
	.quad	0x404d6b851eb851ec              # double 58.840000000000003
	.quad	0x40435eb851eb851f              # double 38.740000000000002
	.quad	0x404d4e147ae147ae              # double 58.609999999999999
	.quad	0x4041466666666666              # double 34.549999999999997
	.quad	0x4048a3d70a3d70a4              # double 49.280000000000001
	.quad	0x4021428f5c28f5c3              # double 8.6300000000000008
	.quad	0x403268f5c28f5c29              # double 18.41
	.quad	0x405793d70a3d70a4              # double 94.310000000000002
	.quad	0x40633a8f5c28f5c3              # double 153.83000000000001
	.quad	0x404da28f5c28f5c3              # double 59.270000000000003
	.quad	0x40593ccccccccccd              # double 100.95
	.quad	0x405105c28f5c28f6              # double 68.090000000000003
	.quad	0x4057fc28f5c28f5c              # double 95.939999999999998
	.quad	0x4040f851eb851eb8              # double 33.939999999999998
	.quad	0x404c666666666666              # double 56.799999999999997
	.quad	0x4036cf5c28f5c28f              # double 22.809999999999999
	.quad	0x404a0a3d70a3d70a              # double 52.079999999999998
	.quad	0x4031170a3d70a3d7              # double 17.09
	.quad	0x4049af5c28f5c28f              # double 51.369999999999997
	.quad	0x40342147ae147ae1              # double 20.129999999999999
	.quad	0x404a8e147ae147ae              # double 53.109999999999999
	.quad	0x403787ae147ae148              # double 23.530000000000001
	.quad	0x4046970a3d70a3d7              # double 45.18
	.quad	0x40421eb851eb851f              # double 36.240000000000002
	.quad	0x404b666666666666              # double 54.799999999999997
	.quad	0x40550ccccccccccd              # double 84.200000000000002
	.quad	0x405bd51eb851eb85              # double 111.33
	.quad	0x40402ccccccccccd              # double 32.350000000000001
	.quad	0x405355c28f5c28f6              # double 77.340000000000003
	.quad	0x4043570a3d70a3d7              # double 38.68
	.quad	0x40524ae147ae147b              # double 73.170000000000001
	.quad	0x4018000000000000              # double 6
	.quad	0x4038570a3d70a3d7              # double 24.34
	.quad	0x403e23d70a3d70a4              # double 30.140000000000001
	.quad	0x404ce147ae147ae1              # double 57.759999999999998
	.quad	0x40322e147ae147ae              # double 18.18
	.quad	0x4039fd70a3d70a3d              # double 25.989999999999998
	.quad	0x4048770a3d70a3d7              # double 48.93
	.quad	0x4051a1eb851eb852              # double 70.530000000000001
	.quad	0x404faf5c28f5c28f              # double 63.369999999999997
	.quad	0x40554eb851eb851f              # double 85.230000000000003
	.quad	0x40415eb851eb851f              # double 34.740000000000002
	.quad	0x4051c47ae147ae14              # double 71.069999999999993
	.quad	0x4036d1eb851eb852              # double 22.82
	.quad	0x404e066666666666              # double 60.049999999999997
	.quad	0x404b4b851eb851ec              # double 54.590000000000003
	.quad	0x4054847ae147ae14              # double 82.069999999999993
	.quad	0x404fe8f5c28f5c29              # double 63.82
	.quad	0x4059b1eb851eb852              # double 102.78
	.quad	0x40518ae147ae147b              # double 70.170000000000002
	.quad	0x405aa70a3d70a3d7              # double 106.61
	.quad	0x3ffbd70a3d70a3d7              # double 1.74
	.quad	0x40354a3d70a3d70a              # double 21.289999999999999
	.quad	0x404b7851eb851eb8              # double 54.939999999999998
	.quad	0x4056d5c28f5c28f6              # double 91.340000000000003
	.quad	0x4053a147ae147ae1              # double 78.519999999999996
	.quad	0x405a18f5c28f5c29              # double 104.39
	.quad	0x404c9d70a3d70a3d              # double 57.229999999999997
	.quad	0x405c433333333333              # double 113.05
	.quad	0x4050beb851eb851f              # double 66.980000000000004
	.quad	0x405869999999999a              # double 97.650000000000005
	.quad	0x40310f5c28f5c28f              # double 17.059999999999999
	.quad	0x4043d9999999999a              # double 39.700000000000003
	.quad	0x404250a3d70a3d71              # double 36.630000000000003
	.quad	0x40500e147ae147ae              # double 64.219999999999999
	.quad	0x4049beb851eb851f              # double 51.490000000000002
	.quad	0x4050ee147ae147ae              # double 67.719999999999999
	.quad	0x40533c28f5c28f5c              # double 76.939999999999998
	.quad	0x405edd70a3d70a3d              # double 123.45999999999999
	.quad	0x4058ae147ae147ae              # double 98.719999999999998
	.quad	0x406194cccccccccd              # double 140.65000000000001
	.quad	0x4033947ae147ae14              # double 19.579999999999998
	.quad	0x404855c28f5c28f6              # double 48.670000000000002
	.quad	0x4039e8f5c28f5c29              # double 25.91
	.quad	0x404b600000000000              # double 54.75
	.quad	0x4032b33333333333              # double 18.699999999999999
	.quad	0x4039d47ae147ae14              # double 25.829999999999998
	.quad	0x40543147ae147ae1              # double 80.769999999999996
	.quad	0x405dcae147ae147b              # double 119.17
	.quad	0x4056070a3d70a3d7              # double 88.109999999999999
	.quad	0x40600bd70a3d70a4              # double 128.37
	.quad	0x405397ae147ae148              # double 78.370000000000005
	.quad	0x40609f0a3d70a3d7              # double 132.97
	.quad	0x4050ba3d70a3d70a              # double 66.909999999999997
	.quad	0x405a6a3d70a3d70a              # double 105.66
	.quad	0x4040c51eb851eb85              # double 33.539999999999999
	.quad	0x404c11eb851eb852              # double 56.140000000000001
	.quad	0x4048d47ae147ae14              # double 49.659999999999997
	.quad	0x4055947ae147ae14              # double 86.319999999999993
	.quad	0x4040000000000000              # double 32
	.quad	0x404d3c28f5c28f5c              # double 58.469999999999999
	.quad	0x40440147ae147ae1              # double 40.009999999999998
	.quad	0x4051628f5c28f5c3              # double 69.540000000000006
	.quad	0x404c0f5c28f5c28f              # double 56.119999999999997
	.quad	0x405271eb851eb852              # double 73.780000000000001
	.quad	0x4058028f5c28f5c3              # double 96.040000000000006
	.quad	0x4061bdc28f5c28f6              # double 141.93000000000001
	.quad	0x403ff5c28f5c28f6              # double 31.960000000000001
	.quad	0x4051170a3d70a3d7              # double 68.359999999999999
	.quad	0x40579a3d70a3d70a              # double 94.409999999999996
	.quad	0x405e45c28f5c28f6              # double 121.09
	.quad	0x40533ccccccccccd              # double 76.950000000000002
	.quad	0x405b4851eb851eb8              # double 109.13
	.quad	0x404bd70a3d70a3d7              # double 55.68
	.quad	0x40562ccccccccccd              # double 88.700000000000002
	.quad	0x400f0a3d70a3d70a              # double 3.8799999999999999
	.quad	0x40463c28f5c28f5c              # double 44.469999999999999
	.quad	0x401ce147ae147ae1              # double 7.2199999999999998
	.quad	0x404228f5c28f5c29              # double 36.32
	.quad	0x40505147ae147ae1              # double 65.269999999999996
	.quad	0x4058147ae147ae14              # double 96.319999999999993
	.quad	0x40560b851eb851ec              # double 88.180000000000007
	.quad	0x405741eb851eb852              # double 93.030000000000001
	.quad	0x404e628f5c28f5c3              # double 60.770000000000003
	.quad	0x404ff851eb851eb8              # double 63.939999999999998
	.quad	0x404fe7ae147ae148              # double 63.810000000000002
	.quad	0x405533d70a3d70a4              # double 84.810000000000002
	.quad	0x4047a51eb851eb85              # double 47.289999999999999
	.quad	0x405427ae147ae148              # double 80.620000000000005
	.quad	0x4054a00000000000              # double 82.5
	.quad	0x405fe8f5c28f5c29              # double 127.64
	.quad	0x403f6e147ae147ae              # double 31.43
	.quad	0x404728f5c28f5c29              # double 46.32
	.quad	0x402a5c28f5c28f5c              # double 13.18
	.quad	0x404010a3d70a3d71              # double 32.130000000000003
	.quad	0x405758f5c28f5c29              # double 93.39
	.quad	0x4061180000000000              # double 136.75
	.quad	0x40555147ae147ae1              # double 85.269999999999996
	.quad	0x4061c2e147ae147b              # double 142.09
	.quad	0x40459eb851eb851f              # double 43.240000000000002
	.quad	0x405b0ae147ae147b              # double 108.17
	.quad	0x4052d00000000000              # double 75.25
	.quad	0x405f4b851eb851ec              # double 125.18000000000001
	.quad	0x4040bae147ae147b              # double 33.460000000000001
	.quad	0x4057447ae147ae14              # double 93.069999999999993
	.quad	0x40569f5c28f5c28f              # double 90.489999999999994
	.quad	0x4061c00000000000              # double 142
	.quad	0x4053f851eb851eb8              # double 79.879999999999995
	.quad	0x405d80a3d70a3d71              # double 118.01000000000001
	.quad	0x4034d70a3d70a3d7              # double 20.84
	.quad	0x404f4ccccccccccd              # double 62.600000000000001
	.quad	0x404fd851eb851eb8              # double 63.689999999999998
	.quad	0x4058ef5c28f5c28f              # double 99.739999999999994
	.quad	0x405335c28f5c28f6              # double 76.840000000000003
	.quad	0x405f9851eb851eb8              # double 126.38
	.quad	0x4027147ae147ae14              # double 11.539999999999999
	.quad	0x403e266666666666              # double 30.149999999999999
	.quad	0x40531b851eb851ec              # double 76.430000000000007
	.quad	0x405d9147ae147ae1              # double 118.27
	.quad	0x4041c00000000000              # double 35.5
	.quad	0x4050b33333333333              # double 66.799999999999997
	.quad	0x4046a8f5c28f5c29              # double 45.32
	.quad	0x4050aae147ae147b              # double 66.670000000000002
	.quad	0x40509eb851eb851f              # double 66.480000000000004
	.quad	0x4059028f5c28f5c3              # double 100.04000000000001
	.quad	0x40526e147ae147ae              # double 73.719999999999999
	.quad	0x4058c3d70a3d70a4              # double 99.060000000000002
	.quad	0x4029b33333333333              # double 12.85
	.quad	0x4041dd70a3d70a3d              # double 35.729999999999997
	.quad	0x404f6b851eb851ec              # double 62.840000000000003
	.quad	0x4056ef5c28f5c28f              # double 91.739999999999994
	.quad	0x401b851eb851eb85              # double 6.8799999999999999
	.quad	0x4042800000000000              # double 37
	.quad	0x405650a3d70a3d71              # double 89.260000000000005
	.quad	0x406095c28f5c28f6              # double 132.68000000000001
	.quad	0x405540a3d70a3d71              # double 85.010000000000005
	.quad	0x405afa3d70a3d70a              # double 107.91
	.quad	0x4037deb851eb851f              # double 23.870000000000001
	.quad	0x404c08f5c28f5c29              # double 56.07
	.quad	0x404303d70a3d70a4              # double 38.030000000000001
	.quad	0x404c333333333333              # double 56.399999999999999
	.quad	0x405701eb851eb852              # double 92.030000000000001
	.quad	0x406050a3d70a3d71              # double 130.52000000000001
	.quad	0x4045028f5c28f5c3              # double 42.020000000000003
	.quad	0x4056647ae147ae14              # double 89.569999999999993
	.quad	0x402a570a3d70a3d7              # double 13.17
	.quad	0x403e7ae147ae147b              # double 30.48
	.quad	0x40548a3d70a3d70a              # double 82.159999999999997
	.quad	0x40605428f5c28f5c              # double 130.63
	.quad	0x4036ae147ae147ae              # double 22.68
	.quad	0x404d6e147ae147ae              # double 58.859999999999999
	.quad	0x40210a3d70a3d70a              # double 8.5199999999999996
	.quad	0x4043347ae147ae14              # double 38.409999999999997
	.quad	0x4030400000000000              # double 16.25
	.quad	0x40453ae147ae147b              # double 42.460000000000001
	.quad	0x4050566666666666              # double 65.349999999999994
	.quad	0x4058528f5c28f5c3              # double 97.290000000000006
	.quad	0x403f733333333333              # double 31.449999999999999
	.quad	0x4048fc28f5c28f5c              # double 49.969999999999999
	.quad	0x404da66666666666              # double 59.299999999999997
	.quad	0x4055de147ae147ae              # double 87.469999999999999
	.quad	0x4050470a3d70a3d7              # double 65.109999999999999
	.quad	0x405d59999999999a              # double 117.40000000000001
	.quad	0x403d63d70a3d70a4              # double 29.390000000000001
	.quad	0x40496f5c28f5c28f              # double 50.869999999999997
	.quad	0x40368ccccccccccd              # double 22.550000000000001
	.quad	0x404f933333333333              # double 63.149999999999999
	.quad	0x404279999999999a              # double 36.950000000000003
	.quad	0x405047ae147ae148              # double 65.120000000000005
	.quad	0x4054e28f5c28f5c3              # double 83.540000000000006
	.quad	0x405ee7ae147ae148              # double 123.62
	.quad	0x4027800000000000              # double 11.75
	.quad	0x40392e147ae147ae              # double 25.18
	.quad	0x404fb1eb851eb852              # double 63.390000000000001
	.quad	0x4059bf5c28f5c28f              # double 102.98999999999999
	.quad	0x404eb5c28f5c28f6              # double 61.420000000000002
	.quad	0x4054d66666666666              # double 83.349999999999994
	.quad	0x40410f5c28f5c28f              # double 34.119999999999997
	.quad	0x4051233333333333              # double 68.549999999999997
	.quad	0x4056af5c28f5c28f              # double 90.739999999999994
	.quad	0x406310a3d70a3d71              # double 152.52000000000001
	.quad	0x40498a3d70a3d70a              # double 51.079999999999998
	.quad	0x405485c28f5c28f6              # double 82.090000000000003
	.quad	0x403447ae147ae148              # double 20.280000000000001
	.quad	0x40449ae147ae147b              # double 41.210000000000001
	.quad	0x40530c28f5c28f5c              # double 76.189999999999998
	.quad	0x405b8851eb851eb8              # double 110.13
	.quad	0x4042feb851eb851f              # double 37.990000000000002
	.quad	0x4050d0a3d70a3d71              # double 67.260000000000005
	.quad	0x4056c33333333333              # double 91.049999999999997
	.quad	0x4062775c28f5c28f              # double 147.72999999999999
	.quad	0x40278a3d70a3d70a              # double 11.77
	.quad	0x4033dc28f5c28f5c              # double 19.859999999999999
	.quad	0x403c4a3d70a3d70a              # double 28.289999999999999
	.quad	0x4050d851eb851eb8              # double 67.379999999999995
	.quad	0x405090a3d70a3d71              # double 66.260000000000005
	.quad	0x4058833333333333              # double 98.049999999999997
	.quad	0x403691eb851eb852              # double 22.57
	.quad	0x40410147ae147ae1              # double 34.009999999999998
	.quad	0x40304ccccccccccd              # double 16.300000000000001
	.quad	0x40395eb851eb851f              # double 25.370000000000001
	.quad	0x4046628f5c28f5c3              # double 44.770000000000003
	.quad	0x4054270a3d70a3d7              # double 80.609999999999999
	.quad	0x404731eb851eb852              # double 46.390000000000001
	.quad	0x4054b1eb851eb852              # double 82.780000000000001
	.quad	0x4052851eb851eb85              # double 74.079999999999998
	.quad	0x405ce9999999999a              # double 115.65000000000001
	.quad	0x404a8ccccccccccd              # double 53.100000000000001
	.quad	0x40571eb851eb851f              # double 92.480000000000003
	.quad	0x3fa47ae147ae147b              # double 0.040000000000000001
	.quad	0x403cc7ae147ae148              # double 28.780000000000001
	.quad	0x403d000000000000              # double 29
	.quad	0x40452147ae147ae1              # double 42.259999999999998
	.quad	0x40133d70a3d70a3d              # double 4.8099999999999996
	.quad	0x40394a3d70a3d70a              # double 25.289999999999999
	.quad	0x403cbd70a3d70a3d              # double 28.739999999999998
	.quad	0x4047866666666666              # double 47.049999999999997
	.quad	0x404091eb851eb852              # double 33.140000000000001
	.quad	0x4051551eb851eb85              # double 69.329999999999998
	.quad	0x4055fd70a3d70a3d              # double 87.959999999999993
	.quad	0x406020a3d70a3d71              # double 129.02000000000001
	.quad	0x404b3eb851eb851f              # double 54.490000000000002
	.quad	0x4052d47ae147ae14              # double 75.319999999999993
	.quad	0x4042af5c28f5c28f              # double 37.369999999999997
	.quad	0x404d4b851eb851ec              # double 58.590000000000003
	.quad	0x4058e51eb851eb85              # double 99.579999999999998
	.quad	0x40627e6666666666              # double 147.94999999999999
	.quad	0x4035ae147ae147ae              # double 21.68
	.quad	0x404c2f5c28f5c28f              # double 56.369999999999997
	.quad	0x3ff7ae147ae147ae              # double 1.48
	.quad	0x4042a8f5c28f5c29              # double 37.32
	.quad	0x4056c0a3d70a3d71              # double 91.010000000000005
	.quad	0x4060d8a3d70a3d71              # double 134.77000000000001
	.quad	0x4056128f5c28f5c3              # double 88.290000000000006
	.quad	0x4060370a3d70a3d7              # double 129.72
	.quad	0x40405d70a3d70a3d              # double 32.729999999999997
	.quad	0x404d8a3d70a3d70a              # double 59.079999999999998
	.quad	0x4058247ae147ae14              # double 96.569999999999993
	.quad	0x4060ef5c28f5c28f              # double 135.47999999999999
	.quad	0x4056866666666666              # double 90.099999999999994
	.quad	0x40604d1eb851eb85              # double 130.41
	.quad	0x403435c28f5c28f6              # double 20.210000000000001
	.quad	0x40480a3d70a3d70a              # double 48.079999999999998
	.quad	0x404a70a3d70a3d71              # double 52.880000000000003
	.quad	0x4051b66666666666              # double 70.849999999999994
	.quad	0x40566c28f5c28f5c              # double 89.689999999999998
	.quad	0x4060ae147ae147ae              # double 133.44
	.quad	0x4038bd70a3d70a3d              # double 24.739999999999998
	.quad	0x4049e7ae147ae148              # double 51.810000000000002
	.quad	0x405277ae147ae148              # double 73.870000000000005
	.quad	0x405a21eb851eb852              # double 104.53
	.quad	0x404eeb851eb851ec              # double 61.840000000000003
	.quad	0x4056f9999999999a              # double 91.900000000000005
	.quad	0x405057ae147ae148              # double 65.370000000000005
	.quad	0x4055066666666666              # double 84.099999999999994
	.quad	0x4044b33333333333              # double 41.399999999999999
	.quad	0x4052b3d70a3d70a4              # double 74.810000000000002
	.quad	0x40431c28f5c28f5c              # double 38.219999999999999
	.quad	0x404b4147ae147ae1              # double 54.509999999999998
	.quad	0x40323d70a3d70a3d              # double 18.239999999999998
	.quad	0x4044800000000000              # double 41
	.quad	0x405683d70a3d70a4              # double 90.060000000000002
	.quad	0x405f2b851eb851ec              # double 124.68000000000001
	.quad	0x40071eb851eb851f              # double 2.8900000000000001
	.quad	0x404108f5c28f5c29              # double 34.07
	.quad	0x405408f5c28f5c29              # double 80.14
	.quad	0x405aaf5c28f5c28f              # double 106.73999999999999
	.quad	0x40567a3d70a3d70a              # double 89.909999999999997
	.quad	0x405fed70a3d70a3d              # double 127.70999999999999
	.quad	0x404e50a3d70a3d71              # double 60.630000000000003
	.quad	0x4059a7ae147ae148              # double 102.62
	.quad	0x4041800000000000              # double 35
	.quad	0x40511147ae147ae1              # double 68.269999999999996
	.quad	0x4051a851eb851eb8              # double 70.629999999999995
	.quad	0x40590147ae147ae1              # double 100.02
	.quad	0x402f4ccccccccccd              # double 15.65
	.quad	0x404115c28f5c28f6              # double 34.170000000000002
	.quad	0x4051e8f5c28f5c29              # double 71.640000000000001
	.quad	0x4057ef5c28f5c28f              # double 95.739999999999994
	.quad	0x40320ccccccccccd              # double 18.050000000000001
	.quad	0x40444ccccccccccd              # double 40.600000000000001
	.quad	0x40430a3d70a3d70a              # double 38.079999999999998
	.quad	0x40494147ae147ae1              # double 50.509999999999998
	.quad	0x40562d70a3d70a3d              # double 88.709999999999993
	.quad	0x405b80a3d70a3d71              # double 110.01000000000001
	.quad	0x4030147ae147ae14              # double 16.079999999999998
	.quad	0x404bf47ae147ae14              # double 55.909999999999997
	.quad	0x4054233333333333              # double 80.549999999999997
	.quad	0x405bdeb851eb851f              # double 111.48
	.quad	0x404210a3d70a3d71              # double 36.130000000000003
	.quad	0x404f6f5c28f5c28f              # double 62.869999999999997
	.quad	0x40557851eb851eb8              # double 85.879999999999995
	.quad	0x405b2d70a3d70a3d              # double 108.70999999999999
	.quad	0x4049600000000000              # double 50.75
	.quad	0x4059a51eb851eb85              # double 102.58
	.quad	0x4055d3d70a3d70a4              # double 87.310000000000002
	.quad	0x40620d70a3d70a3d              # double 144.41999999999999
	.quad	0x4037f5c28f5c28f6              # double 23.960000000000001
	.quad	0x40451d70a3d70a3d              # double 42.229999999999997
	.quad	0x4051e3d70a3d70a4              # double 71.560000000000002
	.quad	0x405d433333333333              # double 117.05
	.quad	0x4056328f5c28f5c3              # double 88.790000000000006
	.quad	0x40616bd70a3d70a4              # double 139.37
	.quad	0x4058866666666666              # double 98.099999999999994
	.quad	0x405ebf5c28f5c28f              # double 122.98999999999999
	.quad	0x403aae147ae147ae              # double 26.68
	.quad	0x404a2147ae147ae1              # double 52.259999999999998
	.quad	0x4029051eb851eb85              # double 12.51
	.quad	0x4032d70a3d70a3d7              # double 18.84
	.quad	0x4050a00000000000              # double 66.5
	.quad	0x405b6851eb851eb8              # double 109.63
	.quad	0x40332e147ae147ae              # double 19.18
	.quad	0x404d547ae147ae14              # double 58.659999999999997
	.quad	0x40538ae147ae147b              # double 78.170000000000001
	.quad	0x405e151eb851eb85              # double 120.33
	.quad	0x402c3851eb851eb8              # double 14.109999999999999
	.quad	0x404495c28f5c28f6              # double 41.170000000000002
	.quad	0x403f4a3d70a3d70a              # double 31.289999999999999
	.quad	0x404c770a3d70a3d7              # double 56.93
	.quad	0x4043af5c28f5c28f              # double 39.369999999999997
	.quad	0x404e9c28f5c28f5c              # double 61.219999999999999
	.quad	0x3feb333333333333              # double 0.84999999999999998
	.quad	0x4045a66666666666              # double 43.299999999999997
	.quad	0x404879999999999a              # double 48.950000000000003
	.quad	0x4052133333333333              # double 72.299999999999997
	.quad	0x40547c28f5c28f5c              # double 81.939999999999998
	.quad	0x405f870a3d70a3d7              # double 126.11
	.quad	0x40517d70a3d70a3d              # double 69.959999999999994
	.quad	0x40592b851eb851ec              # double 100.68000000000001
	.quad	0x40482b851eb851ec              # double 48.340000000000003
	.quad	0x40530d70a3d70a3d              # double 76.209999999999993
	.quad	0x4050a147ae147ae1              # double 66.519999999999996
	.quad	0x405ee3d70a3d70a4              # double 123.56
	.quad	0x402fe66666666666              # double 15.949999999999999
	.quad	0x4040c7ae147ae148              # double 33.560000000000002
	.quad	0x40160a3d70a3d70a              # double 5.5099999999999998
	.quad	0x4038451eb851eb85              # double 24.27
	.quad	0x403cc00000000000              # double 28.75
	.quad	0x40532851eb851eb8              # double 76.629999999999995
	.quad	0x402a666666666666              # double 13.199999999999999
	.quad	0x403e68f5c28f5c29              # double 30.41
	.quad	0x4049bc28f5c28f5c              # double 51.469999999999999
	.quad	0x4055b28f5c28f5c3              # double 86.790000000000006
	.quad	0x405535c28f5c28f6              # double 84.840000000000003
	.quad	0x4060028f5c28f5c3              # double 128.08000000000001
	.quad	0x40497ae147ae147b              # double 50.960000000000001
	.quad	0x4052833333333333              # double 74.049999999999997
	.quad	0x40531a3d70a3d70a              # double 76.409999999999997
	.quad	0x405deeb851eb851f              # double 119.73
	.quad	0x4052cb851eb851ec              # double 75.180000000000007
	.quad	0x405a6b851eb851ec              # double 105.68000000000001
	.quad	0x400ecccccccccccd              # double 3.8500000000000001
	.quad	0x4038a3d70a3d70a4              # double 24.640000000000001
	.quad	0x40455851eb851eb8              # double 42.689999999999998
	.quad	0x4051ab851eb851ec              # double 70.680000000000007
	.quad	0x4055b00000000000              # double 86.75
	.quad	0x4060ba8f5c28f5c3              # double 133.83000000000001
	.quad	0x40209eb851eb851f              # double 8.3100000000000005
	.quad	0x403170a3d70a3d71              # double 17.440000000000001
	.quad	0x405255c28f5c28f6              # double 73.340000000000003
	.quad	0x405a89999999999a              # double 106.15000000000001
	.quad	0x4040533333333333              # double 32.649999999999999
	.quad	0x4050af5c28f5c28f              # double 66.739999999999995
	.quad	0x40466a3d70a3d70a              # double 44.829999999999998
	.quad	0x405245c28f5c28f6              # double 73.090000000000003
	.quad	0x402047ae147ae148              # double 8.1400000000000006
	.quad	0x404dfc28f5c28f5c              # double 59.969999999999999
	.quad	0x4048c66666666666              # double 49.549999999999997
	.quad	0x4052e47ae147ae14              # double 75.569999999999993
	.quad	0x403eb851eb851eb8              # double 30.719999999999999
	.quad	0x4048028f5c28f5c3              # double 48.020000000000003
	.quad	0x40571e147ae147ae              # double 92.469999999999998
	.quad	0x4060d4cccccccccd              # double 134.65000000000001
	.quad	0x4054466666666666              # double 81.099999999999994
	.quad	0x4060ae147ae147ae              # double 133.44
	.quad	0x403dab851eb851ec              # double 29.670000000000002
	.quad	0x404d200000000000              # double 58.25
	.quad	0x40552851eb851eb8              # double 84.629999999999995
	.quad	0x406074cccccccccd              # double 131.65000000000001
	.quad	0x40307d70a3d70a3d              # double 16.489999999999998
	.quad	0x404379999999999a              # double 38.950000000000003
	.quad	0x40535eb851eb851f              # double 77.480000000000003
	.quad	0x406009999999999a              # double 128.30000000000001
	.quad	0x40457ae147ae147b              # double 42.960000000000001
	.quad	0x40529ae147ae147b              # double 74.420000000000001
	.quad	0x4055ad70a3d70a3d              # double 86.709999999999993
	.quad	0x405b07ae147ae148              # double 108.12
	.quad	0x403afae147ae147b              # double 26.98
	.quad	0x40436147ae147ae1              # double 38.759999999999998
	.quad	0x404e347ae147ae14              # double 60.409999999999997
	.quad	0x4056e3d70a3d70a4              # double 91.560000000000002
	.quad	0x4056fa3d70a3d70a              # double 91.909999999999996
	.quad	0x406046147ae147ae              # double 130.19
	.quad	0x405588f5c28f5c29              # double 86.14
	.quad	0x40601570a3d70a3d              # double 128.66999999999999
	.quad	0x4056e8f5c28f5c29              # double 91.64
	.quad	0x4061a2e147ae147b              # double 141.09
	.quad	0x404be7ae147ae148              # double 55.810000000000002
	.quad	0x405843d70a3d70a4              # double 97.060000000000002
	.quad	0x40482147ae147ae1              # double 48.259999999999998
	.quad	0x405391eb851eb852              # double 78.280000000000001
	.quad	0x4044beb851eb851f              # double 41.490000000000002
	.quad	0x4052d8f5c28f5c29              # double 75.39
	.quad	0x40424a3d70a3d70a              # double 36.579999999999998
	.quad	0x404dc00000000000              # double 59.5
	.quad	0x40531c28f5c28f5c              # double 76.439999999999998
	.quad	0x40555b851eb851ec              # double 85.430000000000007
	.quad	0x405223d70a3d70a4              # double 72.560000000000002
	.quad	0x405aa47ae147ae14              # double 106.56999999999999
	.quad	0x405237ae147ae148              # double 72.870000000000005
	.quad	0x405a6b851eb851ec              # double 105.68000000000001
	.quad	0x402ea3d70a3d70a4              # double 15.32
	.quad	0x4025bd70a3d70a3d              # double 10.869999999999999
	.quad	0x401cb851eb851eb8              # double 7.1799999999999997
	.quad	0x403e47ae147ae148              # double 30.280000000000001
	.quad	0x40572147ae147ae1              # double 92.519999999999996
	.quad	0x405f370a3d70a3d7              # double 124.86
	.quad	0x40577a3d70a3d70a              # double 93.909999999999996
	.quad	0x40611947ae147ae1              # double 136.78999999999999
	.quad	0x403f6147ae147ae1              # double 31.379999999999999
	.quad	0x405023d70a3d70a4              # double 64.560000000000002
	.quad	0x4056fe147ae147ae              # double 91.969999999999998
	.quad	0x4060547ae147ae14              # double 130.63999999999999
	.quad	0x403819999999999a              # double 24.100000000000001
	.quad	0x404f47ae147ae148              # double 62.560000000000002
	.quad	0x4045066666666666              # double 42.049999999999997
	.quad	0x4050633333333333              # double 65.549999999999997
	.quad	0x4032970a3d70a3d7              # double 18.59
	.quad	0x4044b47ae147ae14              # double 41.409999999999997
	.quad	0x4044f851eb851eb8              # double 41.939999999999998
	.quad	0x404f066666666666              # double 62.049999999999997
	.quad	0x3fe8000000000000              # double 0.75
	.quad	0x40469eb851eb851f              # double 45.240000000000002
	.quad	0x4056ea3d70a3d70a              # double 91.659999999999996
	.quad	0x405e51eb851eb852              # double 121.28
	.quad	0x4056300000000000              # double 88.75
	.quad	0x405be47ae147ae14              # double 111.56999999999999
	.quad	0x402a47ae147ae148              # double 13.140000000000001
	.quad	0x404aef5c28f5c28f              # double 53.869999999999997
	.quad	0x4050c7ae147ae148              # double 67.120000000000005
	.quad	0x40581ccccccccccd              # double 96.450000000000002
	.quad	0x404bd47ae147ae14              # double 55.659999999999997
	.quad	0x4056447ae147ae14              # double 89.069999999999993
	.quad	0x402bdc28f5c28f5c              # double 13.93
	.quad	0x40393ae147ae147b              # double 25.23
	.quad	0x4018666666666666              # double 6.0999999999999996
	.quad	0x403a70a3d70a3d71              # double 26.440000000000001
	.quad	0x403747ae147ae148              # double 23.280000000000001
	.quad	0x40487ae147ae147b              # double 48.960000000000001
	.quad	0x402d19999999999a              # double 14.550000000000001
	.quad	0x40368ccccccccccd              # double 22.550000000000001
	.quad	0x403fd9999999999a              # double 31.850000000000001
	.quad	0x404639999999999a              # double 44.450000000000003
	.quad	0x4042ce147ae147ae              # double 37.609999999999999
	.quad	0x404fa51eb851eb85              # double 63.289999999999999
	.quad	0x4036f0a3d70a3d71              # double 22.940000000000001
	.quad	0x40455c28f5c28f5c              # double 42.719999999999999
	.quad	0x404c91eb851eb852              # double 57.140000000000001
	.quad	0x40566147ae147ae1              # double 89.519999999999996
	.quad	0x404a400000000000              # double 52.5
	.quad	0x40536d70a3d70a3d              # double 77.709999999999993
	.quad	0x4058e5c28f5c28f6              # double 99.590000000000003
	.quad	0x406340f5c28f5c29              # double 154.03
	.quad	0x40424b851eb851ec              # double 36.590000000000003
	.quad	0x4048bc28f5c28f5c              # double 49.469999999999999
	.quad	0x403a570a3d70a3d7              # double 26.34
	.quad	0x404ba51eb851eb85              # double 55.289999999999999
	.quad	0x40582851eb851eb8              # double 96.629999999999995
	.quad	0x4062923d70a3d70a              # double 148.56999999999999
	.quad	0x4056f33333333333              # double 91.799999999999997
	.quad	0x4060e1eb851eb852              # double 135.06
	.quad	0x4057870a3d70a3d7              # double 94.109999999999999
	.quad	0x4060c51eb851eb85              # double 134.16
	.quad	0x404bc28f5c28f5c3              # double 55.520000000000003
	.quad	0x4057f70a3d70a3d7              # double 95.859999999999999
	.quad	0x4039ca3d70a3d70a              # double 25.789999999999999
	.quad	0x404a3d70a3d70a3d              # double 52.479999999999997
	.quad	0x40551c28f5c28f5c              # double 84.439999999999998
	.quad	0x405d88f5c28f5c29              # double 118.14
	.quad	0x4019c28f5c28f5c3              # double 6.4400000000000004
	.quad	0x403de3d70a3d70a4              # double 29.890000000000001
	.quad	0x4041f9999999999a              # double 35.950000000000003
	.quad	0x404823d70a3d70a4              # double 48.280000000000001
	.quad	0x403ff33333333333              # double 31.949999999999999
	.quad	0x404d2b851eb851ec              # double 58.340000000000003
	.quad	0x40447eb851eb851f              # double 40.990000000000002
	.quad	0x405168f5c28f5c29              # double 69.640000000000001
	.quad	0x4028b33333333333              # double 12.35
	.quad	0x403a000000000000              # double 26
	.quad	0x4050de147ae147ae              # double 67.469999999999999
	.quad	0x4058b7ae147ae148              # double 98.870000000000005
	.quad	0x404c933333333333              # double 57.149999999999999
	.quad	0x40571f5c28f5c28f              # double 92.489999999999994
	.quad	0x40511ae147ae147b              # double 68.420000000000002
	.quad	0x40582147ae147ae1              # double 96.519999999999996
	.quad	0x402cf5c28f5c28f6              # double 14.48
	.quad	0x403d547ae147ae14              # double 29.329999999999998
	.quad	0x4040f33333333333              # double 33.899999999999999
	.quad	0x4051c00000000000              # double 71
	.quad	0x3fe2e147ae147ae1              # double 0.58999999999999997
	.quad	0x403875c28f5c28f6              # double 24.460000000000001
	.quad	0x4038ca3d70a3d70a              # double 24.789999999999999
	.quad	0x404199999999999a              # double 35.200000000000003
	.quad	0x4051770a3d70a3d7              # double 69.859999999999999
	.quad	0x40580f5c28f5c28f              # double 96.239999999999994
	.quad	0x405355c28f5c28f6              # double 77.340000000000003
	.quad	0x405e4eb851eb851f              # double 121.23
	.quad	0x403087ae147ae148              # double 16.530000000000001
	.quad	0x403c99999999999a              # double 28.600000000000001
	.quad	0x40583ccccccccccd              # double 96.950000000000002
	.quad	0x4061a5c28f5c28f6              # double 141.18000000000001
	.quad	0x40542a3d70a3d70a              # double 80.659999999999997
	.quad	0x405ba3d70a3d70a4              # double 110.56
	.quad	0x4046c28f5c28f5c3              # double 45.520000000000003
	.quad	0x405695c28f5c28f6              # double 90.340000000000003
	.quad	0x404f87ae147ae148              # double 63.060000000000002
	.quad	0x405a8851eb851eb8              # double 106.13
	.quad	0x4045733333333333              # double 42.899999999999999
	.quad	0x4052bf5c28f5c28f              # double 74.989999999999994
	.quad	0x4049d47ae147ae14              # double 51.659999999999997
	.quad	0x4053cccccccccccd              # double 79.200000000000002
	.quad	0x405419999999999a              # double 80.400000000000006
	.quad	0x405cc70a3d70a3d7              # double 115.11
	.quad	0x403959999999999a              # double 25.350000000000001
	.quad	0x4046c7ae147ae148              # double 45.560000000000002
	.quad	0x4051347ae147ae14              # double 68.819999999999993
	.quad	0x4057866666666666              # double 94.099999999999994
	.quad	0x402c23d70a3d70a4              # double 14.07
	.quad	0x403a07ae147ae148              # double 26.030000000000001
	.quad	0x403e5c28f5c28f5c              # double 30.359999999999999
	.quad	0x404d828f5c28f5c3              # double 59.020000000000003
	.quad	0x4043ef5c28f5c28f              # double 39.869999999999997
	.quad	0x405053d70a3d70a4              # double 65.310000000000002
	.quad	0x4014ae147ae147ae              # double 5.1699999999999999
	.quad	0x40387d70a3d70a3d              # double 24.489999999999998
	.quad	0x405360a3d70a3d71              # double 77.510000000000005
	.quad	0x405c73d70a3d70a4              # double 113.81
	.quad	0x40230a3d70a3d70a              # double 9.5199999999999996
	.quad	0x403dc51eb851eb85              # double 29.77
	.quad	0x402099999999999a              # double 8.3000000000000007
	.quad	0x40383d70a3d70a3d              # double 24.239999999999998
	.quad	0x4046051eb851eb85              # double 44.039999999999999
	.quad	0x40571851eb851eb8              # double 92.379999999999995
	.quad	0x402051eb851eb852              # double 8.1600000000000001
	.quad	0x402d000000000000              # double 14.5
	.quad	0x4047e8f5c28f5c29              # double 47.82
	.quad	0x405279999999999a              # double 73.900000000000006
	.quad	0x4056a70a3d70a3d7              # double 90.609999999999999
	.quad	0x405a547ae147ae14              # double 105.31999999999999
	.quad	0x40522147ae147ae1              # double 72.519999999999996
	.quad	0x4056e1eb851eb852              # double 91.530000000000001
	.quad	0x4046b851eb851eb8              # double 45.439999999999998
	.quad	0x405157ae147ae148              # double 69.370000000000005
	.quad	0x4052cb851eb851ec              # double 75.180000000000007
	.quad	0x405915c28f5c28f6              # double 100.34
	.quad	0x40224ccccccccccd              # double 9.1500000000000004
	.quad	0x40357ae147ae147b              # double 21.48
	.quad	0x4028cccccccccccd              # double 12.4
	.quad	0x403b451eb851eb85              # double 27.27
	.quad	0x40400e147ae147ae              # double 32.109999999999999
	.quad	0x404cfd70a3d70a3d              # double 57.979999999999997
	.quad	0x404fa7ae147ae148              # double 63.310000000000002
	.quad	0x4057900000000000              # double 94.25
	.quad	0x40517eb851eb851f              # double 69.980000000000004
	.quad	0x405930a3d70a3d71              # double 100.76000000000001
	.quad	0x40588d70a3d70a3d              # double 98.209999999999993
	.quad	0x406232e147ae147b              # double 145.59
	.quad	0x40477ae147ae147b              # double 46.960000000000001
	.quad	0x404d7ae147ae147b              # double 58.960000000000001
	.quad	0x403af33333333333              # double 26.949999999999999
	.quad	0x4046a00000000000              # double 45.25
	.quad	0x405538f5c28f5c29              # double 84.89
	.quad	0x405fa3d70a3d70a4              # double 126.56
	.quad	0x402775c28f5c28f6              # double 11.73
	.quad	0x403ef851eb851eb8              # double 30.969999999999999
	.quad	0x405783d70a3d70a4              # double 94.060000000000002
	.quad	0x405ead70a3d70a3d              # double 122.70999999999999
	.quad	0x4053528f5c28f5c3              # double 77.290000000000006
	.quad	0x405fc51eb851eb85              # double 127.08
	.quad	0x404f5d70a3d70a3d              # double 62.729999999999997
	.quad	0x4059600000000000              # double 101.5
	.quad	0x4058f70a3d70a3d7              # double 99.859999999999999
	.quad	0x406147ae147ae148              # double 138.24000000000001
	.quad	0x40472a3d70a3d70a              # double 46.329999999999998
	.quad	0x40520ccccccccccd              # double 72.200000000000003
	.quad	0x40367d70a3d70a3d              # double 22.489999999999998
	.quad	0x404b1ae147ae147b              # double 54.210000000000001
	.quad	0x4057eeb851eb851f              # double 95.730000000000003
	.quad	0x4060cae147ae147b              # double 134.34
	.quad	0x40568ae147ae147b              # double 90.170000000000001
	.quad	0x406002e147ae147b              # double 128.09
	.quad	0x4051233333333333              # double 68.549999999999997
	.quad	0x4057251eb851eb85              # double 92.579999999999998
	.quad	0x4051f47ae147ae14              # double 71.819999999999993
	.quad	0x405907ae147ae148              # double 100.12
	.quad	0x404048f5c28f5c29              # double 32.57
	.quad	0x4051d66666666666              # double 71.349999999999994
	.quad	0x404495c28f5c28f6              # double 41.170000000000002
	.quad	0x40522ccccccccccd              # double 72.700000000000003
	.quad	0x401a666666666666              # double 6.5999999999999996
	.quad	0x404250a3d70a3d71              # double 36.630000000000003
	.quad	0x4057b0a3d70a3d71              # double 94.760000000000005
	.quad	0x4060f0f5c28f5c29              # double 135.53
	.quad	0x403d570a3d70a3d7              # double 29.34
	.quad	0x4054347ae147ae14              # double 80.819999999999993
	.quad	0x40566147ae147ae1              # double 89.519999999999996
	.quad	0x406189eb851eb852              # double 140.31
	.quad	0x4058128f5c28f5c3              # double 96.290000000000006
	.quad	0x405ffd70a3d70a3d              # double 127.95999999999999
	.quad	0x404baa3d70a3d70a              # double 55.329999999999998
	.quad	0x4056747ae147ae14              # double 89.819999999999993
	.quad	0x40228f5c28f5c28f              # double 9.2799999999999994
	.quad	0x40373851eb851eb8              # double 23.219999999999999
	.quad	0x40583ccccccccccd              # double 96.950000000000002
	.quad	0x405fcccccccccccd              # double 127.2
	.quad	0x4050666666666666              # double 65.599999999999994
	.quad	0x405b05c28f5c28f6              # double 108.09
	.quad	0x4054b147ae147ae1              # double 82.769999999999996
	.quad	0x405e87ae147ae148              # double 122.12
	.quad	0x4057400000000000              # double 93
	.quad	0x405b81eb851eb852              # double 110.03
	.quad	0x4054af5c28f5c28f              # double 82.739999999999994
	.quad	0x405bf66666666666              # double 111.84999999999999
	.quad	0x4057747ae147ae14              # double 93.819999999999993
	.quad	0x4061870a3d70a3d7              # double 140.22
	.quad	0x4057a28f5c28f5c3              # double 94.540000000000006
	.quad	0x405f39999999999a              # double 124.90000000000001
	.quad	0x4046970a3d70a3d7              # double 45.18
	.quad	0x4059ae147ae147ae              # double 102.72
	.quad	0x40393d70a3d70a3d              # double 25.239999999999998
	.quad	0x4041ce147ae147ae              # double 35.609999999999999
	.quad	0x4036cccccccccccd              # double 22.800000000000001
	.quad	0x404d5d70a3d70a3d              # double 58.729999999999997
	.quad	0x4053f66666666666              # double 79.849999999999994
	.quad	0x405e47ae147ae148              # double 121.12
	.quad	0x40209eb851eb851f              # double 8.3100000000000005
	.quad	0x4044b851eb851eb8              # double 41.439999999999998
	.quad	0x4058c0a3d70a3d71              # double 99.010000000000005
	.quad	0x4060666666666666              # double 131.19999999999999
	.quad	0x3fe2e147ae147ae1              # double 0.58999999999999997
	.quad	0x402ec7ae147ae148              # double 15.390000000000001
	.quad	0x4050251eb851eb85              # double 64.579999999999998
	.quad	0x405ac47ae147ae14              # double 107.06999999999999
	.quad	0x405627ae147ae148              # double 88.620000000000005
	.quad	0x405e69999999999a              # double 121.65000000000001
	.quad	0x405467ae147ae148              # double 81.620000000000005
	.quad	0x406125c28f5c28f6              # double 137.18000000000001
	.quad	0x405783d70a3d70a4              # double 94.060000000000002
	.quad	0x406094cccccccccd              # double 132.65000000000001
	.quad	0x40582147ae147ae1              # double 96.519999999999996
	.quad	0x405ee7ae147ae148              # double 123.62
	.quad	0x4003ae147ae147ae              # double 2.46
	.quad	0x404263d70a3d70a4              # double 36.780000000000001
	.quad	0x4036851eb851eb85              # double 22.52
	.quad	0x4045c7ae147ae148              # double 43.560000000000002
	.quad	0x402a6b851eb851ec              # double 13.210000000000001
	.quad	0x4041ca3d70a3d70a              # double 35.579999999999998
	.quad	0x401e666666666666              # double 7.5999999999999996
	.quad	0x4030b0a3d70a3d71              # double 16.690000000000001
	.quad	0x405098f5c28f5c29              # double 66.390000000000001
	.quad	0x40581c28f5c28f5c              # double 96.439999999999998
	.quad	0x40173d70a3d70a3d              # double 5.8099999999999996
	.quad	0x4036666666666666              # double 22.399999999999999
	.quad	0x4039c28f5c28f5c3              # double 25.760000000000002
	.quad	0x4048733333333333              # double 48.899999999999999
	.quad	0x4057cc28f5c28f5c              # double 95.189999999999998
	.quad	0x406248a3d70a3d71              # double 146.27000000000001
	.quad	0x40459ae147ae147b              # double 43.210000000000001
	.quad	0x405490a3d70a3d71              # double 82.260000000000005
	.quad	0x4050fd70a3d70a3d              # double 67.959999999999994
	.quad	0x405beccccccccccd              # double 111.7
	.quad	0x40554d70a3d70a3d              # double 85.209999999999993
	.quad	0x405fc00000000000              # double 127
	.quad	0x4013f5c28f5c28f6              # double 4.9900000000000002
	.quad	0x4037800000000000              # double 23.5
	.quad	0x40513b851eb851ec              # double 68.930000000000007
	.quad	0x405a70a3d70a3d71              # double 105.76000000000001
	.quad	0x404fca3d70a3d70a              # double 63.579999999999998
	.quad	0x40544b851eb851ec              # double 81.180000000000007
	.quad	0x405461eb851eb852              # double 81.530000000000001
	.quad	0x405a470a3d70a3d7              # double 105.11
	.quad	0x404fea3d70a3d70a              # double 63.829999999999998
	.quad	0x4056ba3d70a3d70a              # double 90.909999999999997
	.quad	0x404b5eb851eb851f              # double 54.740000000000002
	.quad	0x405780a3d70a3d71              # double 94.010000000000005
	.quad	0x404eeb851eb851ec              # double 61.840000000000003
	.quad	0x405b6b851eb851ec              # double 109.68000000000001
	.quad	0x404c50a3d70a3d71              # double 56.630000000000003
	.quad	0x4056f5c28f5c28f6              # double 91.840000000000003
	.quad	0x4038970a3d70a3d7              # double 24.59
	.quad	0x40498a3d70a3d70a              # double 51.079999999999998
	.quad	0x404f51eb851eb852              # double 62.640000000000001
	.quad	0x40560147ae147ae1              # double 88.019999999999996
	.quad	0x4056028f5c28f5c3              # double 88.040000000000006
	.quad	0x40608fae147ae148              # double 132.49000000000001
	.quad	0x405631eb851eb852              # double 88.780000000000001
	.quad	0x4060fb851eb851ec              # double 135.86000000000001
	.quad	0x4032ab851eb851ec              # double 18.670000000000002
	.quad	0x4048a00000000000              # double 49.25
	.quad	0x4052ac28f5c28f5c              # double 74.689999999999998
	.quad	0x405e31eb851eb852              # double 120.78
	.quad	0x405017ae147ae148              # double 64.370000000000005
	.quad	0x4059f28f5c28f5c3              # double 103.79000000000001
	.quad	0x403530a3d70a3d71              # double 21.190000000000001
	.quad	0x404e251eb851eb85              # double 60.289999999999999
	.quad	0x404a333333333333              # double 52.399999999999999
	.quad	0x4056ac28f5c28f5c              # double 90.689999999999998
	.quad	0x4027bd70a3d70a3d              # double 11.869999999999999
	.quad	0x40390f5c28f5c28f              # double 25.059999999999999
	.quad	0x401cc28f5c28f5c3              # double 7.1900000000000004
	.quad	0x4035e66666666666              # double 21.899999999999999
	.quad	0x40426f5c28f5c28f              # double 36.869999999999997
	.quad	0x4050ae147ae147ae              # double 66.719999999999999
	.quad	0x404ed1eb851eb852              # double 61.640000000000001
	.quad	0x4056e851eb851eb8              # double 91.629999999999995
	.size	data, 16000

	.type	n_data,@object                  # @n_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	_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 data
	.addrsig_sym d_n_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
