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


//To compile: nvcc -o cudalinear cudalinear.cu -lm
//To run: ./cudalinear


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

int n_data = 1000;
__device__ int d_n_data = 1000;


point_t data[] = {
  {77.23,150.76},{79.80,130.99},{72.07,129.56},{68.54,135.57},
  {83.81,149.30},{85.64,146.39},{76.45,131.33},{84.98,160.16},
  {65.01,144.98},{78.23,138.68},{80.13,138.82},{14.69,60.34},
  {15.27,56.88},{42.63,99.46},{49.53,108.22},{46.79,114.60},
  {74.02,138.49},{68.93,143.70},{29.07,78.24},{22.66,57.23},
  {13.55,60.50},{24.42,89.84},{69.63,141.88},{68.20,121.97},
  {13.52,67.63},{98.18,171.90},{96.84,167.57},{15.31,79.26},
  {81.15,155.58},{ 7.24,42.23},{92.34,171.28},{ 7.59,35.72},
  {86.80,140.15},{94.64,164.89},{55.48,117.90},{94.96,162.89},
  {27.86,70.22},{58.08,132.89},{66.77,128.47},{74.02,138.16},
  { 0.44,37.42},{24.84,61.83},{36.74,93.20},{ 6.16,36.15},
  { 8.67,46.12},{62.84,120.85},{91.14,160.36},{38.19,92.96},
  {38.61,86.03},{ 4.54,41.42},{ 7.66,45.15},{90.28,151.89},
  {66.28,136.36},{14.97,53.68},{99.09,181.15},{ 4.32,37.34},
  {28.45,70.87},{51.71,106.37},{72.04,154.43},{92.30,157.78},
  {43.08,107.99},{68.79,133.45},{21.91,66.64},{ 0.87,21.60},
  {37.19,90.34},{34.04,84.70},{31.02,84.13},{44.61,88.35},
  {14.38,51.01},{65.07,131.80},{25.28,83.50},{57.93,103.46},
  {63.70,133.50},{61.95,135.18},{25.10,71.75},{ 7.30,35.50},
  {27.96,56.29},{56.46,101.30},{64.09,138.41},{84.80,156.70},
  {82.47,148.81},{65.74,115.48},{ 2.20,50.31},{79.73,146.57},
  {99.84,195.89},{75.87,157.39},{99.03,169.23},{ 1.04,37.54},
  {90.77,169.12},{44.44,112.84},{53.09,117.78},{29.20,74.15},
  { 8.14,48.53},{75.40,151.29},{ 0.36,51.74},{44.53,109.50},
  {17.21,69.95},{82.10,153.97},{10.85,75.38},{11.03,37.76},
  {43.62,95.03},{ 4.17,37.63},{42.83,86.76},{94.99,162.04},
  {38.27,103.19},{ 8.92,31.66},{ 5.91,47.62},{72.11,147.98},
  {21.67,50.12},{73.32,150.38},{89.72,162.56},{21.43,63.83},
  {38.87,87.30},{57.55,108.29},{95.32,160.39},{50.51,102.08},
  {40.26,105.93},{ 1.42,64.12},{88.47,165.02},{60.40,117.44},
  {23.16,61.15},{31.47,97.11},{24.66,65.60},{15.71,66.86},
  {53.25,100.04},{25.62,75.47},{65.53,127.89},{20.46,68.16},
  {17.91,67.45},{58.56,110.59},{72.98,137.58},{41.63,81.83},
  {52.35,131.31},{42.70,81.87},{18.82,63.87},{82.37,135.43},
  {50.63,118.03},{26.69,86.74},{38.28,96.89},{79.50,149.35},
  {91.93,176.52},{27.69,87.12},{27.88,71.18},{ 7.50,33.40},
  {53.18,106.68},{42.09,92.69},{12.12,47.44},{55.74,126.06},
  {12.73,71.40},{47.39,102.06},{66.37,128.93},{11.89,56.14},
  {25.50,61.42},{60.54,145.01},{25.38,80.41},{51.70,119.33},
  {78.77,138.83},{54.80,113.53},{67.44,128.89},{21.41,55.06},
  {87.89,161.48},{30.29,84.74},{ 4.13,39.77},{73.32,136.32},
  {30.56,102.27},{13.64,66.47},{46.86,119.54},{43.94,113.97},
  {84.97,148.64},{32.25,79.23},{51.04,117.43},{ 7.29,40.56},
  {65.26,144.83},{17.88,52.10},{23.29,75.11},{10.81,24.38},
  { 2.63,24.55},{80.69,147.49},{51.33,107.01},{87.47,164.31},
  {55.04,131.68},{88.24,149.22},{55.56,108.54},{99.68,179.53},
  {94.33,175.50},{32.96,85.35},{60.91,134.47},{22.09,82.19},
  {25.30,78.38},{96.33,195.65},{77.88,138.48},{ 8.50,39.79},
  {78.23,148.86},{69.41,135.14},{30.54,77.78},{46.23,102.68},
  {89.37,178.40},{29.83,79.88},{71.53,129.01},{94.35,171.86},
  {45.41,88.06},{51.08,106.12},{39.44,133.07},{82.63,164.06},
  {22.72,64.40},{34.75,89.84},{23.32,63.71},{59.84,129.53},
  {21.32,73.28},{95.18,170.16},{ 2.38,31.84},{96.41,173.78},
  {31.43,83.49},{99.53,151.57},{73.88,138.10},{80.01,155.21},
  {79.83,159.75},{ 2.96,57.46},{25.73,66.61},{79.91,157.52},
  {55.94,118.26},{73.29,141.97},{80.19,151.77},{94.29,173.05},
  {51.57,109.38},{49.58,128.08},{24.75,58.95},{ 7.00,33.41},
  {70.50,130.74},{17.67,55.34},{37.63,68.25},{26.82,91.27},
  {79.86,146.65},{10.04,56.42},{71.33,128.72},{64.98,121.51},
  {32.35,87.64},{64.04,122.89},{45.95,103.56},{94.60,141.55},
  {98.90,177.75},{40.96,86.52},{73.50,142.09},{25.03,62.52},
  {52.53,98.14},{48.42,120.10},{87.03,156.45},{36.30,95.35},
  {79.61,138.84},{20.66,67.92},{62.61,125.21},{ 2.90,23.00},
  {98.68,165.89},{ 6.96,50.75},{39.79,104.21},{79.05,137.55},
  {52.58,111.78},{80.68,141.45},{59.72,108.11},{16.10,67.64},
  {34.04,88.73},{34.17,101.36},{19.48,64.44},{75.91,151.92},
  {11.10,33.79},{77.63,158.42},{36.73,92.59},{75.41,146.27},
  {23.88,69.67},{52.25,103.51},{85.09,149.96},{87.95,157.52},
  {92.24,157.91},{43.90,87.27},{ 1.94,37.20},{43.01,83.71},
  {65.13,116.23},{ 3.01,46.90},{22.24,68.17},{29.85,79.88},
  {16.25,63.22},{43.43,99.49},{52.04,104.99},{ 2.45,29.99},
  {52.39,110.43},{56.02,122.25},{96.73,169.43},{80.39,161.18},
  {75.89,140.06},{83.85,143.76},{85.20,166.70},{ 7.88,35.14},
  {80.19,134.04},{85.45,166.57},{39.31,102.76},{46.99,106.95},
  { 8.61,26.49},{75.77,151.27},{ 9.79,41.97},{58.14,121.89},
  {95.44,180.82},{88.45,160.82},{55.43,109.57},{33.69,88.65},
  { 6.82,58.64},{10.68,62.46},{76.72,148.78},{61.42,131.59},
  {74.44,177.54},{65.51,108.40},{64.69,119.39},{52.46,104.86},
  {67.71,125.61},{96.16,182.97},{25.98,75.56},{69.79,122.21},
  {80.36,153.17},{46.84,109.51},{75.33,144.70},{27.97,83.34},
  {79.32,149.37},{89.43,183.03},{63.62,123.51},{64.08,125.41},
  {31.31,75.90},{47.85,107.86},{31.41,87.37},{90.41,157.01},
  {19.09,66.83},{85.48,147.29},{ 9.35,45.51},{78.32,145.47},
  {40.27,92.98},{54.85,113.99},{36.07,77.94},{76.15,157.52},
  {49.07,102.81},{38.90,95.01},{70.96,140.87},{39.03,87.93},
  {33.72,84.07},{66.39,128.59},{44.04,108.08},{33.14,82.42},
  { 2.73,37.89},{26.45,77.66},{37.03,91.89},{54.00,124.50},
  {63.59,134.17},{16.03,62.07},{ 0.31,32.38},{25.76,72.06},
  {98.95,193.05},{78.40,150.31},{40.62,98.71},{64.81,137.01},
  {97.67,169.77},{25.90,85.88},{ 2.96,41.00},{22.47,69.35},
  {92.01,169.06},{95.45,164.77},{48.19,105.23},{ 7.76,52.64},
  { 7.21,40.27},{61.00,116.59},{ 2.23,40.79},{ 5.47,52.55},
  {71.36,131.37},{68.30,118.58},{65.41,109.22},{45.47,100.67},
  {41.21,87.43},{43.77,89.17},{91.86,166.20},{21.43,48.32},
  {10.75,36.04},{70.80,139.92},{87.62,173.81},{37.35,95.39},
  {75.73,137.61},{89.33,141.27},{15.56,70.91},{37.29,96.21},
  {22.13,62.15},{89.49,149.91},{50.07,97.91},{65.22,122.88},
  {63.93,130.94},{94.46,168.37},{38.82,88.52},{74.84,154.31},
  {54.08,106.91},{62.50,133.84},{77.25,128.70},{16.46,67.64},
  {73.45,139.73},{70.40,139.76},{94.44,163.56},{97.97,175.20},
  {33.23,89.79},{81.72,146.38},{ 4.70,36.62},{74.68,148.95},
  {72.68,140.81},{ 8.87,39.55},{94.28,183.46},{27.16,68.99},
  {43.16,92.09},{53.48,101.44},{51.57,124.00},{75.99,156.88},
  {94.41,174.23},{72.17,144.36},{71.46,131.88},{42.40,84.41},
  {40.17,92.91},{27.88,88.57},{49.06,97.55},{14.86,48.97},
  {73.36,140.86},{57.78,108.11},{84.53,158.66},{38.27,100.15},
  {12.74,55.85},{14.22,61.66},{65.98,122.01},{63.38,143.72},
  {37.68,71.66},{76.78,122.46},{75.28,133.60},{69.72,143.09},
  { 5.52,52.41},{74.35,139.08},{59.99,125.76},{65.64,133.87},
  {60.07,107.21},{34.70,85.96},{ 4.61,24.00},{71.23,140.57},
  {57.74,121.04},{ 4.23,21.04},{ 5.29,54.13},{25.21,81.66},
  {56.30,124.65},{57.39,116.99},{85.46,154.23},{85.10,170.56},
  {85.89,146.44},{11.25,63.44},{ 8.29,40.05},{79.22,135.00},
  {59.96,123.38},{97.19,163.58},{59.92,116.15},{ 7.36,53.16},
  {85.64,143.10},{10.47,41.00},{70.35,125.13},{ 6.02,50.75},
  {73.95,139.07},{81.88,144.64},{42.93,104.10},{34.71,76.10},
  { 5.69,52.52},{48.59,84.24},{48.10,94.76},{30.71,88.16},
  {68.56,136.98},{22.53,77.31},{16.95,63.73},{27.59,64.07},
  {65.14,118.01},{75.78,146.28},{33.86,91.29},{98.93,171.89},
  {83.61,167.09},{93.15,164.61},{35.08,95.68},{83.79,149.46},
  {52.03,119.04},{23.64,85.42},{18.22,57.37},{74.06,138.99},
  {50.25,84.46},{21.37,66.09},{61.15,137.81},{99.61,162.24},
  {96.95,173.40},{43.05,95.67},{89.28,163.68},{79.99,158.47},
  {59.69,130.55},{ 0.52,38.07},{49.77,111.52},{89.25,164.41},
  {25.92,57.36},{81.92,152.67},{61.39,125.63},{29.09,57.77},
  {23.31,81.37},{56.87,120.86},{74.59,142.88},{11.80,42.65},
  {33.64,101.80},{99.49,184.80},{ 1.85,33.70},{88.99,152.68},
  {90.98,186.45},{59.23,136.17},{47.73,120.71},{85.64,158.30},
  {30.41,72.27},{20.02,67.23},{68.23,148.39},{15.82,45.42},
  {80.29,149.38},{59.94,123.61},{92.82,159.34},{59.14,128.74},
  {25.35,77.45},{71.64,145.51},{19.97,70.58},{89.04,171.14},
  {53.43,99.51},{67.84,129.83},{54.76,107.18},{15.45,44.48},
  {41.74,97.86},{30.68,89.22},{68.71,129.61},{76.58,125.21},
  {64.96,129.77},{47.73,102.10},{92.55,169.95},{81.52,161.02},
  {51.35,105.53},{56.53,123.58},{51.51,95.62},{59.01,124.59},
  {16.29,63.29},{52.83,120.16},{97.68,184.76},{46.83,106.76},
  { 0.02,51.18},{26.76,80.54},{ 2.94,32.88},{87.10,157.17},
  {36.90,71.20},{62.84,108.89},{16.87,66.87},{ 5.03,40.84},
  {43.45,108.16},{38.04,75.39},{76.77,150.88},{74.60,139.64},
  {40.12,91.15},{49.06,100.84},{94.95,184.68},{74.31,134.38},
  {54.58,129.65},{86.95,160.05},{55.69,120.67},{22.24,56.35},
  {39.13,90.38},{60.57,131.42},{18.30,53.91},{38.32,95.23},
  {55.98,122.71},{13.06,52.26},{38.17,90.53},{95.59,168.64},
  {18.62,61.91},{91.96,176.78},{21.70,63.04},{81.25,152.90},
  {42.63,81.69},{70.76,137.17},{11.34,51.74},{13.05,39.96},
  {48.79,110.92},{86.88,157.80},{27.50,76.94},{88.77,149.45},
  {64.06,118.59},{85.27,147.23},{81.98,143.52},{84.58,156.89},
  {98.89,174.03},{34.99,82.30},{92.73,172.82},{ 0.75,35.91},
  { 8.61,52.25},{19.10,53.49},{41.42,106.22},{47.89,106.29},
  {83.85,148.92},{23.87,57.76},{88.54,165.40},{94.60,173.80},
  {19.56,68.73},{54.48,120.93},{67.85,119.02},{24.27,74.92},
  {78.18,159.68},{51.03,109.92},{33.42,98.61},{77.69,136.60},
  {40.97,84.93},{ 4.75,39.85},{25.01,87.53},{11.52,68.65},
  {34.40,78.01},{13.79,65.82},{ 6.27,56.21},{44.00,103.71},
  {83.26,143.34},{49.88,101.41},{73.05,140.87},{52.12,104.77},
  {66.38,121.93},{87.42,166.29},{ 3.08,43.40},{97.34,169.74},
  {31.67,81.37},{66.59,140.38},{45.21,102.87},{41.90,88.79},
  {76.28,138.48},{ 1.57,39.23},{42.25,103.21},{43.90,116.91},
  { 3.74,32.26},{ 5.85,46.20},{12.12,51.00},{96.69,164.76},
  {10.84,38.65},{63.15,121.09},{62.55,115.31},{42.63,87.47},
  {28.87,77.89},{40.33,103.79},{54.09,121.41},{18.21,65.54},
  { 5.68,69.26},{85.82,136.13},{17.38,62.76},{81.55,154.58},
  {77.85,163.45},{84.33,163.20},{20.70,57.52},{84.73,173.72},
  {86.17,167.83},{10.73,46.04},{71.83,151.69},{29.03,85.40},
  {66.88,141.73},{98.13,177.38},{30.52,76.72},{75.67,134.21},
  {34.35,77.06},{89.94,181.44},{95.53,176.57},{25.20,76.67},
  {40.27,99.43},{33.58,84.87},{63.60,128.21},{90.24,173.53},
  {70.81,145.77},{65.90,122.10},{ 5.06,37.13},{72.71,132.60},
  {14.98,74.10},{25.67,80.69},{32.04,92.28},{37.97,87.84},
  {47.47,93.50},{90.41,154.15},{ 7.68,45.93},{65.44,123.28},
  {33.96,76.14},{79.75,154.15},{72.74,161.05},{69.83,135.64},
  {29.13,74.88},{81.07,152.23},{ 9.39,57.45},{54.28,115.35},
  {58.15,119.42},{47.87,95.57},{29.20,71.41},{23.84,56.54},
  {69.13,132.86},{ 9.92,57.01},{84.33,146.61},{69.75,134.84},
  {63.33,127.11},{50.30,101.96},{ 7.43,22.18},{21.08,58.29},
  {63.42,98.06},{ 6.04,51.75},{88.80,134.59},{10.57,48.82},
  {14.86,59.58},{38.78,89.65},{ 8.60,63.72},{ 3.05,49.55},
  {79.64,140.40},{61.74,114.00},{47.51,110.09},{37.02,83.39},
  {22.32,78.38},{10.91,53.39},{97.40,188.44},{97.81,192.36},
  {46.23,100.00},{84.68,160.74},{56.35,103.47},{87.88,148.54},
  {11.47,48.34},{74.44,155.79},{24.04,77.24},{85.92,156.32},
  {95.47,166.23},{50.51,99.85},{79.61,150.41},{56.65,126.88},
  {10.18,46.83},{94.11,165.73},{16.84,68.82},{ 1.32,53.18},
  {35.24,82.85},{76.50,133.97},{49.70,115.78},{84.58,154.89},
  { 2.58,54.96},{28.05,56.88},{39.27,84.67},{ 1.26,26.79},
  {37.45,81.33},{26.01,83.07},{72.33,139.74},{ 8.92,61.33},
  {95.21,187.73},{12.96,57.68},{47.92,99.43},{20.09,47.75},
  {74.33,144.70},{36.15,79.94},{83.59,153.50},{ 5.37,46.07},
  {98.97,198.88},{85.91,179.15},{95.38,169.13},{85.64,160.16},
  {56.06,100.60},{96.89,176.63},{83.93,150.17},{48.80,111.06},
  {22.27,79.22},{95.58,173.58},{56.49,124.20},{92.03,146.39},
  {66.49,131.04},{39.22,90.96},{17.98,48.44},{ 1.00,33.27},
  {80.50,169.11},{82.88,173.50},{57.92,111.58},{68.90,130.96},
  {38.65,87.82},{20.49,73.50},{58.10,106.58},{38.99,88.07},
  {41.65,91.96},{82.00,140.65},{33.81,91.57},{23.62,78.38},
  {75.76,151.93},{40.42,116.08},{30.84,84.99},{76.73,148.69},
  { 7.81,62.57},{66.31,134.40},{70.76,143.33},{16.91,60.19},
  { 8.16,44.28},{72.52,138.18},{28.13,66.46},{70.97,126.90},
  {54.46,112.39},{61.94,110.06},{45.47,92.99},{90.78,156.57},
  {66.08,109.59},{12.35,56.66},{17.23,52.58},{71.21,158.27},
  {61.22,122.83},{50.62,117.43},{26.52,54.24},{57.46,126.25},
  {28.74,90.15},{10.49,48.72},{62.11,138.78},{79.20,140.57},
  {73.06,141.61},{19.01,52.29},{15.35,51.63},{98.03,174.79},
  {19.43,73.68},{57.18,95.12},{28.71,84.43},{56.17,114.52},
  {12.66,50.03},{35.83,78.66},{73.95,137.25},{96.68,169.26},
  {13.12,70.59},{72.84,142.80},{80.36,150.96},{29.96,67.92},
  {41.51,98.54},{51.54,102.60},{81.96,131.69},{74.14,138.07},
  {10.89,57.54},{68.18,127.68},{ 2.46,49.79},{51.99,119.32},
  {11.65,55.78},{75.74,132.46},{80.32,146.13},{96.60,165.24},
  {66.52,147.54},{18.28,66.38},{66.88,138.55},{66.37,141.96},
  {94.67,179.38},{56.35,108.03},{74.57,130.64},{59.22,113.97},
  {52.15,104.28},{46.60,107.63},{60.24,126.30},{75.58,129.28},
  {47.49,100.09},{96.21,162.75},{20.45,68.77},{39.10,94.83},
  {29.27,76.85},{ 8.94,36.23},{97.54,167.51},{13.40,64.23},
  {26.77,72.87},{85.95,157.69},{11.91,43.38},{65.80,107.86},
  {41.47,89.57},{77.07,131.29},{ 2.25,41.23},{21.29,83.85},
  {97.15,164.38},{33.93,89.39},{90.07,158.68},{ 1.90,32.41},
  {59.48,126.95},{18.54,62.78},{36.23,97.52},{86.61,160.14},
  {28.96,57.15},{15.98,67.67},{58.71,127.68},{45.96,105.75},
  {90.77,155.07},{72.45,143.70},{40.83,85.07},{40.26,94.81},
  { 7.74,52.45},{42.50,102.66},{ 6.20,30.04},{40.97,97.68},
  {57.38,131.11},{81.44,168.91},{ 2.14,42.62},{47.76,106.77},
  {82.71,158.27},{97.74,181.81},{57.87,122.41},{99.50,182.94},
  {77.02,151.94},{39.36,86.25},{ 2.21,56.76},{55.28,132.20},
  {74.87,132.06},{42.57,109.85},{10.54,46.27},{68.74,123.83},
  {99.98,188.43},{35.14,89.08},{79.73,145.31},{95.77,160.03},
  {81.03,147.97},{26.37,71.29},{97.06,185.07},{90.27,164.86},
  {84.43,162.64},{77.12,138.46},{78.68,141.56},{60.29,129.14},
  {11.58,45.54},{47.52,115.01},{50.02,113.78},{95.50,184.29},
  {43.90,87.31},{50.31,92.19},{57.40,110.42},{41.27,95.48},
  {52.73,122.70},{97.37,181.72},{87.18,156.97},{ 0.27,27.24},
  {32.53,78.79},{94.39,163.45},{29.47,74.81},{20.24,73.08},
  { 4.56,59.03},{38.65,90.42},{63.17,145.59},{12.77,49.40},
  {14.36,72.37},{71.92,127.46},{35.96,72.29},{54.82,105.88},
  {30.31,90.56},{70.58,121.99},{46.53,104.57},{83.62,164.66},
  {10.50,43.60},{27.90,68.17},{46.54,100.24},{48.49,115.46},
  {53.57,109.34},{19.56,55.62},{81.20,152.35},{55.46,96.62},
  {94.19,158.45},{56.27,124.61},{80.51,146.14},{67.37,141.02},
  {31.71,89.49},{93.04,161.28},{42.11,91.72},{33.56,93.79},
  { 4.44,60.08},{ 8.21,47.86},{90.51,177.18},{27.26,73.60},
  {29.63,85.02},{52.43,112.75},{73.07,130.27},{ 1.79,20.71},
  {28.08,81.49},{51.24,117.62},{47.53,109.75},{79.66,172.71},
  {15.43,51.60},{39.10,78.55},{48.00,114.36},{ 2.19,39.04},
  {16.43,49.62},{47.88,102.29},{24.64,68.34},{57.88,127.64},
  {34.97,95.54},{ 4.03,42.88},{10.94,60.98},{36.51,105.88},
  {74.16,142.76},{25.29,69.47},{59.63,112.76},{ 2.42,39.41},
  {61.17,115.63},{ 0.02,57.34},{82.24,158.82},{84.95,156.06},
  {38.16,65.51},{29.66,89.43},{84.26,144.66},{37.30,90.54},
  {47.88,108.10},{99.07,171.56},{ 5.35,46.07},{91.88,159.90},
  {66.92,118.74},{51.63,104.98},{86.92,149.65},{91.78,168.41}
};
double residual_error(double x, double g, double m, double c) {
  double e = (m * x) + c - g;
  return e * e;
}

__device__ double d_residual_error(double x, double g, double m, double c) {
  double e = (m * x) + c - g;
  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].g, 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].g, *m, *c);
}

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

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

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

	struct timespec start, finish;   
  long long int time_elapsed;

	
  clock_gettime(CLOCK_MONOTONIC, &start);

	cudaError_t error;

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

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

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

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

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

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

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

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

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

			error_sum_total = 0;
    }


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

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

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

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

	clock_gettime(CLOCK_MONOTONIC, &finish);

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

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

	.file	"tmpxft_00338255_00000000-6_cudalinear.cudafe1.cpp"
	.text
#APP

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB2047:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE2047:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.globl	_Z14residual_errordddd
	.type	_Z14residual_errordddd, @function
_Z14residual_errordddd:
.LFB2040:
	.cfi_startproc
	endbr64
	mulsd	%xmm0, %xmm2
	addsd	%xmm3, %xmm2
	subsd	%xmm1, %xmm2
	movaps	%xmm2, %xmm0
	mulsd	%xmm2, %xmm0
	ret
	.cfi_endproc
.LFE2040:
	.size	_Z14residual_errordddd, .-_Z14residual_errordddd
	.globl	_Z16d_residual_errordddd
	.type	_Z16d_residual_errordddd, @function
_Z16d_residual_errordddd:
.LFB2041:
	.cfi_startproc
	endbr64
	pushq	%rax
	.cfi_def_cfa_offset 16
	popq	%rax
	.cfi_def_cfa_offset 8
	subq	$24, %rsp
	.cfi_def_cfa_offset 32
	movl	$1, 12(%rsp)
	movl	12(%rsp), %edi
	call	exit@PLT
	.cfi_endproc
.LFE2041:
	.size	_Z16d_residual_errordddd, .-_Z16d_residual_errordddd
	.globl	_Z9rms_errordd
	.type	_Z9rms_errordd, @function
_Z9rms_errordd:
.LFB2042:
	.cfi_startproc
	endbr64
	movl	n_data(%rip), %ecx
	leaq	data(%rip), %rax
	xorps	%xmm3, %xmm3
	xorl	%edx, %edx
.L6:
	cmpl	%edx, %ecx
	jle	.L9
	movsd	(%rax), %xmm2
	incl	%edx
	addq	$16, %rax
	mulsd	%xmm0, %xmm2
	addsd	%xmm1, %xmm2
	subsd	-8(%rax), %xmm2
	mulsd	%xmm2, %xmm2
	addsd	%xmm2, %xmm3
	jmp	.L6
.L9:
	cvtsi2sdl	%ecx, %xmm0
	divsd	%xmm0, %xmm3
	movaps	%xmm3, %xmm0
	jmp	sqrt@PLT
	.cfi_endproc
.LFE2042:
	.size	_Z9rms_errordd, .-_Z9rms_errordd
	.globl	_Z15time_differenceP8timespecS0_Px
	.type	_Z15time_differenceP8timespecS0_Px, @function
_Z15time_differenceP8timespecS0_Px:
.LFB2043:
	.cfi_startproc
	endbr64
	movq	(%rsi), %rax
	movq	8(%rsi), %rcx
	subq	(%rdi), %rax
	subq	8(%rdi), %rcx
	jns	.L11
	decq	%rax
	addq	$1000000000, %rcx
.L11:
	imulq	$1000000000, %rax, %rax
	addq	%rcx, %rax
	testq	%rax, %rax
	movq	%rax, (%rdx)
	setle	%al
	movzbl	%al, %eax
	ret
	.cfi_endproc
.LFE2043:
	.size	_Z15time_differenceP8timespecS0_Px, .-_Z15time_differenceP8timespecS0_Px
	.globl	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.type	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t, @function
_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t:
.LFB2069:
	.cfi_startproc
	endbr64
	subq	$152, %rsp
	.cfi_def_cfa_offset 160
	movq	%rdi, 24(%rsp)
	leaq	56(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	68(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	40(%rsp), %rdx
	movq	%rcx, (%rsp)
	leaq	48(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 136(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 64(%rsp)
	movq	%rax, 104(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 112(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 120(%rsp)
	movq	%rsp, %rax
	movq	%rax, 128(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 56(%rsp)
	movq	%rax, 68(%rsp)
	movl	$1, 76(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L12
	pushq	48(%rsp)
	.cfi_def_cfa_offset 168
	leaq	_Z11d_rms_errorPdS_S_P7point_t(%rip), %rdi
	pushq	48(%rsp)
	.cfi_def_cfa_offset 176
	movq	84(%rsp), %rcx
	movl	92(%rsp), %r8d
	movq	72(%rsp), %rsi
	movl	80(%rsp), %edx
	leaq	120(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 168
	popq	%rdx
	.cfi_def_cfa_offset 160
.L12:
	movq	136(%rsp), %rax
	subq	%fs:40, %rax
	je	.L14
	call	__stack_chk_fail@PLT
.L14:
	addq	$152, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2069:
	.size	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t, .-_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.globl	_Z11d_rms_errorPdS_S_P7point_t
	.type	_Z11d_rms_errorPdS_S_P7point_t, @function
_Z11d_rms_errorPdS_S_P7point_t:
.LFB2070:
	.cfi_startproc
	endbr64
	jmp	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.cfi_endproc
.LFE2070:
	.size	_Z11d_rms_errorPdS_S_P7point_t, .-_Z11d_rms_errorPdS_S_P7point_t
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC6:
	.string	"cudaMalloc on d_dm returned %d %s\n"
.LC7:
	.string	"cudaMalloc on d_dc returned %d %s\n"
.LC8:
	.string	"cudaMalloc on d_error_sum_arr returned %d %s\n"
.LC9:
	.string	"cudaMalloc on d_data returned %d %s\n"
.LC11:
	.string	"cudaMemcpy to d_dm returned %d %s\n"
.LC12:
	.string	"cudaMemcpy to d_dc returned %d %s\n"
.LC13:
	.string	"cudaMemcpy to d_data returned %d %s\n"
.LC14:
	.string	"cudaMemcpy to error_sum returned %d %s\n"
.LC15:
	.string	"cudaFree on d_dm returned %d %s\n"
.LC16:
	.string	"cudaFree on d_dc returned %d %s\n"
.LC17:
	.string	"cudaFree on d_data returned %d %s\n"
.LC18:
	.string	"cudaFree on d_error_sum_arr returned %d %s\n"
.LC19:
	.string	"minimum m,c is %lf,%lf with error %lf\n"
.LC21:
	.string	"Time elapsed was %lldns or %0.9lfs\n"
	.section	.rodata
	.align 32
.LC0:
	.long	0
	.long	0
	.long	0
	.long	1072693248
	.long	0
	.long	1072693248
	.long	0
	.long	1072693248
	.long	0
	.long	0
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.align 32
.LC1:
	.long	0
	.long	1072693248
	.long	0
	.long	1072693248
	.long	0
	.long	0
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.long	0
	.long	-1074790400
	.long	0
	.long	0
	.long	0
	.long	1072693248
	.section	.text.startup,"ax",@progbits
	.globl	main
	.type	main, @function
main:
.LFB2044:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$4096, %rsp
	.cfi_def_cfa_offset 4152
	orq	$0, (%rsp)
	subq	$4096, %rsp
	.cfi_def_cfa_offset 8248
	orq	$0, (%rsp)
	subq	$216, %rsp
	.cfi_def_cfa_offset 8464
	leaq	.LC0(%rip), %rsi
	movl	$16, %ecx
	movq	%fs:40, %rax
	movq	%rax, 8392(%rsp)
	xorl	%eax, %eax
	leaq	104(%rsp), %rax
	leaq	264(%rsp), %rdi
	rep movsl
	leaq	328(%rsp), %rdi
	leaq	.LC1(%rip), %rsi
	movl	$16, %ecx
	rep movsl
	movq	%rax, %rsi
	movl	$1, %edi
	movq	%rax, 32(%rsp)
	call	clock_gettime@PLT
	movsd	.LC4(%rip), %xmm1
	movsd	.LC5(%rip), %xmm0
	call	_Z9rms_errordd
	leaq	56(%rsp), %rdi
	movl	$64, %esi
	movsd	%xmm0, 8(%rsp)
	call	cudaMalloc@PLT
	testl	%eax, %eax
	je	.L18
	movl	%eax, %edi
	movl	%eax, %ebx
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC6(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L18:
	leaq	64(%rsp), %rdi
	movl	$64, %esi
	call	cudaMalloc@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L19
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC7(%rip), %rdx
	movq	%rax, %r8
.L59:
	movq	stderr(%rip), %rdi
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movl	$1, %edi
	call	exit@PLT
.L19:
	leaq	72(%rsp), %rdi
	movl	$8000, %esi
	call	cudaMalloc@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L20
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC8(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L20:
	leaq	80(%rsp), %rdi
	movl	$16000, %esi
	call	cudaMalloc@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L40
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC9(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L40:
	movq	.LC4(%rip), %rax
	movsd	.LC3(%rip), %xmm6
	leaq	264(%rsp), %r14
	leaq	328(%rsp), %r15
	movq	%rax, 24(%rsp)
	movq	.LC5(%rip), %rax
	movsd	%xmm6, (%rsp)
	movq	%rax, 16(%rsp)
.L21:
	xorl	%eax, %eax
	leaq	200(%rsp), %rbx
.L22:
	movsd	.LC10(%rip), %xmm0
	mulsd	(%r14,%rax), %xmm0
	leaq	136(%rsp), %rsi
	addsd	16(%rsp), %xmm0
	movsd	%xmm0, 136(%rsp,%rax)
	movsd	.LC10(%rip), %xmm0
	mulsd	(%r15,%rax), %xmm0
	addq	$8, %rax
	addsd	24(%rsp), %xmm0
	movsd	%xmm0, -8(%rax,%rbx)
	cmpq	$64, %rax
	jne	.L22
	movq	56(%rsp), %rdi
	movl	$1, %ecx
	movl	$64, %edx
	call	cudaMemcpy@PLT
	movl	%eax, %r12d
	testl	%eax, %eax
	je	.L23
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movq	stderr(%rip), %rdi
	movl	%r12d, %ecx
	leaq	.LC11(%rip), %rdx
	movq	%rax, %r8
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L23:
	movq	64(%rsp), %rdi
	movq	%rbx, %rsi
	movl	$1, %ecx
	movl	$64, %edx
	call	cudaMemcpy@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L24
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movq	stderr(%rip), %rdi
	movl	%ebx, %ecx
	leaq	.LC12(%rip), %rdx
	movq	%rax, %r8
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L24:
	movq	80(%rsp), %rdi
	movl	$1, %ecx
	movl	$16000, %edx
	leaq	data(%rip), %rsi
	call	cudaMemcpy@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L25
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movq	stderr(%rip), %rdi
	movl	%ebx, %ecx
	leaq	.LC13(%rip), %rdx
	movq	%rax, %r8
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L25:
	movabsq	$4294967306, %r12
	xorl	%ebx, %ebx
.L32:
	movl	$1073741849, %edi
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movq	%r12, %rdx
	salq	$2, %rdi
	movl	$1, %ecx
	movl	$1, %esi
	movq	%r12, 120(%rsp)
	movl	$1, 128(%rsp)
	movq	%rdi, 88(%rsp)
	movl	$1, 96(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L26
	movq	64(%rsp), %rsi
	leaq	0(,%rbx,8), %rdi
	movq	80(%rsp), %rcx
	movq	72(%rsp), %rdx
	addq	%rdi, %rsi
	addq	56(%rsp), %rdi
	call	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
.L26:
	call	cudaThreadSynchronize@PLT
	movq	72(%rsp), %rsi
	movl	$2, %ecx
	leaq	392(%rsp), %r13
	movl	$8000, %edx
	movq	%r13, %rdi
	call	cudaMemcpy@PLT
	testl	%eax, %eax
	je	.L27
	movl	%eax, %edi
	movl	%eax, 44(%rsp)
	call	cudaGetErrorString@PLT
	movl	44(%rsp), %ecx
	movl	$2, %esi
	movq	stderr(%rip), %rdi
	movq	%rax, %r8
	leaq	.LC14(%rip), %rdx
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L27:
	movl	n_data(%rip), %edx
	xorl	%eax, %eax
	xorps	%xmm0, %xmm0
.L28:
	cmpl	%eax, %edx
	jle	.L60
	addsd	0(%r13,%rax,8), %xmm0
	incq	%rax
	jmp	.L28
.L60:
	cvtsi2sdl	%edx, %xmm1
	divsd	%xmm1, %xmm0
	call	sqrt@PLT
	movsd	(%rsp), %xmm5
	comisd	%xmm0, %xmm5
	minsd	%xmm5, %xmm0
	cmova	%ebx, %ebp
	incq	%rbx
	movsd	%xmm0, (%rsp)
	cmpq	$8, %rbx
	jne	.L32
	movsd	8(%rsp), %xmm7
	comisd	%xmm0, %xmm7
	jbe	.L57
	movslq	%ebp, %rax
	movsd	%xmm0, 8(%rsp)
	movsd	136(%rsp,%rax,8), %xmm3
	movsd	200(%rsp,%rax,8), %xmm4
	movsd	%xmm3, 16(%rsp)
	movsd	%xmm4, 24(%rsp)
	jmp	.L21
.L57:
	movq	56(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L35
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC15(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L35:
	movq	64(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L36
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC16(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L36:
	movq	80(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L37
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC17(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L37:
	movq	72(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L38
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC18(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L38:
	movsd	16(%rsp), %xmm0
	movsd	8(%rsp), %xmm2
	movb	$3, %al
	leaq	.LC19(%rip), %rsi
	movsd	24(%rsp), %xmm1
	movl	$2, %edi
	leaq	120(%rsp), %rbx
	call	__printf_chk@PLT
	movq	%rbx, %rsi
	movl	$1, %edi
	call	clock_gettime@PLT
	movq	32(%rsp), %rdi
	leaq	88(%rsp), %rdx
	movq	%rbx, %rsi
	call	_Z15time_differenceP8timespecS0_Px
	movq	88(%rsp), %rdx
	leaq	.LC21(%rip), %rsi
	movb	$1, %al
	movl	$2, %edi
	cvtsi2sdq	%rdx, %xmm0
	divsd	.LC20(%rip), %xmm0
	call	__printf_chk@PLT
	movq	8392(%rsp), %rax
	subq	%fs:40, %rax
	je	.L39
	call	__stack_chk_fail@PLT
.L39:
	addq	$8408, %rsp
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2044:
	.size	main, .-main
	.section	.rodata.str1.1
.LC24:
	.string	"_Z11d_rms_errorPdS_S_P7point_t"
.LC25:
	.string	"d_n_data"
	.section	.text.startup
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB2072:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	leaq	_ZL15__fatDeviceText(%rip), %rdi
	call	__cudaRegisterFatBinary@PLT
	pushq	$0
	.cfi_def_cfa_offset 24
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 32
	leaq	.LC24(%rip), %rdx
	movq	%rax, %rdi
	movq	%rax, %rbx
	pushq	$0
	.cfi_def_cfa_offset 40
	movq	%rdx, %rcx
	leaq	_Z11d_rms_errorPdS_S_P7point_t(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 48
	movq	%rax, _ZL20__cudaFatCubinHandle(%rip)
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r8d, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC25(%rip), %rdx
	movl	$4, %r9d
	leaq	_ZL8d_n_data(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	call	__cudaRegisterVar@PLT
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	popq	%rax
	.cfi_def_cfa_offset 24
	popq	%rdx
	.cfi_def_cfa_offset 16
	call	__cudaRegisterFatBinaryEnd@PLT
	leaq	_ZL26__cudaUnregisterBinaryUtilv(%rip), %rdi
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	atexit@PLT
	.cfi_endproc
.LFE2072:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.globl	data
	.data
	.align 32
	.type	data, @object
	.size	data, 16000
data:
	.long	1374389535
	.long	1079201464
	.long	-343597384
	.long	1080219729
	.long	858993459
	.long	1079243571
	.long	343597384
	.long	1080057774
	.long	-515396076
	.long	1079116922
	.long	-2061584302
	.long	1080046059
	.long	1546188227
	.long	1079059087
	.long	1889785610
	.long	1080095293
	.long	171798692
	.long	1079309271
	.long	-1717986918
	.long	1080207769
	.long	-1030792151
	.long	1079339253
	.long	-515396076
	.long	1080183930
	.long	-858993459
	.long	1079188684
	.long	1546188227
	.long	1080060559
	.long	1374389535
	.long	1079328440
	.long	-1202590843
	.long	1080296734
	.long	-687194767
	.long	1079001251
	.long	687194767
	.long	1080172380
	.long	1374389535
	.long	1079217848
	.long	-1889785610
	.long	1080120770
	.long	-343597384
	.long	1079248977
	.long	1889785610
	.long	1080121917
	.long	-1374389535
	.long	1076715847
	.long	515396076
	.long	1078864773
	.long	1889785610
	.long	1076791869
	.long	-687194767
	.long	1078751395
	.long	-687194767
	.long	1078284451
	.long	-1546188227
	.long	1079565680
	.long	171798692
	.long	1078510551
	.long	2061584302
	.long	1079709204
	.long	-1202590843
	.long	1078420766
	.long	1717986918
	.long	1079813734
	.long	-1374389535
	.long	1079148871
	.long	343597384
	.long	1080119214
	.long	515396076
	.long	1079065477
	.long	1717986918
	.long	1080161894
	.long	-2061584302
	.long	1077744107
	.long	687194767
	.long	1079218012
	.long	-1030792151
	.long	1077324021
	.long	-1546188227
	.long	1078762864
	.long	-1717986918
	.long	1076566425
	.long	0
	.long	1078870016
	.long	515396076
	.long	1077439365
	.long	-1889785610
	.long	1079408066
	.long	-343597384
	.long	1079076945
	.long	-171798692
	.long	1080146984
	.long	-858993459
	.long	1079053516
	.long	2061584302
	.long	1079934484
	.long	1889785610
	.long	1076562493
	.long	-343597384
	.long	1079044177
	.long	515396076
	.long	1079544709
	.long	-858993459
	.long	1080392908
	.long	-1889785610
	.long	1079522754
	.long	1889785610
	.long	1080357437
	.long	1374389535
	.long	1076797112
	.long	-687194767
	.long	1079234723
	.long	-1717986918
	.long	1079265689
	.long	1546188227
	.long	1080259215
	.long	-1889785610
	.long	1075639746
	.long	-1546188227
	.long	1078271344
	.long	-1889785610
	.long	1079449026
	.long	-1030792151
	.long	1080387829
	.long	-171798692
	.long	1075731496
	.long	-171798692
	.long	1078058024
	.long	858993459
	.long	1079358259
	.long	-858993459
	.long	1080132812
	.long	-1030792151
	.long	1079486709
	.long	-515396076
	.long	1080335482
	.long	-1546188227
	.long	1078705520
	.long	-1717986918
	.long	1079867801
	.long	-1546188227
	.long	1079491952
	.long	-515396076
	.long	1080319098
	.long	-171798692
	.long	1077664808
	.long	2061584302
	.long	1079086612
	.long	1889785610
	.long	1078790717
	.long	-515396076
	.long	1080073338
	.long	-1374389535
	.long	1079030087
	.long	1030792151
	.long	1080037130
	.long	-1374389535
	.long	1079148871
	.long	-1202590843
	.long	1080116510
	.long	-1030792151
	.long	1071393013
	.long	-1889785610
	.long	1078113730
	.long	1030792151
	.long	1077466890
	.long	1889785610
	.long	1078913597
	.long	1374389535
	.long	1078091448
	.long	-858993459
	.long	1079463116
	.long	171798692
	.long	1075356631
	.long	858993459
	.long	1078072115
	.long	1030792151
	.long	1075926794
	.long	687194767
	.long	1078398812
	.long	515396076
	.long	1078946693
	.long	1717986918
	.long	1079916134
	.long	-1030792151
	.long	1079429365
	.long	515396076
	.long	1080298373
	.long	-343597384
	.long	1078138961
	.long	-1546188227
	.long	1079459184
	.long	2061584302
	.long	1078152724
	.long	-2061584302
	.long	1079345643
	.long	-1030792151
	.long	1074931957
	.long	-1889785610
	.long	1078244802
	.long	171798692
	.long	1075749847
	.long	858993459
	.long	1078367027
	.long	-2061584302
	.long	1079415275
	.long	-515396076
	.long	1080228986
	.long	-2061584302
	.long	1079022059
	.long	515396076
	.long	1080101765
	.long	-687194767
	.long	1076752547
	.long	1030792151
	.long	1078646538
	.long	-1889785610
	.long	1079559618
	.long	-858993459
	.long	1080468684
	.long	343597384
	.long	1074874286
	.long	515396076
	.long	1078111109
	.long	858993459
	.long	1077703475
	.long	343597384
	.long	1079097262
	.long	1202590843
	.long	1078581985
	.long	343597384
	.long	1079678894
	.long	1546188227
	.long	1079116431
	.long	-1889785610
	.long	1080249794
	.long	858993459
	.long	1079448371
	.long	-1030792151
	.long	1080277237
	.long	1889785610
	.long	1078299197
	.long	687194767
	.long	1079705436
	.long	1546188227
	.long	1079063183
	.long	1717986918
	.long	1080077926
	.long	-1030792151
	.long	1077274869
	.long	-1030792151
	.long	1079027957
	.long	1030792151
	.long	1072420618
	.long	-1717986918
	.long	1077254553
	.long	-343597384
	.long	1078106193
	.long	-1889785610
	.long	1079416258
	.long	-1202590843
	.long	1078002974
	.long	-858993459
	.long	1079323852
	.long	-1202590843
	.long	1077871902
	.long	-343597384
	.long	1079314513
	.long	2061584302
	.long	1078349332
	.long	1717986918
	.long	1079383654
	.long	1546188227
	.long	1076675215
	.long	-1374389535
	.long	1078559047
	.long	-515396076
	.long	1079002234
	.long	-1717986918
	.long	1080064409
	.long	343597384
	.long	1077495726
	.long	0
	.long	1079304192
	.long	1030792151
	.long	1078785802
	.long	-1546188227
	.long	1079631216
	.long	-1717986918
	.long	1078974873
	.long	0
	.long	1080078336
	.long	-1717986918
	.long	1078917529
	.long	-1889785610
	.long	1080092098
	.long	-1717986918
	.long	1077483929
	.long	0
	.long	1079111680
	.long	858993459
	.long	1075655475
	.long	0
	.long	1078050816
	.long	-1889785610
	.long	1077671362
	.long	-1202590843
	.long	1078732062
	.long	1202590843
	.long	1078737633
	.long	858993459
	.long	1079595827
	.long	-1889785610
	.long	1078986178
	.long	-1202590843
	.long	1080118558
	.long	858993459
	.long	1079325491
	.long	1717986918
	.long	1080268390
	.long	2061584302
	.long	1079287316
	.long	-2061584302
	.long	1080203755
	.long	687194767
	.long	1079013212
	.long	1374389535
	.long	1079828152
	.long	-1717986918
	.long	1073846681
	.long	343597384
	.long	1078536110
	.long	1374389535
	.long	1079242424
	.long	1889785610
	.long	1080185405
	.long	-1889785610
	.long	1079571906
	.long	-515396076
	.long	1080589434
	.long	343597384
	.long	1079179182
	.long	-515396076
	.long	1080274042
	.long	-2061584302
	.long	1079558635
	.long	687194767
	.long	1080371036
	.long	171798692
	.long	1072735191
	.long	-1202590843
	.long	1078117662
	.long	-1374389535
	.long	1079423303
	.long	171798692
	.long	1080370135
	.long	-343597384
	.long	1078343761
	.long	-1889785610
	.long	1079784898
	.long	515396076
	.long	1078627205
	.long	-2061584302
	.long	1079865835
	.long	858993459
	.long	1077752627
	.long	-1717986918
	.long	1079151001
	.long	343597384
	.long	1075857326
	.long	171798692
	.long	1078477783
	.long	-1717986918
	.long	1079171481
	.long	-1374389535
	.long	1080224071
	.long	1889785610
	.long	1071057469
	.long	1374389535
	.long	1078582968
	.long	171798692
	.long	1078346711
	.long	0
	.long	1079730176
	.long	-1889785610
	.long	1076966850
	.long	-858993459
	.long	1079082188
	.long	1717986918
	.long	1079281254
	.long	1030792151
	.long	1080246026
	.long	858993459
	.long	1076212531
	.long	-343597384
	.long	1079171153
	.long	687194767
	.long	1076236124
	.long	-1374389535
	.long	1078124871
	.long	687194767
	.long	1078316892
	.long	-2061584302
	.long	1079493099
	.long	2061584302
	.long	1074834964
	.long	-687194767
	.long	1078120611
	.long	1889785610
	.long	1078291005
	.long	-687194767
	.long	1079357603
	.long	687194767
	.long	1079492444
	.long	-1374389535
	.long	1080312135
	.long	1546188227
	.long	1078141583
	.long	-171798692
	.long	1079626792
	.long	1030792151
	.long	1075959562
	.long	-1030792151
	.long	1077913845
	.long	171798692
	.long	1075291095
	.long	687194767
	.long	1078447964
	.long	1030792151
	.long	1079117578
	.long	687194767
	.long	1080196956
	.long	515396076
	.long	1077259141
	.long	687194767
	.long	1078529884
	.long	-515396076
	.long	1079137402
	.long	-171798692
	.long	1080216616
	.long	2061584302
	.long	1079406100
	.long	-2061584302
	.long	1080316395
	.long	2061584302
	.long	1077243412
	.long	1889785610
	.long	1078979133
	.long	687194767
	.long	1078161244
	.long	858993459
	.long	1079366451
	.long	1717986918
	.long	1078773350
	.long	1546188227
	.long	1079710351
	.long	-515396076
	.long	1079497850
	.long	-515396076
	.long	1080298618
	.long	-1374389535
	.long	1078542663
	.long	-1202590843
	.long	1079608606
	.long	-1374389535
	.long	1078206791
	.long	515396076
	.long	1079671685
	.long	-343597384
	.long	1073133649
	.long	343597384
	.long	1078986670
	.long	2061584302
	.long	1079385620
	.long	-687194767
	.long	1080336547
	.long	858993459
	.long	1078866739
	.long	-171798692
	.long	1079860264
	.long	-1030792151
	.long	1077356789
	.long	858993459
	.long	1078891315
	.long	-343597384
	.long	1077901393
	.long	1030792151
	.long	1079527178
	.long	-1030792151
	.long	1077455093
	.long	1717986918
	.long	1079010918
	.long	515396076
	.long	1076849541
	.long	1030792151
	.long	1079031562
	.long	0
	.long	1078632448
	.long	1546188227
	.long	1079575183
	.long	1374389535
	.long	1077518008
	.long	2061584302
	.long	1079172628
	.long	-2061584302
	.long	1079009771
	.long	-1030792151
	.long	1080031477
	.long	-1889785610
	.long	1077179842
	.long	1889785610
	.long	1079052861
	.long	-1030792151
	.long	1077012725
	.long	-858993459
	.long	1079041228
	.long	343597384
	.long	1078806446
	.long	-1889785610
	.long	1079748034
	.long	1374389535
	.long	1079131832
	.long	1546188227
	.long	1080111759
	.long	-687194767
	.long	1078251683
	.long	-1202590843
	.long	1079276830
	.long	-858993459
	.long	1078602956
	.long	-2061584302
	.long	1080060395
	.long	-1717986918
	.long	1078286745
	.long	343597384
	.long	1079277486
	.long	-2061584302
	.long	1077072363
	.long	687194767
	.long	1078980444
	.long	343597384
	.long	1079285678
	.long	-1889785610
	.long	1080094146
	.long	-687194767
	.long	1078546595
	.long	-2061584302
	.long	1079869931
	.long	-687194767
	.long	1077588131
	.long	687194767
	.long	1079357276
	.long	171798692
	.long	1078141911
	.long	-1030792151
	.long	1079523573
	.long	0
	.long	1079238656
	.long	858993459
	.long	1080208179
	.long	515396076
	.long	1079442309
	.long	-687194767
	.long	1080430755
	.long	-687194767
	.long	1077653667
	.long	343597384
	.long	1079363502
	.long	-1374389535
	.long	1077666119
	.long	515396076
	.long	1079102341
	.long	0
	.long	1075707904
	.long	858993459
	.long	1077982003
	.long	1030792151
	.long	1078630154
	.long	515396076
	.long	1079683973
	.long	515396076
	.long	1078266757
	.long	-171798692
	.long	1079454760
	.long	-1546188227
	.long	1076378992
	.long	-343597384
	.long	1078442065
	.long	1374389535
	.long	1078714040
	.long	171798692
	.long	1080001495
	.long	-1889785610
	.long	1076458946
	.long	-1717986918
	.long	1079105945
	.long	-2061584302
	.long	1078440427
	.long	171798692
	.long	1079608279
	.long	343597384
	.long	1079023534
	.long	-1889785610
	.long	1080040898
	.long	343597384
	.long	1076348846
	.long	-2061584302
	.long	1078727147
	.long	0
	.long	1077510144
	.long	-1889785610
	.long	1078900162
	.long	-1202590843
	.long	1078871326
	.long	-343597384
	.long	1080172625
	.long	-1374389535
	.long	1077502279
	.long	1889785610
	.long	1079253565
	.long	-1717986918
	.long	1078581657
	.long	-1202590843
	.long	1079891230
	.long	-1374389535
	.long	1079226695
	.long	1546188227
	.long	1080121999
	.long	1717986918
	.long	1078683238
	.long	-2061584302
	.long	1079796203
	.long	-171798692
	.long	1079041064
	.long	-515396076
	.long	1080040570
	.long	-1030792151
	.long	1077242101
	.long	343597384
	.long	1078691758
	.long	-1030792151
	.long	1079376117
	.long	687194767
	.long	1080307548
	.long	1889785610
	.long	1077824061
	.long	687194767
	.long	1079324508
	.long	-1202590843
	.long	1074824478
	.long	1546188227
	.long	1078190735
	.long	-515396076
	.long	1079137402
	.long	1889785610
	.long	1080101437
	.long	687194767
	.long	1077841756
	.long	-1374389535
	.long	1079611719
	.long	343597384
	.long	1076578222
	.long	2061584302
	.long	1079025172
	.long	2061584302
	.long	1078423060
	.long	1546188227
	.long	1079894671
	.long	-343597384
	.long	1078327377
	.long	2061584302
	.long	1079803412
	.long	2061584302
	.long	1079328276
	.long	-515396076
	.long	1080202362
	.long	0
	.long	1077944320
	.long	1374389535
	.long	1079234232
	.long	-1202590843
	.long	1078560030
	.long	515396076
	.long	1079860101
	.long	-1030792151
	.long	1075652853
	.long	343597384
	.long	1078216622
	.long	-687194767
	.long	1079005347
	.long	1546188227
	.long	1080171151
	.long	-1374389535
	.long	1077010759
	.long	-858993459
	.long	1078594764
	.long	1889785610
	.long	1077365309
	.long	1030792151
	.long	1079166730
	.long	1374389535
	.long	1076207288
	.long	-1374389535
	.long	1077436743
	.long	1889785610
	.long	1074072125
	.long	-858993459
	.long	1077447884
	.long	-171798692
	.long	1079258152
	.long	343597384
	.long	1080192942
	.long	1889785610
	.long	1078569533
	.long	-687194767
	.long	1079689379
	.long	2061584302
	.long	1079369236
	.long	-2061584302
	.long	1080330731
	.long	-1202590843
	.long	1078691102
	.long	-1889785610
	.long	1080063426
	.long	687194767
	.long	1079381852
	.long	1030792151
	.long	1080207114
	.long	343597384
	.long	1078708142
	.long	1546188227
	.long	1079714447
	.long	515396076
	.long	1079569285
	.long	-1030792151
	.long	1080455413
	.long	-1202590843
	.long	1079481630
	.long	0
	.long	1080422400
	.long	1202590843
	.long	1077967585
	.long	1717986918
	.long	1079334502
	.long	-515396076
	.long	1078883450
	.long	1030792151
	.long	1080086282
	.long	1030792151
	.long	1077286666
	.long	-171798692
	.long	1079282728
	.long	-858993459
	.long	1077497036
	.long	-343597384
	.long	1079220305
	.long	-1202590843
	.long	1079514398
	.long	-858993459
	.long	1080587468
	.long	-343597384
	.long	1079212113
	.long	687194767
	.long	1080119132
	.long	0
	.long	1075904512
	.long	-1202590843
	.long	1078191390
	.long	1374389535
	.long	1079217848
	.long	515396076
	.long	1080204165
	.long	1889785610
	.long	1079073341
	.long	-515396076
	.long	1080091770
	.long	1889785610
	.long	1077840445
	.long	-2061584302
	.long	1079210475
	.long	-1546188227
	.long	1078402416
	.long	515396076
	.long	1079618437
	.long	343597384
	.long	1079400366
	.long	-858993459
	.long	1080446156
	.long	-515396076
	.long	1077793914
	.long	-343597384
	.long	1079244881
	.long	-2061584302
	.long	1079108075
	.long	-343597384
	.long	1080041553
	.long	1717986918
	.long	1079481958
	.long	515396076
	.long	1080392581
	.long	-515396076
	.long	1078375546
	.long	171798692
	.long	1079378903
	.long	1889785610
	.long	1078561341
	.long	343597384
	.long	1079674798
	.long	-343597384
	.long	1078179921
	.long	1889785610
	.long	1080074813
	.long	-343597384
	.long	1079289937
	.long	-2061584302
	.long	1080328683
	.long	-343597384
	.long	1077327953
	.long	-1717986918
	.long	1078991257
	.long	0
	.long	1078026240
	.long	-1889785610
	.long	1079408066
	.long	-2061584302
	.long	1077367275
	.long	1202590843
	.long	1078975201
	.long	515396076
	.long	1078848389
	.long	-1030792151
	.long	1080045813
	.long	-2061584302
	.long	1077236203
	.long	-2061584302
	.long	1079136747
	.long	515396076
	.long	1079495557
	.long	-1202590843
	.long	1080378654
	.long	1889785610
	.long	1073941053
	.long	1030792151
	.long	1077925642
	.long	1889785610
	.long	1079515709
	.long	-1030792151
	.long	1080408309
	.long	2061584302
	.long	1077898772
	.long	687194767
	.long	1079304028
	.long	-2061584302
	.long	1079566827
	.long	1889785610
	.long	1080226365
	.long	-343597384
	.long	1079146577
	.long	858993459
	.long	1080116019
	.long	-687194767
	.long	1079247011
	.long	1374389535
	.long	1080256184
	.long	-1202590843
	.long	1079244062
	.long	0
	.long	1080293376
	.long	2061584302
	.long	1074245140
	.long	1202590843
	.long	1078770401
	.long	1202590843
	.long	1077525217
	.long	1030792151
	.long	1079027466
	.long	1889785610
	.long	1079245373
	.long	-687194767
	.long	1080275107
	.long	-343597384
	.long	1078720593
	.long	-687194767
	.long	1079873699
	.long	1546188227
	.long	1079136911
	.long	1030792151
	.long	1080147722
	.long	-171798692
	.long	1079249960
	.long	-687194767
	.long	1080228003
	.long	1546188227
	.long	1079480975
	.long	-1717986918
	.long	1080402329
	.long	-1030792151
	.long	1078577397
	.long	-343597384
	.long	1079728209
	.long	1889785610
	.long	1078512189
	.long	1546188227
	.long	1080033935
	.long	0
	.long	1077460992
	.long	-1717986918
	.long	1078819225
	.long	0
	.long	1075576832
	.long	-515396076
	.long	1077982330
	.long	0
	.long	1079091200
	.long	343597384
	.long	1080055726
	.long	515396076
	.long	1076996997
	.long	515396076
	.long	1078700933
	.long	-687194767
	.long	1078120611
	.long	0
	.long	1079054336
	.long	-2061584302
	.long	1077596651
	.long	-1374389535
	.long	1079431495
	.long	1030792151
	.long	1079244554
	.long	-858993459
	.long	1080186060
	.long	-515396076
	.long	1076106362
	.long	-1889785610
	.long	1078736322
	.long	-1202590843
	.long	1079104798
	.long	1030792151
	.long	1080039178
	.long	1374389535
	.long	1079000760
	.long	-687194767
	.long	1079926947
	.long	-858993459
	.long	1077947596
	.long	-1030792151
	.long	1079372021
	.long	1546188227
	.long	1078985359
	.long	-1030792151
	.long	1079949557
	.long	-1717986918
	.long	1078393241
	.long	171798692
	.long	1079632855
	.long	1717986918
	.long	1079486054
	.long	-1717986918
	.long	1080144281
	.long	-1717986918
	.long	1079556505
	.long	0
	.long	1080440832
	.long	1202590843
	.long	1078229729
	.long	-1374389535
	.long	1079353671
	.long	0
	.long	1079140352
	.long	1202590843
	.long	1080148705
	.long	343597384
	.long	1077479342
	.long	1546188227
	.long	1078936207
	.long	171798692
	.long	1078608855
	.long	-1030792151
	.long	1079544053
	.long	-1889785610
	.long	1078474178
	.long	1717986918
	.long	1079903846
	.long	-2061584302
	.long	1079362027
	.long	1717986918
	.long	1080266342
	.long	1717986918
	.long	1078077030
	.long	1717986918
	.long	1079498342
	.long	1030792151
	.long	1079240458
	.long	1202590843
	.long	1080122081
	.long	-1030792151
	.long	1077192949
	.long	1202590843
	.long	1079048929
	.long	2061584302
	.long	1078939156
	.long	-1546188227
	.long	1079987568
	.long	858993459
	.long	1074213683
	.long	0
	.long	1077346304
	.long	515396076
	.long	1079552901
	.long	-515396076
	.long	1080343674
	.long	1030792151
	.long	1075566346
	.long	0
	.long	1078550528
	.long	-1202590843
	.long	1078191390
	.long	-1546188227
	.long	1079643504
	.long	858993459
	.long	1079231283
	.long	-1717986918
	.long	1080111513
	.long	1889785610
	.long	1078610493
	.long	-2061584302
	.long	1079767531
	.long	515396076
	.long	1079257989
	.long	1717986918
	.long	1080143462
	.long	-171798692
	.long	1078844456
	.long	1030792151
	.long	1079707402
	.long	-1717986918
	.long	1076894105
	.long	-1030792151
	.long	1079044341
	.long	-1202590843
	.long	1078002974
	.long	1374389535
	.long	1079389880
	.long	-1889785610
	.long	1078007234
	.long	1030792151
	.long	1079596810
	.long	1202590843
	.long	1077115617
	.long	-171798692
	.long	1078991912
	.long	1889785610
	.long	1079179837
	.long	-1546188227
	.long	1080229232
	.long	858993459
	.long	1076245299
	.long	-1202590843
	.long	1077994782
	.long	-343597384
	.long	1079208017
	.long	-1546188227
	.long	1080282480
	.long	-1546188227
	.long	1078091120
	.long	-1889785610
	.long	1079453122
	.long	1889785610
	.long	1079171645
	.long	-687194767
	.long	1080182947
	.long	-1374389535
	.long	1077403975
	.long	1202590843
	.long	1079077601
	.long	0
	.long	1078599680
	.long	-687194767
	.long	1079632035
	.long	-1889785610
	.long	1079330242
	.long	1374389535
	.long	1080213176
	.long	-858993459
	.long	1079377100
	.long	-687194767
	.long	1080275107
	.long	687194767
	.long	1079447388
	.long	-1202590843
	.long	1080278302
	.long	858993459
	.long	1078326067
	.long	-1374389535
	.long	1079365959
	.long	1889785610
	.long	1073678909
	.long	-1717986918
	.long	1078106521
	.long	-1374389535
	.long	1078296903
	.long	-1546188227
	.long	1079307632
	.long	-343597384
	.long	1079003217
	.long	1374389535
	.long	1079840440
	.long	-515396076
	.long	1074271354
	.long	858993459
	.long	1078424371
	.long	-1546188227
	.long	1077296496
	.long	1202590843
	.long	1079053025
	.long	-1717986918
	.long	1077795225
	.long	-343597384
	.long	1079244881
	.long	0
	.long	1076903936
	.long	-171798692
	.long	1078959144
	.long	1030792151
	.long	1078310666
	.long	687194767
	.long	1079566172
	.long	-1202590843
	.long	1078592798
	.long	687194767
	.long	1079656284
	.long	-1717986918
	.long	1073977753
	.long	-1546188227
	.long	1077804400
	.long	-2061584302
	.long	1078604267
	.long	515396076
	.long	1079745413
	.long	1546188227
	.long	1078723215
	.long	0
	.long	1079939072
	.long	1374389535
	.long	1079520952
	.long	-1889785610
	.long	1080372674
	.long	-1030792151
	.long	1079253237
	.long	-1889785610
	.long	1080305090
	.long	-1030792151
	.long	1079179509
	.long	-2061584302
	.long	1080132075
	.long	1717986918
	.long	1079309926
	.long	-343597384
	.long	1080162385
	.long	-858993459
	.long	1079332044
	.long	1717986918
	.long	1080350310
	.long	-1202590843
	.long	1075807518
	.long	-2061584302
	.long	1078039019
	.long	-171798692
	.long	1079249960
	.long	-1374389535
	.long	1080082759
	.long	-858993459
	.long	1079336140
	.long	1889785610
	.long	1080349245
	.long	343597384
	.long	1078175662
	.long	-687194767
	.long	1079619747
	.long	1374389535
	.long	1078427320
	.long	-858993459
	.long	1079688396
	.long	-343597384
	.long	1075918929
	.long	-1546188227
	.long	1077575024
	.long	-1374389535
	.long	1079177543
	.long	-687194767
	.long	1080223907
	.long	-515396076
	.long	1076073594
	.long	-171798692
	.long	1078262824
	.long	-2061584302
	.long	1078792683
	.long	-1030792151
	.long	1079933173
	.long	-171798692
	.long	1079499816
	.long	1889785610
	.long	1080465981
	.long	-858993459
	.long	1079385292
	.long	1889785610
	.long	1080302141
	.long	1030792151
	.long	1078703882
	.long	-515396076
	.long	1079731322
	.long	-343597384
	.long	1077991505
	.long	-1717986918
	.long	1079388569
	.long	343597384
	.long	1075529646
	.long	-2061584302
	.long	1078809067
	.long	-171798692
	.long	1076190248
	.long	1202590843
	.long	1078934241
	.long	2061584302
	.long	1079193108
	.long	-1030792151
	.long	1080203509
	.long	-1889785610
	.long	1078900162
	.long	1202590843
	.long	1080062689
	.long	-171798692
	.long	1079155752
	.long	-1374389535
	.long	1080439111
	.long	-687194767
	.long	1079009443
	.long	-1717986918
	.long	1079712153
	.long	-171798692
	.long	1078996008
	.long	-1030792151
	.long	1079892213
	.long	1202590843
	.long	1078606561
	.long	1030792151
	.long	1079654154
	.long	-1546188227
	.long	1079045488
	.long	1030792151
	.long	1079994122
	.long	1889785610
	.long	1079511613
	.long	1030792151
	.long	1080483594
	.long	1202590843
	.long	1077541601
	.long	171798692
	.long	1079174103
	.long	1546188227
	.long	1079079567
	.long	-1546188227
	.long	1079938416
	.long	1030792151
	.long	1079252746
	.long	-1546188227
	.long	1080239472
	.long	515396076
	.long	1078422405
	.long	-687194767
	.long	1079730339
	.long	-1202590843
	.long	1079170334
	.long	1717986918
	.long	1080170086
	.long	-343597384
	.long	1077672017
	.long	-1889785610
	.long	1079301570
	.long	-515396076
	.long	1079235706
	.long	171798692
	.long	1080208343
	.long	515396076
	.long	1079401349
	.long	-1030792151
	.long	1080484085
	.long	687194767
	.long	1078972252
	.long	-687194767
	.long	1079959715
	.long	-1202590843
	.long	1078986014
	.long	1889785610
	.long	1079990845
	.long	687194767
	.long	1077890908
	.long	-1717986918
	.long	1079179673
	.long	-858993459
	.long	1078455500
	.long	1030792151
	.long	1079703306
	.long	-1030792151
	.long	1077897461
	.long	343597384
	.long	1079367598
	.long	1889785610
	.long	1079417405
	.long	-343597384
	.long	1080270929
	.long	1030792151
	.long	1077090058
	.long	-1202590843
	.long	1079031070
	.long	1374389535
	.long	1079336632
	.long	-1374389535
	.long	1080191303
	.long	858993459
	.long	1076015923
	.long	-1374389535
	.long	1078378823
	.long	-515396076
	.long	1079219322
	.long	1030792151
	.long	1080176394
	.long	1546188227
	.long	1078207119
	.long	1374389535
	.long	1079459512
	.long	-858993459
	.long	1078684876
	.long	687194767
	.long	1079803740
	.long	-1030792151
	.long	1078069493
	.long	-171798692
	.long	1079213096
	.long	-1717986918
	.long	1079183769
	.long	-687194767
	.long	1080275107
	.long	-1030792151
	.long	1078495477
	.long	171798692
	.long	1079620567
	.long	858993459
	.long	1078162227
	.long	-687194767
	.long	1079492771
	.long	-1546188227
	.long	1079098736
	.long	171798692
	.long	1080138711
	.long	171798692
	.long	1078166487
	.long	515396076
	.long	1079376773
	.long	-171798692
	.long	1077992488
	.long	-515396076
	.long	1079313530
	.long	-1030792151
	.long	1079023861
	.long	1202590843
	.long	1080038113
	.long	-1202590843
	.long	1078330654
	.long	-1202590843
	.long	1079706910
	.long	-2061584302
	.long	1077973483
	.long	1202590843
	.long	1079286497
	.long	1030792151
	.long	1074124554
	.long	-2061584302
	.long	1078129131
	.long	858993459
	.long	1077572403
	.long	1889785610
	.long	1079208509
	.long	171798692
	.long	1078100951
	.long	-1030792151
	.long	1079441653
	.long	0
	.long	1078657024
	.long	0
	.long	1079975936
	.long	515396076
	.long	1078971269
	.long	-1546188227
	.long	1080083824
	.long	343597384
	.long	1076889518
	.long	-1030792151
	.long	1078921461
	.long	1030792151
	.long	1070847754
	.long	-687194767
	.long	1077948579
	.long	1546188227
	.long	1077527183
	.long	171798692
	.long	1079116759
	.long	-858993459
	.long	1079557324
	.long	-1717986918
	.long	1080566169
	.long	-1717986918
	.long	1079220633
	.long	-2061584302
	.long	1080216043
	.long	687194767
	.long	1078218588
	.long	-1546188227
	.long	1079553392
	.long	171798692
	.long	1078997975
	.long	-343597384
	.long	1080107089
	.long	1202590843
	.long	1079536353
	.long	-687194767
	.long	1080375459
	.long	1717986918
	.long	1077536358
	.long	-343597384
	.long	1079343185
	.long	2061584302
	.long	1074245140
	.long	0
	.long	1078231040
	.long	-343597384
	.long	1077311569
	.long	1717986918
	.long	1079072358
	.long	-687194767
	.long	1079443619
	.long	-2061584302
	.long	1080369643
	.long	-858993459
	.long	1079499980
	.long	-687194767
	.long	1080334499
	.long	-343597384
	.long	1078466641
	.long	1374389535
	.long	1079660216
	.long	1889785610
	.long	1075776061
	.long	-2061584302
	.long	1078612459
	.long	1030792151
	.long	1075631882
	.long	1546188227
	.long	1078207119
	.long	0
	.long	1078886400
	.long	-1889785610
	.long	1079846338
	.long	1030792151
	.long	1073862410
	.long	-1202590843
	.long	1078224158
	.long	-1374389535
	.long	1075175751
	.long	1717986918
	.long	1078609510
	.long	1030792151
	.long	1079105290
	.long	171798692
	.long	1080060887
	.long	858993459
	.long	1079055155
	.long	-1202590843
	.long	1079878942
	.long	1889785610
	.long	1079007805
	.long	2061584302
	.long	1079725588
	.long	-171798692
	.long	1078377512
	.long	1202590843
	.long	1079585505
	.long	1202590843
	.long	1078237921
	.long	515396076
	.long	1079368581
	.long	1546188227
	.long	1078321807
	.long	1202590843
	.long	1079397089
	.long	1030792151
	.long	1079441162
	.long	1717986918
	.long	1080346214
	.long	2061584302
	.long	1077243412
	.long	-1030792151
	.long	1078470901
	.long	0
	.long	1076199424
	.long	-1202590843
	.long	1078068510
	.long	858993459
	.long	1079096115
	.long	-1546188227
	.long	1080130928
	.long	343597384
	.long	1079371694
	.long	-2061584302
	.long	1080408555
	.long	-858993459
	.long	1078111436
	.long	-1030792151
	.long	1079498997
	.long	1374389535
	.long	1079176888
	.long	515396076
	.long	1080112005
	.long	-1202590843
	.long	1079399710
	.long	-687194767
	.long	1080141987
	.long	1374389535
	.long	1076829880
	.long	1889785610
	.long	1079097917
	.long	-1202590843
	.long	1078109470
	.long	-1546188227
	.long	1079512432
	.long	-1374389535
	.long	1077289287
	.long	858993459
	.long	1078924083
	.long	687194767
	.long	1079402332
	.long	-1202590843
	.long	1080212766
	.long	-1030792151
	.long	1078528245
	.long	1889785610
	.long	1079540285
	.long	2061584302
	.long	1079004692
	.long	-343597384
	.long	1079949393
	.long	1030792151
	.long	1078982410
	.long	2061584302
	.long	1080057364
	.long	-1546188227
	.long	1079483760
	.long	171798692
	.long	1080363991
	.long	-1030792151
	.long	1078159605
	.long	-1374389535
	.long	1079386439
	.long	-1889785610
	.long	1079162306
	.long	-2061584302
	.long	1080248811
	.long	1889785610
	.long	1078659645
	.long	1889785610
	.long	1079687741
	.long	0
	.long	1078935552
	.long	1202590843
	.long	1080081121
	.long	0
	.long	1079201792
	.long	1717986918
	.long	1080039014
	.long	-1889785610
	.long	1076917698
	.long	-1030792151
	.long	1079044341
	.long	-858993459
	.long	1079139532
	.long	687194767
	.long	1080129372
	.long	-1717986918
	.long	1079089561
	.long	-343597384
	.long	1080129617
	.long	-171798692
	.long	1079483432
	.long	-2061584302
	.long	1080324587
	.long	2061584302
	.long	1079541268
	.long	1717986918
	.long	1080419942
	.long	-1546188227
	.long	1077976432
	.long	1546188227
	.long	1079407247
	.long	2061584302
	.long	1079275028
	.long	-171798692
	.long	1080183848
	.long	-858993459
	.long	1074973900
	.long	687194767
	.long	1078087516
	.long	515396076
	.long	1079159685
	.long	1717986918
	.long	1080204902
	.long	515396076
	.long	1079126917
	.long	-2061584302
	.long	1080138219
	.long	-1546188227
	.long	1075953008
	.long	1717986918
	.long	1078183526
	.long	-2061584302
	.long	1079480811
	.long	1374389535
	.long	1080487608
	.long	-1030792151
	.long	1077618933
	.long	687194767
	.long	1079066460
	.long	-515396076
	.long	1078301818
	.long	-1889785610
	.long	1079444930
	.long	-1546188227
	.long	1078639984
	.long	-171798692
	.long	1079598120
	.long	-1030792151
	.long	1078577397
	.long	0
	.long	1079967744
	.long	687194767
	.long	1079181148
	.long	-171798692
	.long	1080269864
	.long	1889785610
	.long	1079482941
	.long	687194767
	.long	1080411996
	.long	1202590843
	.long	1079118561
	.long	515396076
	.long	1080167301
	.long	-1546188227
	.long	1079106928
	.long	-171798692
	.long	1080065064
	.long	858993459
	.long	1078276915
	.long	1889785610
	.long	1079319101
	.long	-1889785610
	.long	1078203842
	.long	1889785610
	.long	1079458365
	.long	-1374389535
	.long	1077666119
	.long	-515396076
	.long	1079387258
	.long	343597384
	.long	1078495150
	.long	858993459
	.long	1079534387
	.long	-343597384
	.long	1076738129
	.long	-171798692
	.long	1078492200
	.long	1030792151
	.long	1079138058
	.long	515396076
	.long	1080138629
	.long	171798692
	.long	1078780887
	.long	1030792151
	.long	1079707402
	.long	-2061584302
	.long	1079321067
	.long	-1202590843
	.long	1080284446
	.long	1546188227
	.long	1078141583
	.long	-1717986918
	.long	1079576985
	.long	1202590843
	.long	1076460257
	.long	-858993459
	.long	1078717644
	.long	-687194767
	.long	1076654243
	.long	-515396076
	.long	1078908026
	.long	1374389535
	.long	1079017144
	.long	-687194767
	.long	1079935139
	.long	-687194767
	.long	1078964387
	.long	1030792151
	.long	1080162058
	.long	1030792151
	.long	1078122250
	.long	1889785610
	.long	1079110205
	.long	-2061584302
	.long	1079194091
	.long	-1546188227
	.long	1079942512
	.long	-2061584302
	.long	1079169515
	.long	858993459
	.long	1080079155
	.long	2061584302
	.long	1079078420
	.long	1202590843
	.long	1080156897
	.long	-515396076
	.long	1075188858
	.long	-515396076
	.long	1078604922
	.long	1717986918
	.long	1079154278
	.long	1546188227
	.long	1080124047
	.long	1374389535
	.long	1078853304
	.long	-687194767
	.long	1079996579
	.long	-1030792151
	.long	1079011573
	.long	171798692
	.long	1080081367
	.long	-1030792151
	.long	1078855925
	.long	-1546188227
	.long	1079692656
	.long	-1717986918
	.long	1078024601
	.long	-1546188227
	.long	1079344496
	.long	-687194767
	.long	1074950307
	.long	0
	.long	1077411840
	.long	1374389535
	.long	1079103160
	.long	1889785610
	.long	1080136253
	.long	1374389535
	.long	1078779576
	.long	1546188227
	.long	1079919247
	.long	515396076
	.long	1074850693
	.long	1889785610
	.long	1077217853
	.long	-1030792151
	.long	1075128565
	.long	-687194767
	.long	1078661283
	.long	-1889785610
	.long	1077491138
	.long	1889785610
	.long	1079274045
	.long	1717986918
	.long	1078732390
	.long	-1717986918
	.long	1079978393
	.long	-2061584302
	.long	1078768107
	.long	687194767
	.long	1079852892
	.long	-1546188227
	.long	1079336304
	.long	687194767
	.long	1080248156
	.long	1717986918
	.long	1079330406
	.long	-2061584302
	.long	1080381931
	.long	-1030792151
	.long	1079343349
	.long	2061584302
	.long	1080184340
	.long	0
	.long	1076264960
	.long	-343597384
	.long	1078966353
	.long	-515396076
	.long	1075876986
	.long	1717986918
	.long	1078199910
	.long	2061584302
	.long	1079234068
	.long	0
	.long	1080090624
	.long	1202590843
	.long	1078852321
	.long	-343597384
	.long	1079957585
	.long	-171798692
	.long	1079528488
	.long	1546188227
	.long	1080324751
	.long	-1889785610
	.long	1078851010
	.long	-1717986918
	.long	1079839129
	.long	-687194767
	.long	1075671203
	.long	-515396076
	.long	1078629498
	.long	-1030792151
	.long	1079339253
	.long	858993459
	.long	1080156979
	.long	-687194767
	.long	1076162723
	.long	0
	.long	1078231040
	.long	1717986918
	.long	1079088742
	.long	-343597384
	.long	1079986257
	.long	-515396076
	.long	1075319930
	.long	0
	.long	1078550528
	.long	-858993459
	.long	1079147724
	.long	1889785610
	.long	1080123965
	.long	-343597384
	.long	1079277649
	.long	-515396076
	.long	1080169594
	.long	1030792151
	.long	1078294282
	.long	1717986918
	.long	1079641702
	.long	1202590843
	.long	1078024929
	.long	1717986918
	.long	1079182950
	.long	1546188227
	.long	1075233423
	.long	1546188227
	.long	1078608527
	.long	515396076
	.long	1078479749
	.long	687194767
	.long	1079316316
	.long	-858993459
	.long	1078463692
	.long	-687194767
	.long	1079488675
	.long	-1889785610
	.long	1077851586
	.long	1889785610
	.long	1079380541
	.long	171798692
	.long	1079059415
	.long	687194767
	.long	1080106844
	.long	343597384
	.long	1077315502
	.long	171798692
	.long	1079202775
	.long	858993459
	.long	1076949811
	.long	-1546188227
	.long	1078975856
	.long	1030792151
	.long	1077647114
	.long	-515396076
	.long	1078985850
	.long	-1030792151
	.long	1079003381
	.long	-687194767
	.long	1079869603
	.long	-2061584302
	.long	1079177707
	.long	-1030792151
	.long	1080183029
	.long	2061584302
	.long	1077997076
	.long	1546188227
	.long	1079431823
	.long	515396076
	.long	1079556997
	.long	-515396076
	.long	1080392826
	.long	1030792151
	.long	1079305994
	.long	1202590843
	.long	1080353505
	.long	-1717986918
	.long	1079462297
	.long	515396076
	.long	1080333189
	.long	1889785610
	.long	1078037053
	.long	515396076
	.long	1079503749
	.long	1546188227
	.long	1079308943
	.long	1374389535
	.long	1080209080
	.long	171798692
	.long	1078592471
	.long	1546188227
	.long	1079886479
	.long	171798692
	.long	1077388247
	.long	1202590843
	.long	1079335649
	.long	-343597384
	.long	1077033041
	.long	687194767
	.long	1078767452
	.long	171798692
	.long	1079149527
	.long	343597384
	.long	1080123310
	.long	0
	.long	1078534144
	.long	-1546188227
	.long	1079319920
	.long	1374389535
	.long	1077239480
	.long	-1889785610
	.long	1079018946
	.long	858993459
	.long	1078891315
	.long	-2061584302
	.long	1080113643
	.long	1030792151
	.long	1079568138
	.long	343597384
	.long	1080313774
	.long	-858993459
	.long	1079524556
	.long	-858993459
	.long	1080405196
	.long	1717986918
	.long	1078298214
	.long	1202590843
	.long	1079503585
	.long	-2061584302
	.long	1079398891
	.long	-1889785610
	.long	1080325570
	.long	687194767
	.long	1079246684
	.long	1030792151
	.long	1080282890
	.long	-343597384
	.long	1078843473
	.long	-1717986918
	.long	1080054169
	.long	171798692
	.long	1071686615
	.long	-1030792151
	.long	1078135029
	.long	1546188227
	.long	1078518415
	.long	-1374389535
	.long	1079763271
	.long	0
	.long	1079398400
	.long	-1202590843
	.long	1080331550
	.long	515396076
	.long	1077537669
	.long	2061584302
	.long	1078767124
	.long	1202590843
	.long	1079278305
	.long	-1546188227
	.long	1080235376
	.long	-2061584302
	.long	1078899179
	.long	-343597384
	.long	1079994449
	.long	1030792151
	.long	1077745418
	.long	1546188227
	.long	1078780559
	.long	687194767
	.long	1077366620
	.long	343597384
	.long	1079269294
	.long	687194767
	.long	1078751068
	.long	1030792151
	.long	1079916298
	.long	-1889785610
	.long	1079158210
	.long	-171798692
	.long	1080155176
	.long	-1717986918
	.long	1076337049
	.long	858993459
	.long	1078285107
	.long	-2061584302
	.long	1077989867
	.long	858993459
	.long	1079604019
	.long	687194767
	.long	1079566172
	.long	-1717986918
	.long	1080498585
	.long	-1717986918
	.long	1073584537
	.long	-1717986918
	.long	1077991833
	.long	687194767
	.long	1079394140
	.long	-1889785610
	.long	1080235458
	.long	1374389535
	.long	1079426744
	.long	1717986918
	.long	1080512102
	.long	-1546188227
	.long	1078828400
	.long	-1546188227
	.long	1080100208
	.long	-1546188227
	.long	1078451568
	.long	-1546188227
	.long	1079913840
	.long	-1030792151
	.long	1079339253
	.long	-1717986918
	.long	1080281497
	.long	-1030792151
	.long	1077831925
	.long	-1374389535
	.long	1079120199
	.long	-1202590843
	.long	1077151006
	.long	1374389535
	.long	1079037624
	.long	1374389535
	.long	1079054008
	.long	-515396076
	.long	1080200314
	.long	171798692
	.long	1076863959
	.long	-1889785610
	.long	1078375874
	.long	1546188227
	.long	1079251599
	.long	-171798692
	.long	1080208424
	.long	-343597384
	.long	1078851665
	.long	1030792151
	.long	1079961354
	.long	-515396076
	.long	1079456890
	.long	1202590843
	.long	1080290017
	.long	-2061584302
	.long	1078825451
	.long	343597384
	.long	1080039342
	.long	-1717986918
	.long	1077500313
	.long	-858993459
	.long	1079205068
	.long	-1030792151
	.long	1079109877
	.long	-343597384
	.long	1080176721
	.long	-343597384
	.long	1077147729
	.long	-1202590843
	.long	1079092510
	.long	1546188227
	.long	1079394959
	.long	-515396076
	.long	1080386682
	.long	1030792151
	.long	1078638346
	.long	-687194767
	.long	1079566499
	.long	-1889785610
	.long	1079047618
	.long	1546188227
	.long	1080048271
	.long	-1374389535
	.long	1078681927
	.long	515396076
	.long	1079692165
	.long	1717986918
	.long	1076815462
	.long	-1546188227
	.long	1078345072
	.long	1374389535
	.long	1078255288
	.long	1030792151
	.long	1079539466
	.long	2061584302
	.long	1077849620
	.long	2061584302
	.long	1079397908
	.long	-1546188227
	.long	1079061872
	.long	515396076
	.long	1080046469
	.long	-1202590843
	.long	1079190814
	.long	-1546188227
	.long	1079987568
	.long	-1546188227
	.long	1079000432
	.long	-687194767
	.long	1080047779
	.long	-1546188227
	.long	1078451568
	.long	1717986918
	.long	1079608934
	.long	858993459
	.long	1079452467
	.long	1717986918
	.long	1080376934
	.long	-1374389535
	.long	1079271751
	.long	-687194767
	.long	1080303779
	.long	-858993459
	.long	1078570188
	.long	-2061584302
	.long	1079665131
	.long	171798692
	.long	1078739927
	.long	-1202590843
	.long	1079960862
	.long	-1374389535
	.long	1078575431
	.long	343597384
	.long	1079502766
	.long	-1374389535
	.long	1078821191
	.long	-1889785610
	.long	1079977410
	.long	1889785610
	.long	1076906557
	.long	-1202590843
	.long	1078961438
	.long	1889785610
	.long	1078618685
	.long	1889785610
	.long	1079904829
	.long	515396076
	.long	1079536517
	.long	-343597384
	.long	1080498257
	.long	1889785610
	.long	1078422077
	.long	-687194767
	.long	1079685283
	.long	1202590843
	.long	1066695393
	.long	1030792151
	.long	1078564618
	.long	1546188227
	.long	1077592719
	.long	1546188227
	.long	1079255695
	.long	-1202590843
	.long	1074234654
	.long	-687194767
	.long	1077964963
	.long	1717986918
	.long	1079363174
	.long	-1546188227
	.long	1080272240
	.long	858993459
	.long	1078096691
	.long	-858993459
	.long	1079102668
	.long	515396076
	.long	1078946693
	.long	-1030792151
	.long	1079720181
	.long	1374389535
	.long	1076944568
	.long	343597384
	.long	1079031726
	.long	1374389535
	.long	1075060408
	.long	515396076
	.long	1078225797
	.long	-1717986918
	.long	1078311321
	.long	1889785610
	.long	1079708221
	.long	-1202590843
	.long	1078134046
	.long	-1030792151
	.long	1079171317
	.long	-1374389535
	.long	1079193927
	.long	-171798692
	.long	1080220712
	.long	1717986918
	.long	1079158374
	.long	-515396076
	.long	1080128634
	.long	687194767
	.long	1078202204
	.long	-1717986918
	.long	1079429529
	.long	343597384
	.long	1078495150
	.long	-1889785610
	.long	1079588290
	.long	-858993459
	.long	1079491788
	.long	-1889785610
	.long	1080497602
	.long	171798692
	.long	1079153623
	.long	-171798692
	.long	1080085544
	.long	1889785610
	.long	1078676029
	.long	-858993459
	.long	1080046796
	.long	-858993459
	.long	1079360716
	.long	-1717986918
	.long	1080295833
	.long	-343597384
	.long	1078712401
	.long	1202590843
	.long	1079913185
	.long	-1546188227
	.long	1077296496
	.long	-858993459
	.long	1078734028
	.long	-687194767
	.long	1078169763
	.long	-343597384
	.long	1079416913
	.long	-1030792151
	.long	1078872309
	.long	-1546188227
	.long	1080061296
	.long	-858993459
	.long	1077038284
	.long	-515396076
	.long	1078654074
	.long	-1030792151
	.long	1078143221
	.long	1374389535
	.long	1079496376
	.long	-1546188227
	.long	1078721904
	.long	-1546188227
	.long	1079946608
	.long	1374389535
	.long	1076502200
	.long	-1374389535
	.long	1078600007
	.long	-1889785610
	.long	1078138306
	.long	-2061584302
	.long	1079419371
	.long	-1889785610
	.long	1079502274
	.long	-515396076
	.long	1080366202
	.long	1374389535
	.long	1077059256
	.long	-515396076
	.long	1078916218
	.long	-1546188227
	.long	1079442800
	.long	-1030792151
	.long	1080432885
	.long	858993459
	.long	1077261107
	.long	-1202590843
	.long	1078953246
	.long	0
	.long	1079267328
	.long	-858993459
	.long	1080237260
	.long	-687194767
	.long	1078284451
	.long	-171798692
	.long	1079274536
	.long	-687194767
	.long	1079095459
	.long	-1546188227
	.long	1080108400
	.long	2061584302
	.long	1076276756
	.long	1374389535
	.long	1078582968
	.long	-1717986918
	.long	1076500889
	.long	1202590843
	.long	1078196961
	.long	-1202590843
	.long	1078486302
	.long	1202590843
	.long	1079753441
	.long	-343597384
	.long	1079359569
	.long	-1717986918
	.long	1080277401
	.long	0
	.long	1077641216
	.long	-171798692
	.long	1079196712
	.long	-1374389535
	.long	1079390535
	.long	1717986918
	.long	1080208998
	.long	171798692
	.long	1078985687
	.long	-1889785610
	.long	1079879106
	.long	-1374389535
	.long	1079333191
	.long	687194767
	.long	1080190812
	.long	1374389535
	.long	1079279288
	.long	-687194767
	.long	1080160419
	.long	-1202590843
	.long	1079321886
	.long	-515396076
	.long	1080269946
	.long	-1030792151
	.long	1079556341
	.long	-1030792151
	.long	1080410357
	.long	1374389535
	.long	1078034104
	.long	858993459
	.long	1079284531
	.long	1374389535
	.long	1079455416
	.long	1889785610
	.long	1080400445
	.long	0
	.long	1072168960
	.long	-515396076
	.long	1078064250
	.long	-343597384
	.long	1075918929
	.long	0
	.long	1078599680
	.long	-1717986918
	.long	1077090713
	.long	1374389535
	.long	1078640312
	.long	-1889785610
	.long	1078244802
	.long	2061584302
	.long	1079676436
	.long	-2061584302
	.long	1078456811
	.long	1546188227
	.long	1079677583
	.long	1717986918
	.long	1079309926
	.long	-1546188227
	.long	1080204656
	.long	1374389535
	.long	1077403320
	.long	-1374389535
	.long	1078780231
	.long	1546188227
	.long	1079386767
	.long	-858993459
	.long	1080339660
	.long	1717986918
	.long	1079486054
	.long	-1717986918
	.long	1080408473
	.long	687194767
	.long	1077120860
	.long	1374389535
	.long	1079062200
	.long	-1546188227
	.long	1078672752
	.long	515396076
	.long	1079917445
	.long	1717986918
	.long	1079047782
	.long	-1374389535
	.long	1079886151
	.long	-1202590843
	.long	1077429534
	.long	1202590843
	.long	1079163617
	.long	515396076
	.long	1079217029
	.long	-1889785610
	.long	1080292802
	.long	171798692
	.long	1078559703
	.long	1202590843
	.long	1079737057
	.long	-1889785610
	.long	1077982658
	.long	1030792151
	.long	1079551754
	.long	-171798692
	.long	1079209000
	.long	858993459
	.long	1080103731
	.long	-171798692
	.long	1078230056
	.long	515396076
	.long	1079327621
	.long	0
	.long	1074987008
	.long	-858993459
	.long	1078193356
	.long	1546188227
	.long	1077478031
	.long	-2061584302
	.long	1079370219
	.long	1889785610
	.long	1076300349
	.long	-1717986918
	.long	1079060889
	.long	858993459
	.long	1078014771
	.long	-687194767
	.long	1079214243
	.long	-515396076
	.long	1076597882
	.long	-515396076
	.long	1079014522
	.long	-515396076
	.long	1075385466
	.long	1202590843
	.long	1078729441
	.long	0
	.long	1078329344
	.long	-1546188227
	.long	1079635312
	.long	-687194767
	.long	1079300259
	.long	1202590843
	.long	1080158945
	.long	-687194767
	.long	1078522019
	.long	1889785610
	.long	1079597629
	.long	858993459
	.long	1079132979
	.long	171798692
	.long	1080138711
	.long	687194767
	.long	1078595420
	.long	-1374389535
	.long	1079652679
	.long	-343597384
	.long	1079023697
	.long	515396076
	.long	1079933829
	.long	1202590843
	.long	1079368417
	.long	-1374389535
	.long	1080346951
	.long	171798692
	.long	1074308055
	.long	858993459
	.long	1078309683
	.long	-1889785610
	.long	1079530946
	.long	343597384
	.long	1080375214
	.long	515396076
	.long	1077914501
	.long	343597384
	.long	1079269294
	.long	-1889785610
	.long	1079027138
	.long	-171798692
	.long	1080134696
	.long	1202590843
	.long	1078368993
	.long	343597384
	.long	1079621550
	.long	858993459
	.long	1078260531
	.long	1546188227
	.long	1079390863
	.long	-2061584302
	.long	1079185899
	.long	687194767
	.long	1080119132
	.long	1374389535
	.long	1073290936
	.long	-1546188227
	.long	1078173040
	.long	0
	.long	1078272000
	.long	-1546188227
	.long	1079627120
	.long	858993459
	.long	1078326067
	.long	1889785610
	.long	1079851581
	.long	515396076
	.long	1074654085
	.long	-1374389535
	.long	1077944647
	.long	1717986918
	.long	1075275366
	.long	-1717986918
	.long	1078401433
	.long	-1546188227
	.long	1076378992
	.long	0
	.long	1078558720
	.long	-171798692
	.long	1079520296
	.long	-343597384
	.long	1080334417
	.long	2061584302
	.long	1076211220
	.long	858993459
	.long	1078154035
	.long	858993459
	.long	1078956851
	.long	-1889785610
	.long	1079920066
	.long	1717986918
	.long	1078937190
	.long	171798692
	.long	1079825367
	.long	-687194767
	.long	1078284451
	.long	2061584302
	.long	1079369236
	.long	1374389535
	.long	1077731000
	.long	-1030792151
	.long	1079212277
	.long	1889785610
	.long	1078209085
	.long	1546188227
	.long	1079636623
	.long	515396076
	.long	1078659973
	.long	1889785610
	.long	1079925309
	.long	-1889785610
	.long	1077032386
	.long	1546188227
	.long	1079009935
	.long	-343597384
	.long	1075230801
	.long	-687194767
	.long	1079070883
	.long	-515396076
	.long	1079342202
	.long	-171798692
	.long	1080099880
	.long	-1374389535
	.long	1076977991
	.long	-1374389535
	.long	1078944071
	.long	858993459
	.long	1079272243
	.long	1546188227
	.long	1080251023
	.long	1717986918
	.long	1079211622
	.long	1717986918
	.long	1080323686
	.long	-1202590843
	.long	1079317790
	.long	1717986918
	.long	1080321638
	.long	858993459
	.long	1077195571
	.long	1546188227
	.long	1078772367
	.long	1374389535
	.long	1079324344
	.long	1030792151
	.long	1080407818
	.long	1202590843
	.long	1079347937
	.long	1546188227
	.long	1080359567
	.long	-1889785610
	.long	1076196802
	.long	-1202590843
	.long	1078396190
	.long	-1202590843
	.long	1079112990
	.long	2061584302
	.long	1080227348
	.long	343597384
	.long	1077741486
	.long	-1717986918
	.long	1079335321
	.long	-343597384
	.long	1079031889
	.long	687194767
	.long	1080145756
	.long	-343597384
	.long	1079543889
	.long	-171798692
	.long	1080437800
	.long	-1202590843
	.long	1077839134
	.long	2061584302
	.long	1079193108
	.long	1202590843
	.long	1079175905
	.long	1374389535
	.long	1080084152
	.long	-858993459
	.long	1078013132
	.long	171798692
	.long	1079198679
	.long	-171798692
	.long	1079409704
	.long	2061584302
	.long	1080471060
	.long	-2061584302
	.long	1079501291
	.long	1889785610
	.long	1080431165
	.long	858993459
	.long	1077490483
	.long	1202590843
	.long	1079192289
	.long	1546188227
	.long	1078207119
	.long	515396076
	.long	1079565189
	.long	1889785610
	.long	1077987901
	.long	343597384
	.long	1079326638
	.long	-858993459
	.long	1078971596
	.long	1374389535
	.long	1080035000
	.long	687194767
	.long	1079414620
	.long	-1030792151
	.long	1080406261
	.long	171798692
	.long	1079096279
	.long	-687194767
	.long	1080178851
	.long	-1717986918
	.long	1079015833
	.long	1717986918
	.long	1079936614
	.long	-1546188227
	.long	1075068272
	.long	-687194767
	.long	1078104227
	.long	-1546188227
	.long	1079127408
	.long	858993459
	.long	1080070963
	.long	-1889785610
	.long	1076753858
	.long	1717986918
	.long	1079150182
	.long	515396076
	.long	1077521285
	.long	-171798692
	.long	1079258152
	.long	-1202590843
	.long	1077937438
	.long	-2061584302
	.long	1079448043
	.long	-171798692
	.long	1078131752
	.long	-1889785610
	.long	1079375298
	.long	-171798692
	.long	1078443048
	.long	0
	.long	1079468032
	.long	1889785610
	.long	1079417405
	.long	-858993459
	.long	1080247500
	.long	-343597384
	.long	1075755089
	.long	1030792151
	.long	1078392586
	.long	-171798692
	.long	1079008296
	.long	-2061584302
	.long	1079955947
	.long	1202590843
	.long	1078000353
	.long	-1030792151
	.long	1079183605
	.long	0
	.long	1079242752
	.long	-858993459
	.long	1080247500
	.long	687194767
	.long	1079127900
	.long	-1717986918
	.long	1080304025
	.long	-1202590843
	.long	1079080222
	.long	-515396076
	.long	1080095866
	.long	-1374389535
	.long	1077748039
	.long	-343597384
	.long	1079162961
	.long	-515396076
	.long	1079264378
	.long	687194767
	.long	1080231772
	.long	343597384
	.long	1076021166
	.long	-1717986918
	.long	1078770073
	.long	171798692
	.long	1078666199
	.long	1717986918
	.long	1079826022
	.long	858993459
	.long	1078793011
	.long	1202590843
	.long	1079892705
	.long	687194767
	.long	1078456156
	.long	-515396076
	.long	1079501946
	.long	858993459
	.long	1077752627
	.long	1889785610
	.long	1079106109
	.long	1030792151
	.long	1077401354
	.long	-1202590843
	.long	1078740254
	.long	-343597384
	.long	1079068753
	.long	515396076
	.long	1080073093
	.long	1030792151
	.long	1076090634
	.long	-1374389535
	.long	1078755655
	.long	-1202590843
	.long	1079317790
	.long	515396076
	.long	1080185733
	.long	0
	.long	1079078912
	.long	1202590843
	.long	1080089313
	.long	1889785610
	.long	1078962749
	.long	1030792151
	.long	1080018698
	.long	1717986918
	.long	1078535782
	.long	-1546188227
	.long	1079606640
	.long	-343597384
	.long	1075689553
	.long	2061584302
	.long	1077292564
	.long	-515396076
	.long	1077220474
	.long	-1202590843
	.long	1078797598
	.long	-1889785610
	.long	1078965698
	.long	171798692
	.long	1079542743
	.long	-1030792151
	.long	1075325173
	.long	0
	.long	1078583296
	.long	858993459
	.long	1079391027
	.long	1202590843
	.long	1080087265
	.long	171798692
	.long	1076175831
	.long	-1030792151
	.long	1078487285
	.long	-343597384
	.long	1076738129
	.long	1889785610
	.long	1078839869
	.long	171798692
	.long	1078158295
	.long	-1717986918
	.long	1079404953
	.long	858993459
	.long	1075917619
	.long	-171798692
	.long	1078975528
	.long	1717986918
	.long	1074292326
	.long	1717986918
	.long	1078511206
	.long	-1030792151
	.long	1079240949
	.long	-858993459
	.long	1080134860
	.long	1374389535
	.long	1078910648
	.long	0
	.long	1079803904
	.long	-1374389535
	.long	1078444359
	.long	-1889785610
	.long	1079739842
	.long	1546188227
	.long	1078100623
	.long	-1030792151
	.long	1079302389
	.long	-2061584302
	.long	1077301739
	.long	-343597384
	.long	1079220305
	.long	-2061584302
	.long	1076220395
	.long	-2061584302
	.long	1078637035
	.long	-1717986918
	.long	1079531929
	.long	2061584302
	.long	1080528404
	.long	171798692
	.long	1079538647
	.long	515396076
	.long	1080560517
	.long	-1546188227
	.long	1078402416
	.long	0
	.long	1079574528
	.long	515396076
	.long	1079323525
	.long	343597384
	.long	1080301486
	.long	-858993459
	.long	1078734028
	.long	2061584302
	.long	1079631380
	.long	-343597384
	.long	1079375953
	.long	-1374389535
	.long	1080201543
	.long	-687194767
	.long	1076293795
	.long	515396076
	.long	1078471557
	.long	-171798692
	.long	1079155752
	.long	-1374389535
	.long	1080260935
	.long	1889785610
	.long	1077414461
	.long	687194767
	.long	1079201628
	.long	1202590843
	.long	1079343841
	.long	1889785610
	.long	1080265277
	.long	2061584302
	.long	1079500308
	.long	687194767
	.long	1080346460
	.long	-1374389535
	.long	1078542663
	.long	1717986918
	.long	1079572070
	.long	1030792151
	.long	1079240458
	.long	-1202590843
	.long	1080216862
	.long	858993459
	.long	1078743859
	.long	-343597384
	.long	1080014929
	.long	-171798692
	.long	1076124712
	.long	1889785610
	.long	1078422077
	.long	1030792151
	.long	1079478026
	.long	687194767
	.long	1080342364
	.long	1030792151
	.long	1076942602
	.long	-515396076
	.long	1079063674
	.long	1374389535
	.long	1073028792
	.long	1030792151
	.long	1078630154
	.long	1374389535
	.long	1078042296
	.long	1717986918
	.long	1079293542
	.long	0
	.long	1079189504
	.long	1030792151
	.long	1080082186
	.long	-1717986918
	.long	1078516121
	.long	-2061584302
	.long	1079833067
	.long	-1202590843
	.long	1079321886
	.long	-515396076
	.long	1080253562
	.long	171798692
	.long	1074045911
	.long	1202590843
	.long	1078688481
	.long	-858993459
	.long	1077677260
	.long	-687194767
	.long	1078751395
	.long	1546188227
	.long	1078174351
	.long	1202590843
	.long	1079323361
	.long	-1030792151
	.long	1072965877
	.long	1889785610
	.long	1077594685
	.long	-1717986918
	.long	1078114713
	.long	-1202590843
	.long	1079268638
	.long	1546188227
	.long	1077543567
	.long	-515396076
	.long	1079297146
	.long	-1202590843
	.long	1079121182
	.long	343597384
	.long	1080129454
	.long	1030792151
	.long	1075959562
	.long	1889785610
	.long	1078897213
	.long	-1546188227
	.long	1079496048
	.long	687194767
	.long	1080522588
	.long	515396076
	.long	1076489093
	.long	1030792151
	.long	1078777610
	.long	-1889785610
	.long	1078457794
	.long	515396076
	.long	1079565189
	.long	1030792151
	.long	1077155594
	.long	0
	.long	1078452224
	.long	-1202590843
	.long	1079153950
	.long	1717986918
	.long	1080170086
	.long	858993459
	.long	1078072115
	.long	-171798692
	.long	1079245864
	.long	-1889785610
	.long	1079305666
	.long	0
	.long	1080242176
	.long	1202590843
	.long	1075149537
	.long	-1030792151
	.long	1078397173
	.long	2061584302
	.long	1079557652
	.long	-171798692
	.long	1080613928
	.long	1889785610
	.long	1079343677
	.long	-858993459
	.long	1080452300
	.long	-343597384
	.long	1079498833
	.long	-171798692
	.long	1080370216
	.long	-1030792151
	.long	1079339253
	.long	-1202590843
	.long	1080296734
	.long	343597384
	.long	1078724526
	.long	1717986918
	.long	1079584358
	.long	-1030792151
	.long	1079523573
	.long	-171798692
	.long	1080431656
	.long	515396076
	.long	1079311237
	.long	-1546188227
	.long	1080214896
	.long	1717986918
	.long	1078486630
	.long	171798692
	.long	1079755735
	.long	-1202590843
	.long	1077298462
	.long	2061584302
	.long	1079234068
	.long	-1202590843
	.long	1079502110
	.long	1546188227
	.long	1080406671
	.long	1374389535
	.long	1078738616
	.long	-858993459
	.long	1079971020
	.long	-2061584302
	.long	1079443947
	.long	-515396076
	.long	1080183930
	.long	687194767
	.long	1079025500
	.long	-1374389535
	.long	1080058183
	.long	-171798692
	.long	1078172712
	.long	-1546188227
	.long	1079426416
	.long	1202590843
	.long	1077017313
	.long	-343597384
	.long	1078474833
	.long	0
	.long	1072693248
	.long	1546188227
	.long	1077977743
	.long	0
	.long	1079255040
	.long	515396076
	.long	1080370053
	.long	-343597384
	.long	1079294033
	.long	0
	.long	1080406016
	.long	-1889785610
	.long	1078785474
	.long	-1202590843
	.long	1079764254
	.long	-1717986918
	.long	1079064985
	.long	1374389535
	.long	1080057528
	.long	858993459
	.long	1078154035
	.long	-515396076
	.long	1079374970
	.long	-1546188227
	.long	1077181808
	.long	0
	.long	1079140352
	.long	-858993459
	.long	1078791372
	.long	-1202590843
	.long	1079682334
	.long	1374389535
	.long	1078165176
	.long	-515396076
	.long	1079379066
	.long	858993459
	.long	1078252339
	.long	-1546188227
	.long	1079442800
	.long	0
	.long	1079279616
	.long	-858993459
	.long	1080136908
	.long	343597384
	.long	1077995438
	.long	-515396076
	.long	1079436410
	.long	1374389535
	.long	1077386936
	.long	-343597384
	.long	1079220305
	.long	-687194767
	.long	1079177379
	.long	-1889785610
	.long	1080229314
	.long	-1889785610
	.long	1078212034
	.long	-1202590843
	.long	1079837982
	.long	1030792151
	.long	1077860106
	.long	687194767
	.long	1079328604
	.long	1374389535
	.long	1079193272
	.long	2061584302
	.long	1080202772
	.long	-1546188227
	.long	1075789168
	.long	-1030792151
	.long	1078937845
	.long	171798692
	.long	1079022551
	.long	-858993459
	.long	1080085708
	.long	-687194767
	.long	1079095459
	.long	1546188227
	.long	1080158863
	.long	-1030792151
	.long	1076947189
	.long	-343597384
	.long	1078859857
	.long	-2061584302
	.long	1075859947
	.long	171798692
	.long	1078338519
	.long	-1374389535
	.long	1079124295
	.long	-1889785610
	.long	1080116674
	.long	-1374389535
	.long	1077682503
	.long	-1546188227
	.long	1079025008
	.long	2061584302
	.long	1079098900
	.long	-1717986918
	.long	1080015257
	.long	1202590843
	.long	1078672097
	.long	-1030792151
	.long	1079777525
	.long	-343597384
	.long	1078917201
	.long	171798692
	.long	1079739351
	.long	-171798692
	.long	1078377512
	.long	687194767
	.long	1079459676
	.long	-2061584302
	.long	1079423467
	.long	1889785610
	.long	1080267325
	.long	-1202590843
	.long	1079018782
	.long	-1889785610
	.long	1079731650
	.long	858993459
	.long	1076409139
	.long	-515396076
	.long	1078744186
	.long	1202590843
	.long	1076968161
	.long	1889785610
	.long	1078610493
	.long	-1546188227
	.long	1079102832
	.long	-687194767
	.long	1080281251
	.long	-171798692
	.long	1078893608
	.long	-1202590843
	.long	1079948574
	.long	687194767
	.long	1078546268
	.long	515396076
	.long	1079860101
	.long	-1202590843
	.long	1077576990
	.long	1374389535
	.long	1078664888
	.long	1202590843
	.long	1078770401
	.long	0
	.long	1080004608
	.long	-1546188227
	.long	1077722480
	.long	-1717986918
	.long	1079413145
	.long	1202590843
	.long	1076165345
	.long	-171798692
	.long	1078484008
	.long	2061584302
	.long	1078922772
	.long	-1030792151
	.long	1080121589
	.long	-858993459
	.long	1079233740
	.long	1889785610
	.long	1080136253
	.long	171798692
	.long	1079133143
	.long	515396076
	.long	1080144773
	.long	1546188227
	.long	1077084815
	.long	-1202590843
	.long	1078600990
	.long	858993459
	.long	1076802355
	.long	-687194767
	.long	1078579363
	.long	-2061584302
	.long	1079542251
	.long	-1374389535
	.long	1080416583
	.long	2061584302
	.long	1077112340
	.long	515396076
	.long	1079143301
	.long	1030792151
	.long	1078761226
	.long	343597384
	.long	1079494574
	.long	-1889785610
	.long	1077720514
	.long	515396076
	.long	1079319429
	.long	-1889785610
	.long	1078728130
	.long	-1374389535
	.long	1079812423
	.long	-2061584302
	.long	1076449771
	.long	171798692
	.long	1078526935
	.long	1889785610
	.long	1078061629
	.long	1889785610
	.long	1079224893
	.long	-858993459
	.long	1079147724
	.long	0
	.long	1080109056
	.long	515396076
	.long	1079520133
	.long	-343597384
	.long	1080371281
	.long	-1546188227
	.long	1076510064
	.long	-1889785610
	.long	1079092674
	.long	-1889785610
	.long	1079129538
	.long	-1717986918
	.long	1080154521
	.long	1030792151
	.long	1079252746
	.long	1374389535
	.long	1080221368
	.long	-1889785610
	.long	1077802434
	.long	1202590843
	.long	1079048929
	.long	-1374389535
	.long	1078247751
	.long	1546188227
	.long	1079550607
	.long	-1202590843
	.long	1078576414
	.long	1717986918
	.long	1079617126
	.long	-1546188227
	.long	1079278960
	.long	2061584302
	.long	1080063508
	.long	-1030792151
	.long	1079150837
	.long	1889785610
	.long	1080115773
	.long	343597384
	.long	1076217774
	.long	-1202590843
	.long	1078773022
	.long	515396076
	.long	1079053189
	.long	515396076
	.long	1080028037
	.long	2061584302
	.long	1073982996
	.long	-1202590843
	.long	1078519070
	.long	1374389535
	.long	1078591160
	.long	-515396076
	.long	1079891066
	.long	-858993459
	.long	1076317388
	.long	171798692
	.long	1078715351
	.long	687194767
	.long	1079177052
	.long	1374389535
	.long	1080069816
	.long	-515396076
	.long	1079252090
	.long	-171798692
	.long	1080181800
	.long	1717986918
	.long	1079518822
	.long	343597384
	.long	1080338350
	.long	-1374389535
	.long	1079025991
	.long	-1374389535
	.long	1080193351
	.long	343597384
	.long	1077036974
	.long	-343597384
	.long	1079023697
	.long	-343597384
	.long	1079031889
	.long	-1717986918
	.long	1080119705
	.long	343597384
	.long	1079023534
	.long	1374389535
	.long	1080147640
	.long	1202590843
	.long	1079487201
	.long	-171798692
	.long	1080454184
	.long	-858993459
	.long	1078734028
	.long	-2061584302
	.long	1079706091
	.long	-515396076
	.long	1079157882
	.long	-515396076
	.long	1080054906
	.long	-171798692
	.long	1078828072
	.long	2061584302
	.long	1079803412
	.long	858993459
	.long	1078596403
	.long	-2061584302
	.long	1079644651
	.long	-858993459
	.long	1078414540
	.long	-343597384
	.long	1079699537
	.long	1374389535
	.long	1078861496
	.long	858993459
	.long	1080005427
	.long	-1202590843
	.long	1079174430
	.long	-1030792151
	.long	1080043765
	.long	1374389535
	.long	1078443704
	.long	-1889785610
	.long	1079576002
	.long	-1546188227
	.long	1079512432
	.long	0
	.long	1080317952
	.long	858993459
	.long	1077179187
	.long	-1374389535
	.long	1079062855
	.long	-858993459
	.long	1078168780
	.long	-1202590843
	.long	1079489822
	.long	-1202590843
	.long	1077757214
	.long	1717986918
	.long	1079195238
	.long	-1374389535
	.long	1075962183
	.long	-1546188227
	.long	1078074736
	.long	1546188227
	.long	1079534223
	.long	-343597384
	.long	1080356945
	.long	-858993459
	.long	1076546764
	.long	1374389535
	.long	1078988472
	.long	-1202590843
	.long	1077593374
	.long	343597384
	.long	1079130030
	.long	-858993459
	.long	1079344332
	.long	2061584302
	.long	1080276500
	.long	-2061584302
	.long	1076351467
	.long	-687194767
	.long	1078309027
	.long	858993459
	.long	1079014195
	.long	1030792151
	.long	1079703306
	.long	-171798692
	.long	1078246440
	.long	-515396076
	.long	1079403642
	.long	-515396076
	.long	1079198842
	.long	-1374389535
	.long	1080060231
	.long	0
	.long	1073872896
	.long	-1546188227
	.long	1078238576
	.long	1889785610
	.long	1077234237
	.long	1717986918
	.long	1079309926
	.long	-1717986918
	.long	1079527833
	.long	-171798692
	.long	1080331304
	.long	1030792151
	.long	1077999370
	.long	-1030792151
	.long	1079400693
	.long	-515396076
	.long	1079411834
	.long	-1889785610
	.long	1080284610
	.long	1717986918
	.long	1073636966
	.long	-515396076
	.long	1077949562
	.long	-1546188227
	.long	1078836592
	.long	-858993459
	.long	1080016076
	.long	1889785610
	.long	1077054013
	.long	171798692
	.long	1078944727
	.long	-1546188227
	.long	1078074736
	.long	-1374389535
	.long	1079533895
	.long	1030792151
	.long	1079355146
	.long	-515396076
	.long	1080296570
	.long	-1889785610
	.long	1077736898
	.long	858993459
	.long	1078760243
	.long	-1889785610
	.long	1076884930
	.long	1202590843
	.long	1079044833
	.long	1202590843
	.long	1078811361
	.long	515396076
	.long	1080028037
	.long	1202590843
	.long	1078393569
	.long	0
	.long	1079668736
	.long	-1374389535
	.long	1079423303
	.long	1889785610
	.long	1080255037
	.long	-858993459
	.long	1079123148
	.long	1717986918
	.long	1080161894
	.long	1889785610
	.long	1078225469
	.long	-515396076
	.long	1079329914
	.long	-1374389535
	.long	1078206791
	.long	171798692
	.long	1079489495
	.long	-1889785610
	.long	1075770818
	.long	-1717986918
	.long	1078606233
	.long	0
	.long	1078280192
	.long	1889785610
	.long	1079618109
	.long	-858993459
	.long	1075367116
	.long	1889785610
	.long	1077807677
	.long	-171798692
	.long	1078230056
	.long	515396076
	.long	1079536517
	.long	-687194767
	.long	1078767779
	.long	515396076
	.long	1080058757
	.long	-171798692
	.long	1079270440
	.long	-1202590843
	.long	1080368414
	.long	1374389535
	.long	1073815224
	.long	687194767
	.long	1078284124
	.long	-1374389535
	.long	1078452551
	.long	-1374389535
	.long	1079685447
	.long	-1546188227
	.long	1079291248
	.long	-687194767
	.long	1080281251
	.long	687194767
	.long	1079537500
	.long	-2061584302
	.long	1080474091
	.long	687194767
	.long	1078783836
	.long	1889785610
	.long	1079941693
	.long	0
	.long	1079566336
	.long	2061584302
	.long	1080483348
	.long	-1374389535
	.long	1079198023
	.long	2061584302
	.long	1080229396
	.long	2061584302
	.long	1078177300
	.long	0
	.long	1079349248
	.long	2061584302
	.long	1073851924
	.long	-1374389535
	.long	1078747463
	.long	171798692
	.long	1078698967
	.long	1717986918
	.long	1080067686
	.long	343597384
	.long	1079162798
	.long	-2061584302
	.long	1080066539
	.long	-1030792151
	.long	1078282485
	.long	1717986918
	.long	1079735910
	.long	-515396076
	.long	1076171898
	.long	1546188227
	.long	1078403727
	.long	687194767
	.long	1079062364
	.long	-1202590843
	.long	1079964958
	.long	1374389535
	.long	1079574200
	.long	-1889785610
	.long	1080528322
	.long	-2061584302
	.long	1078039019
	.long	-1202590843
	.long	1079395614
	.long	1374389535
	.long	1079242424
	.long	-2061584302
	.long	1080175083
	.long	-1374389535
	.long	1079505223
	.long	-1030792151
	.long	1080295669
	.long	-2061584302
	.long	1079263723
	.long	1030792151
	.long	1080196874
	.long	1374389535
	.long	1077567160
	.long	1546188227
	.long	1079104143
	.long	171798692
	.long	1079526359
	.long	1889785610
	.long	1080500797
	.long	-1374389535
	.long	1079415111
	.long	515396076
	.long	1080335237
	.long	515396076
	.long	1079319429
	.long	-515396076
	.long	1080317050
	.long	343597384
	.long	1079199662
	.long	1374389535
	.long	1080118968
	.long	515396076
	.long	1079225221
	.long	-2061584302
	.long	1080144363
	.long	-1202590843
	.long	1078863134
	.long	-515396076
	.long	1080042618
	.long	-1030792151
	.long	1076308213
	.long	-1202590843
	.long	1078379806
	.long	1546188227
	.long	1078444687
	.long	-687194767
	.long	1079820451
	.long	1546188227
	.long	1078526607
	.long	-2061584302
	.long	1079800299
	.long	0
	.long	1079500800
	.long	-1374389535
	.long	1080494407
	.long	858993459
	.long	1078326067
	.long	171798692
	.long	1079366615
	.long	343597384
	.long	1078536110
	.long	-171798692
	.long	1079446568
	.long	858993459
	.long	1078768435
	.long	1202590843
	.long	1079745249
	.long	1546188227
	.long	1078239887
	.long	1374389535
	.long	1079500472
	.long	-1546188227
	.long	1078615408
	.long	-858993459
	.long	1079946444
	.long	343597384
	.long	1079531438
	.long	1030792151
	.long	1080473354
	.long	515396076
	.long	1079364485
	.long	1030792151
	.long	1080270602
	.long	343597384
	.long	1070679982
	.long	-1546188227
	.long	1077624176
	.long	171798692
	.long	1077953495
	.long	1546188227
	.long	1079227023
	.long	-1030792151
	.long	1079482613
	.long	1717986918
	.long	1080323686
	.long	-343597384
	.long	1077770321
	.long	171798692
	.long	1079161815
	.long	-1546188227
	.long	1077165424
	.long	-1202590843
	.long	1079133470
	.long	-1546188227
	.long	1074937200
	.long	171798692
	.long	1078821847
	.long	858993459
	.long	1078154035
	.long	1202590843
	.long	1079417569
	.long	-1889785610
	.long	1078957506
	.long	1202590843
	.long	1080177377
	.long	1889785610
	.long	1076464189
	.long	858993459
	.long	1078506291
	.long	-343597384
	.long	1076672593
	.long	343597384
	.long	1079121838
	.long	1202590843
	.long	1079114465
	.long	-1546188227
	.long	1080024432
	.long	1202590843
	.long	1078065889
	.long	1546188227
	.long	1079120527
	.long	-1030792151
	.long	1078683893
	.long	-343597384
	.long	1079670865
	.long	687194767
	.long	1077825372
	.long	171798692
	.long	1079419863
	.long	-1202590843
	.long	1079092510
	.long	687194767
	.long	1079934812
	.long	171798692
	.long	1078412247
	.long	-515396076
	.long	1079649402
	.long	343597384
	.long	1079306158
	.long	-1202590843
	.long	1080333598
	.long	0
	.long	1076166656
	.long	-858993459
	.long	1078316236
	.long	1717986918
	.long	1077667430
	.long	1202590843
	.long	1079053025
	.long	-1202590843
	.long	1078412574
	.long	687194767
	.long	1079578460
	.long	1374389535
	.long	1078476472
	.long	-1546188227
	.long	1079827824
	.long	-1030792151
	.long	1078642933
	.long	-1889785610
	.long	1079727554
	.long	687194767
	.long	1077120860
	.long	687194767
	.long	1078710108
	.long	-858993459
	.long	1079266508
	.long	858993459
	.long	1080232755
	.long	1202590843
	.long	1078704865
	.long	343597384
	.long	1079519150
	.long	-171798692
	.long	1079479336
	.long	1717986918
	.long	1080282726
	.long	1546188227
	.long	1078731407
	.long	1030792151
	.long	1079977738
	.long	-687194767
	.long	1079255203
	.long	-515396076
	.long	1080181882
	.long	343597384
	.long	1079039918
	.long	-687194767
	.long	1080139939
	.long	-1889785610
	.long	1077917122
	.long	687194767
	.long	1079402332
	.long	1546188227
	.long	1079460495
	.long	-1030792151
	.long	1080305909
	.long	2061584302
	.long	1078267412
	.long	2061584302
	.long	1079438868
	.long	343597384
	.long	1077987246
	.long	1546188227
	.long	1079472783
	.long	1546188227
	.long	1074905743
	.long	1889785610
	.long	1078856253
	.long	515396076
	.long	1075866501
	.long	2061584302
	.long	1078455828
	.long	-687194767
	.long	1079419043
	.long	-1889785610
	.long	1080436162
	.long	1546188227
	.long	1077625487
	.long	1717986918
	.long	1079141990
	.long	-1374389535
	.long	1077780807
	.long	-1374389535
	.long	1079329095
	.long	1030792151
	.long	1078605578
	.long	0
	.long	1079783424
	.long	-515396076
	.long	1079133306
	.long	-687194767
	.long	1080051875
	.long	171798692
	.long	1073521623
	.long	-1889785610
	.long	1077196226
	.long	-515396076
	.long	1077679226
	.long	687194767
	.long	1079271260
	.long	1374389535
	.long	1078566584
	.long	343597384
	.long	1079863214
	.long	171798692
	.long	1078445015
	.long	0
	.long	1079734272
	.long	1889785610
	.long	1079241277
	.long	1374389535
	.long	1080399544
	.long	-171798692
	.long	1076812840
	.long	-858993459
	.long	1078578380
	.long	-858993459
	.long	1078168780
	.long	858993459
	.long	1079223091
	.long	0
	.long	1078460416
	.long	1030792151
	.long	1079809802
	.long	-1202590843
	.long	1073841438
	.long	-1202590843
	.long	1078166814
	.long	2061584302
	.long	1076915732
	.long	687194767
	.long	1078513500
	.long	-687194767
	.long	1078456483
	.long	1546188227
	.long	1079612047
	.long	171798692
	.long	1077453783
	.long	-1889785610
	.long	1079055810
	.long	-687194767
	.long	1078784163
	.long	-1030792151
	.long	1080027381
	.long	-171798692
	.long	1078033448
	.long	1546188227
	.long	1079501455
	.long	1374389535
	.long	1074798264
	.long	-687194767
	.long	1078292643
	.long	-1374389535
	.long	1076224327
	.long	-1546188227
	.long	1078885744
	.long	-1374389535
	.long	1078083911
	.long	-343597384
	.long	1079670865
	.long	1889785610
	.long	1079151165
	.long	-343597384
	.long	1080154193
	.long	1889785610
	.long	1077496381
	.long	2061584302
	.long	1079074324
	.long	-687194767
	.long	1078841507
	.long	-687194767
	.long	1079783587
	.long	-171798692
	.long	1073962024
	.long	-515396076
	.long	1078178938
	.long	-1889785610
	.long	1078891970
	.long	-343597384
	.long	1079830609
	.long	1202590843
	.long	1066695393
	.long	515396076
	.long	1078766469
	.long	687194767
	.long	1079283548
	.long	1889785610
	.long	1080285757
	.long	-858993459
	.long	1079327948
	.long	-2061584302
	.long	1080263147
	.long	-515396076
	.long	1078137978
	.long	-687194767
	.long	1079009443
	.long	-1030792151
	.long	1077782773
	.long	515396076
	.long	1079401349
	.long	-687194767
	.long	1079316643
	.long	-1202590843
	.long	1080169758
	.long	1717986918
	.long	1078109798
	.long	1546188227
	.long	1079419535
	.long	-687194767
	.long	1078456483
	.long	1717986918
	.long	1079707238
	.long	-515396076
	.long	1079559290
	.long	-2061584302
	.long	1080390123
	.long	1717986918
	.long	1075144294
	.long	-1030792151
	.long	1078397173
	.long	-343597384
	.long	1079441489
	.long	-858993459
	.long	1080294604
	.long	1202590843
	.long	1079032545
	.long	687194767
	.long	1079881564
	.long	-687194767
	.long	1078579363
	.long	1374389535
	.long	1079656120
	.long	1202590843
	.long	1079360225
	.long	-858993459
	.long	1080210636
	.long	-2061584302
	.long	1079439851
	.long	-1202590843
	.long	1080364318
	.local	_ZL8d_n_data
	.comm	_ZL8d_n_data,4,4
	.globl	n_data
	.align 4
	.type	n_data, @object
	.size	n_data, 4
n_data:
	.long	1000
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC3:
	.long	-8388608
	.long	1104006500
	.align 8
.LC4:
	.long	0
	.long	1076101120
	.align 8
.LC5:
	.long	-858993459
	.long	1073007820
	.align 8
.LC10:
	.long	1202590843
	.long	1065646817
	.align 8
.LC20:
	.long	0
	.long	1104006501
	.ident	"GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:


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


//To compile: nvcc -o cudalinear cudalinear.cu -lm
//To run: ./cudalinear


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

int n_data = 1000;
__device__ int d_n_data = 1000;


point_t data[] = {
  {77.23,150.76},{79.80,130.99},{72.07,129.56},{68.54,135.57},
  {83.81,149.30},{85.64,146.39},{76.45,131.33},{84.98,160.16},
  {65.01,144.98},{78.23,138.68},{80.13,138.82},{14.69,60.34},
  {15.27,56.88},{42.63,99.46},{49.53,108.22},{46.79,114.60},
  {74.02,138.49},{68.93,143.70},{29.07,78.24},{22.66,57.23},
  {13.55,60.50},{24.42,89.84},{69.63,141.88},{68.20,121.97},
  {13.52,67.63},{98.18,171.90},{96.84,167.57},{15.31,79.26},
  {81.15,155.58},{ 7.24,42.23},{92.34,171.28},{ 7.59,35.72},
  {86.80,140.15},{94.64,164.89},{55.48,117.90},{94.96,162.89},
  {27.86,70.22},{58.08,132.89},{66.77,128.47},{74.02,138.16},
  { 0.44,37.42},{24.84,61.83},{36.74,93.20},{ 6.16,36.15},
  { 8.67,46.12},{62.84,120.85},{91.14,160.36},{38.19,92.96},
  {38.61,86.03},{ 4.54,41.42},{ 7.66,45.15},{90.28,151.89},
  {66.28,136.36},{14.97,53.68},{99.09,181.15},{ 4.32,37.34},
  {28.45,70.87},{51.71,106.37},{72.04,154.43},{92.30,157.78},
  {43.08,107.99},{68.79,133.45},{21.91,66.64},{ 0.87,21.60},
  {37.19,90.34},{34.04,84.70},{31.02,84.13},{44.61,88.35},
  {14.38,51.01},{65.07,131.80},{25.28,83.50},{57.93,103.46},
  {63.70,133.50},{61.95,135.18},{25.10,71.75},{ 7.30,35.50},
  {27.96,56.29},{56.46,101.30},{64.09,138.41},{84.80,156.70},
  {82.47,148.81},{65.74,115.48},{ 2.20,50.31},{79.73,146.57},
  {99.84,195.89},{75.87,157.39},{99.03,169.23},{ 1.04,37.54},
  {90.77,169.12},{44.44,112.84},{53.09,117.78},{29.20,74.15},
  { 8.14,48.53},{75.40,151.29},{ 0.36,51.74},{44.53,109.50},
  {17.21,69.95},{82.10,153.97},{10.85,75.38},{11.03,37.76},
  {43.62,95.03},{ 4.17,37.63},{42.83,86.76},{94.99,162.04},
  {38.27,103.19},{ 8.92,31.66},{ 5.91,47.62},{72.11,147.98},
  {21.67,50.12},{73.32,150.38},{89.72,162.56},{21.43,63.83},
  {38.87,87.30},{57.55,108.29},{95.32,160.39},{50.51,102.08},
  {40.26,105.93},{ 1.42,64.12},{88.47,165.02},{60.40,117.44},
  {23.16,61.15},{31.47,97.11},{24.66,65.60},{15.71,66.86},
  {53.25,100.04},{25.62,75.47},{65.53,127.89},{20.46,68.16},
  {17.91,67.45},{58.56,110.59},{72.98,137.58},{41.63,81.83},
  {52.35,131.31},{42.70,81.87},{18.82,63.87},{82.37,135.43},
  {50.63,118.03},{26.69,86.74},{38.28,96.89},{79.50,149.35},
  {91.93,176.52},{27.69,87.12},{27.88,71.18},{ 7.50,33.40},
  {53.18,106.68},{42.09,92.69},{12.12,47.44},{55.74,126.06},
  {12.73,71.40},{47.39,102.06},{66.37,128.93},{11.89,56.14},
  {25.50,61.42},{60.54,145.01},{25.38,80.41},{51.70,119.33},
  {78.77,138.83},{54.80,113.53},{67.44,128.89},{21.41,55.06},
  {87.89,161.48},{30.29,84.74},{ 4.13,39.77},{73.32,136.32},
  {30.56,102.27},{13.64,66.47},{46.86,119.54},{43.94,113.97},
  {84.97,148.64},{32.25,79.23},{51.04,117.43},{ 7.29,40.56},
  {65.26,144.83},{17.88,52.10},{23.29,75.11},{10.81,24.38},
  { 2.63,24.55},{80.69,147.49},{51.33,107.01},{87.47,164.31},
  {55.04,131.68},{88.24,149.22},{55.56,108.54},{99.68,179.53},
  {94.33,175.50},{32.96,85.35},{60.91,134.47},{22.09,82.19},
  {25.30,78.38},{96.33,195.65},{77.88,138.48},{ 8.50,39.79},
  {78.23,148.86},{69.41,135.14},{30.54,77.78},{46.23,102.68},
  {89.37,178.40},{29.83,79.88},{71.53,129.01},{94.35,171.86},
  {45.41,88.06},{51.08,106.12},{39.44,133.07},{82.63,164.06},
  {22.72,64.40},{34.75,89.84},{23.32,63.71},{59.84,129.53},
  {21.32,73.28},{95.18,170.16},{ 2.38,31.84},{96.41,173.78},
  {31.43,83.49},{99.53,151.57},{73.88,138.10},{80.01,155.21},
  {79.83,159.75},{ 2.96,57.46},{25.73,66.61},{79.91,157.52},
  {55.94,118.26},{73.29,141.97},{80.19,151.77},{94.29,173.05},
  {51.57,109.38},{49.58,128.08},{24.75,58.95},{ 7.00,33.41},
  {70.50,130.74},{17.67,55.34},{37.63,68.25},{26.82,91.27},
  {79.86,146.65},{10.04,56.42},{71.33,128.72},{64.98,121.51},
  {32.35,87.64},{64.04,122.89},{45.95,103.56},{94.60,141.55},
  {98.90,177.75},{40.96,86.52},{73.50,142.09},{25.03,62.52},
  {52.53,98.14},{48.42,120.10},{87.03,156.45},{36.30,95.35},
  {79.61,138.84},{20.66,67.92},{62.61,125.21},{ 2.90,23.00},
  {98.68,165.89},{ 6.96,50.75},{39.79,104.21},{79.05,137.55},
  {52.58,111.78},{80.68,141.45},{59.72,108.11},{16.10,67.64},
  {34.04,88.73},{34.17,101.36},{19.48,64.44},{75.91,151.92},
  {11.10,33.79},{77.63,158.42},{36.73,92.59},{75.41,146.27},
  {23.88,69.67},{52.25,103.51},{85.09,149.96},{87.95,157.52},
  {92.24,157.91},{43.90,87.27},{ 1.94,37.20},{43.01,83.71},
  {65.13,116.23},{ 3.01,46.90},{22.24,68.17},{29.85,79.88},
  {16.25,63.22},{43.43,99.49},{52.04,104.99},{ 2.45,29.99},
  {52.39,110.43},{56.02,122.25},{96.73,169.43},{80.39,161.18},
  {75.89,140.06},{83.85,143.76},{85.20,166.70},{ 7.88,35.14},
  {80.19,134.04},{85.45,166.57},{39.31,102.76},{46.99,106.95},
  { 8.61,26.49},{75.77,151.27},{ 9.79,41.97},{58.14,121.89},
  {95.44,180.82},{88.45,160.82},{55.43,109.57},{33.69,88.65},
  { 6.82,58.64},{10.68,62.46},{76.72,148.78},{61.42,131.59},
  {74.44,177.54},{65.51,108.40},{64.69,119.39},{52.46,104.86},
  {67.71,125.61},{96.16,182.97},{25.98,75.56},{69.79,122.21},
  {80.36,153.17},{46.84,109.51},{75.33,144.70},{27.97,83.34},
  {79.32,149.37},{89.43,183.03},{63.62,123.51},{64.08,125.41},
  {31.31,75.90},{47.85,107.86},{31.41,87.37},{90.41,157.01},
  {19.09,66.83},{85.48,147.29},{ 9.35,45.51},{78.32,145.47},
  {40.27,92.98},{54.85,113.99},{36.07,77.94},{76.15,157.52},
  {49.07,102.81},{38.90,95.01},{70.96,140.87},{39.03,87.93},
  {33.72,84.07},{66.39,128.59},{44.04,108.08},{33.14,82.42},
  { 2.73,37.89},{26.45,77.66},{37.03,91.89},{54.00,124.50},
  {63.59,134.17},{16.03,62.07},{ 0.31,32.38},{25.76,72.06},
  {98.95,193.05},{78.40,150.31},{40.62,98.71},{64.81,137.01},
  {97.67,169.77},{25.90,85.88},{ 2.96,41.00},{22.47,69.35},
  {92.01,169.06},{95.45,164.77},{48.19,105.23},{ 7.76,52.64},
  { 7.21,40.27},{61.00,116.59},{ 2.23,40.79},{ 5.47,52.55},
  {71.36,131.37},{68.30,118.58},{65.41,109.22},{45.47,100.67},
  {41.21,87.43},{43.77,89.17},{91.86,166.20},{21.43,48.32},
  {10.75,36.04},{70.80,139.92},{87.62,173.81},{37.35,95.39},
  {75.73,137.61},{89.33,141.27},{15.56,70.91},{37.29,96.21},
  {22.13,62.15},{89.49,149.91},{50.07,97.91},{65.22,122.88},
  {63.93,130.94},{94.46,168.37},{38.82,88.52},{74.84,154.31},
  {54.08,106.91},{62.50,133.84},{77.25,128.70},{16.46,67.64},
  {73.45,139.73},{70.40,139.76},{94.44,163.56},{97.97,175.20},
  {33.23,89.79},{81.72,146.38},{ 4.70,36.62},{74.68,148.95},
  {72.68,140.81},{ 8.87,39.55},{94.28,183.46},{27.16,68.99},
  {43.16,92.09},{53.48,101.44},{51.57,124.00},{75.99,156.88},
  {94.41,174.23},{72.17,144.36},{71.46,131.88},{42.40,84.41},
  {40.17,92.91},{27.88,88.57},{49.06,97.55},{14.86,48.97},
  {73.36,140.86},{57.78,108.11},{84.53,158.66},{38.27,100.15},
  {12.74,55.85},{14.22,61.66},{65.98,122.01},{63.38,143.72},
  {37.68,71.66},{76.78,122.46},{75.28,133.60},{69.72,143.09},
  { 5.52,52.41},{74.35,139.08},{59.99,125.76},{65.64,133.87},
  {60.07,107.21},{34.70,85.96},{ 4.61,24.00},{71.23,140.57},
  {57.74,121.04},{ 4.23,21.04},{ 5.29,54.13},{25.21,81.66},
  {56.30,124.65},{57.39,116.99},{85.46,154.23},{85.10,170.56},
  {85.89,146.44},{11.25,63.44},{ 8.29,40.05},{79.22,135.00},
  {59.96,123.38},{97.19,163.58},{59.92,116.15},{ 7.36,53.16},
  {85.64,143.10},{10.47,41.00},{70.35,125.13},{ 6.02,50.75},
  {73.95,139.07},{81.88,144.64},{42.93,104.10},{34.71,76.10},
  { 5.69,52.52},{48.59,84.24},{48.10,94.76},{30.71,88.16},
  {68.56,136.98},{22.53,77.31},{16.95,63.73},{27.59,64.07},
  {65.14,118.01},{75.78,146.28},{33.86,91.29},{98.93,171.89},
  {83.61,167.09},{93.15,164.61},{35.08,95.68},{83.79,149.46},
  {52.03,119.04},{23.64,85.42},{18.22,57.37},{74.06,138.99},
  {50.25,84.46},{21.37,66.09},{61.15,137.81},{99.61,162.24},
  {96.95,173.40},{43.05,95.67},{89.28,163.68},{79.99,158.47},
  {59.69,130.55},{ 0.52,38.07},{49.77,111.52},{89.25,164.41},
  {25.92,57.36},{81.92,152.67},{61.39,125.63},{29.09,57.77},
  {23.31,81.37},{56.87,120.86},{74.59,142.88},{11.80,42.65},
  {33.64,101.80},{99.49,184.80},{ 1.85,33.70},{88.99,152.68},
  {90.98,186.45},{59.23,136.17},{47.73,120.71},{85.64,158.30},
  {30.41,72.27},{20.02,67.23},{68.23,148.39},{15.82,45.42},
  {80.29,149.38},{59.94,123.61},{92.82,159.34},{59.14,128.74},
  {25.35,77.45},{71.64,145.51},{19.97,70.58},{89.04,171.14},
  {53.43,99.51},{67.84,129.83},{54.76,107.18},{15.45,44.48},
  {41.74,97.86},{30.68,89.22},{68.71,129.61},{76.58,125.21},
  {64.96,129.77},{47.73,102.10},{92.55,169.95},{81.52,161.02},
  {51.35,105.53},{56.53,123.58},{51.51,95.62},{59.01,124.59},
  {16.29,63.29},{52.83,120.16},{97.68,184.76},{46.83,106.76},
  { 0.02,51.18},{26.76,80.54},{ 2.94,32.88},{87.10,157.17},
  {36.90,71.20},{62.84,108.89},{16.87,66.87},{ 5.03,40.84},
  {43.45,108.16},{38.04,75.39},{76.77,150.88},{74.60,139.64},
  {40.12,91.15},{49.06,100.84},{94.95,184.68},{74.31,134.38},
  {54.58,129.65},{86.95,160.05},{55.69,120.67},{22.24,56.35},
  {39.13,90.38},{60.57,131.42},{18.30,53.91},{38.32,95.23},
  {55.98,122.71},{13.06,52.26},{38.17,90.53},{95.59,168.64},
  {18.62,61.91},{91.96,176.78},{21.70,63.04},{81.25,152.90},
  {42.63,81.69},{70.76,137.17},{11.34,51.74},{13.05,39.96},
  {48.79,110.92},{86.88,157.80},{27.50,76.94},{88.77,149.45},
  {64.06,118.59},{85.27,147.23},{81.98,143.52},{84.58,156.89},
  {98.89,174.03},{34.99,82.30},{92.73,172.82},{ 0.75,35.91},
  { 8.61,52.25},{19.10,53.49},{41.42,106.22},{47.89,106.29},
  {83.85,148.92},{23.87,57.76},{88.54,165.40},{94.60,173.80},
  {19.56,68.73},{54.48,120.93},{67.85,119.02},{24.27,74.92},
  {78.18,159.68},{51.03,109.92},{33.42,98.61},{77.69,136.60},
  {40.97,84.93},{ 4.75,39.85},{25.01,87.53},{11.52,68.65},
  {34.40,78.01},{13.79,65.82},{ 6.27,56.21},{44.00,103.71},
  {83.26,143.34},{49.88,101.41},{73.05,140.87},{52.12,104.77},
  {66.38,121.93},{87.42,166.29},{ 3.08,43.40},{97.34,169.74},
  {31.67,81.37},{66.59,140.38},{45.21,102.87},{41.90,88.79},
  {76.28,138.48},{ 1.57,39.23},{42.25,103.21},{43.90,116.91},
  { 3.74,32.26},{ 5.85,46.20},{12.12,51.00},{96.69,164.76},
  {10.84,38.65},{63.15,121.09},{62.55,115.31},{42.63,87.47},
  {28.87,77.89},{40.33,103.79},{54.09,121.41},{18.21,65.54},
  { 5.68,69.26},{85.82,136.13},{17.38,62.76},{81.55,154.58},
  {77.85,163.45},{84.33,163.20},{20.70,57.52},{84.73,173.72},
  {86.17,167.83},{10.73,46.04},{71.83,151.69},{29.03,85.40},
  {66.88,141.73},{98.13,177.38},{30.52,76.72},{75.67,134.21},
  {34.35,77.06},{89.94,181.44},{95.53,176.57},{25.20,76.67},
  {40.27,99.43},{33.58,84.87},{63.60,128.21},{90.24,173.53},
  {70.81,145.77},{65.90,122.10},{ 5.06,37.13},{72.71,132.60},
  {14.98,74.10},{25.67,80.69},{32.04,92.28},{37.97,87.84},
  {47.47,93.50},{90.41,154.15},{ 7.68,45.93},{65.44,123.28},
  {33.96,76.14},{79.75,154.15},{72.74,161.05},{69.83,135.64},
  {29.13,74.88},{81.07,152.23},{ 9.39,57.45},{54.28,115.35},
  {58.15,119.42},{47.87,95.57},{29.20,71.41},{23.84,56.54},
  {69.13,132.86},{ 9.92,57.01},{84.33,146.61},{69.75,134.84},
  {63.33,127.11},{50.30,101.96},{ 7.43,22.18},{21.08,58.29},
  {63.42,98.06},{ 6.04,51.75},{88.80,134.59},{10.57,48.82},
  {14.86,59.58},{38.78,89.65},{ 8.60,63.72},{ 3.05,49.55},
  {79.64,140.40},{61.74,114.00},{47.51,110.09},{37.02,83.39},
  {22.32,78.38},{10.91,53.39},{97.40,188.44},{97.81,192.36},
  {46.23,100.00},{84.68,160.74},{56.35,103.47},{87.88,148.54},
  {11.47,48.34},{74.44,155.79},{24.04,77.24},{85.92,156.32},
  {95.47,166.23},{50.51,99.85},{79.61,150.41},{56.65,126.88},
  {10.18,46.83},{94.11,165.73},{16.84,68.82},{ 1.32,53.18},
  {35.24,82.85},{76.50,133.97},{49.70,115.78},{84.58,154.89},
  { 2.58,54.96},{28.05,56.88},{39.27,84.67},{ 1.26,26.79},
  {37.45,81.33},{26.01,83.07},{72.33,139.74},{ 8.92,61.33},
  {95.21,187.73},{12.96,57.68},{47.92,99.43},{20.09,47.75},
  {74.33,144.70},{36.15,79.94},{83.59,153.50},{ 5.37,46.07},
  {98.97,198.88},{85.91,179.15},{95.38,169.13},{85.64,160.16},
  {56.06,100.60},{96.89,176.63},{83.93,150.17},{48.80,111.06},
  {22.27,79.22},{95.58,173.58},{56.49,124.20},{92.03,146.39},
  {66.49,131.04},{39.22,90.96},{17.98,48.44},{ 1.00,33.27},
  {80.50,169.11},{82.88,173.50},{57.92,111.58},{68.90,130.96},
  {38.65,87.82},{20.49,73.50},{58.10,106.58},{38.99,88.07},
  {41.65,91.96},{82.00,140.65},{33.81,91.57},{23.62,78.38},
  {75.76,151.93},{40.42,116.08},{30.84,84.99},{76.73,148.69},
  { 7.81,62.57},{66.31,134.40},{70.76,143.33},{16.91,60.19},
  { 8.16,44.28},{72.52,138.18},{28.13,66.46},{70.97,126.90},
  {54.46,112.39},{61.94,110.06},{45.47,92.99},{90.78,156.57},
  {66.08,109.59},{12.35,56.66},{17.23,52.58},{71.21,158.27},
  {61.22,122.83},{50.62,117.43},{26.52,54.24},{57.46,126.25},
  {28.74,90.15},{10.49,48.72},{62.11,138.78},{79.20,140.57},
  {73.06,141.61},{19.01,52.29},{15.35,51.63},{98.03,174.79},
  {19.43,73.68},{57.18,95.12},{28.71,84.43},{56.17,114.52},
  {12.66,50.03},{35.83,78.66},{73.95,137.25},{96.68,169.26},
  {13.12,70.59},{72.84,142.80},{80.36,150.96},{29.96,67.92},
  {41.51,98.54},{51.54,102.60},{81.96,131.69},{74.14,138.07},
  {10.89,57.54},{68.18,127.68},{ 2.46,49.79},{51.99,119.32},
  {11.65,55.78},{75.74,132.46},{80.32,146.13},{96.60,165.24},
  {66.52,147.54},{18.28,66.38},{66.88,138.55},{66.37,141.96},
  {94.67,179.38},{56.35,108.03},{74.57,130.64},{59.22,113.97},
  {52.15,104.28},{46.60,107.63},{60.24,126.30},{75.58,129.28},
  {47.49,100.09},{96.21,162.75},{20.45,68.77},{39.10,94.83},
  {29.27,76.85},{ 8.94,36.23},{97.54,167.51},{13.40,64.23},
  {26.77,72.87},{85.95,157.69},{11.91,43.38},{65.80,107.86},
  {41.47,89.57},{77.07,131.29},{ 2.25,41.23},{21.29,83.85},
  {97.15,164.38},{33.93,89.39},{90.07,158.68},{ 1.90,32.41},
  {59.48,126.95},{18.54,62.78},{36.23,97.52},{86.61,160.14},
  {28.96,57.15},{15.98,67.67},{58.71,127.68},{45.96,105.75},
  {90.77,155.07},{72.45,143.70},{40.83,85.07},{40.26,94.81},
  { 7.74,52.45},{42.50,102.66},{ 6.20,30.04},{40.97,97.68},
  {57.38,131.11},{81.44,168.91},{ 2.14,42.62},{47.76,106.77},
  {82.71,158.27},{97.74,181.81},{57.87,122.41},{99.50,182.94},
  {77.02,151.94},{39.36,86.25},{ 2.21,56.76},{55.28,132.20},
  {74.87,132.06},{42.57,109.85},{10.54,46.27},{68.74,123.83},
  {99.98,188.43},{35.14,89.08},{79.73,145.31},{95.77,160.03},
  {81.03,147.97},{26.37,71.29},{97.06,185.07},{90.27,164.86},
  {84.43,162.64},{77.12,138.46},{78.68,141.56},{60.29,129.14},
  {11.58,45.54},{47.52,115.01},{50.02,113.78},{95.50,184.29},
  {43.90,87.31},{50.31,92.19},{57.40,110.42},{41.27,95.48},
  {52.73,122.70},{97.37,181.72},{87.18,156.97},{ 0.27,27.24},
  {32.53,78.79},{94.39,163.45},{29.47,74.81},{20.24,73.08},
  { 4.56,59.03},{38.65,90.42},{63.17,145.59},{12.77,49.40},
  {14.36,72.37},{71.92,127.46},{35.96,72.29},{54.82,105.88},
  {30.31,90.56},{70.58,121.99},{46.53,104.57},{83.62,164.66},
  {10.50,43.60},{27.90,68.17},{46.54,100.24},{48.49,115.46},
  {53.57,109.34},{19.56,55.62},{81.20,152.35},{55.46,96.62},
  {94.19,158.45},{56.27,124.61},{80.51,146.14},{67.37,141.02},
  {31.71,89.49},{93.04,161.28},{42.11,91.72},{33.56,93.79},
  { 4.44,60.08},{ 8.21,47.86},{90.51,177.18},{27.26,73.60},
  {29.63,85.02},{52.43,112.75},{73.07,130.27},{ 1.79,20.71},
  {28.08,81.49},{51.24,117.62},{47.53,109.75},{79.66,172.71},
  {15.43,51.60},{39.10,78.55},{48.00,114.36},{ 2.19,39.04},
  {16.43,49.62},{47.88,102.29},{24.64,68.34},{57.88,127.64},
  {34.97,95.54},{ 4.03,42.88},{10.94,60.98},{36.51,105.88},
  {74.16,142.76},{25.29,69.47},{59.63,112.76},{ 2.42,39.41},
  {61.17,115.63},{ 0.02,57.34},{82.24,158.82},{84.95,156.06},
  {38.16,65.51},{29.66,89.43},{84.26,144.66},{37.30,90.54},
  {47.88,108.10},{99.07,171.56},{ 5.35,46.07},{91.88,159.90},
  {66.92,118.74},{51.63,104.98},{86.92,149.65},{91.78,168.41}
};
double residual_error(double x, double g, double m, double c) {
  double e = (m * x) + c - g;
  return e * e;
}

__device__ double d_residual_error(double x, double g, double m, double c) {
  double e = (m * x) + c - g;
  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].g, 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].g, *m, *c);
}

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

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

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

	struct timespec start, finish;   
  long long int time_elapsed;

	
  clock_gettime(CLOCK_MONOTONIC, &start);

	hipError_t error;

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

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

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

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

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

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

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

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

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

			error_sum_total = 0;
    }


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

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

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

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

	clock_gettime(CLOCK_MONOTONIC, &finish);

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

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

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

	.type	d_n_data,@object                # @d_n_data
	.local	d_n_data
	.comm	d_n_data,4,4
	.type	data,@object                    # @data
	.globl	data
	.p2align	4, 0x0
data:
	.quad	0x40534eb851eb851f              # double 77.230000000000003
	.quad	0x4062d851eb851eb8              # double 150.75999999999999
	.quad	0x4053f33333333333              # double 79.799999999999997
	.quad	0x40605fae147ae148              # double 130.99000000000001
	.quad	0x4052047ae147ae14              # double 72.069999999999993
	.quad	0x406031eb851eb852              # double 129.56
	.quad	0x4051228f5c28f5c3              # double 68.540000000000006
	.quad	0x4060f23d70a3d70a              # double 135.56999999999999
	.quad	0x4054f3d70a3d70a4              # double 83.810000000000002
	.quad	0x4062a9999999999a              # double 149.30000000000001
	.quad	0x405568f5c28f5c29              # double 85.64
	.quad	0x40624c7ae147ae14              # double 146.38999999999999
	.quad	0x40531ccccccccccd              # double 76.450000000000002
	.quad	0x40606a8f5c28f5c3              # double 131.33000000000001
	.quad	0x40553eb851eb851f              # double 84.980000000000003
	.quad	0x4064051eb851eb85              # double 160.16
	.quad	0x405040a3d70a3d71              # double 65.010000000000005
	.quad	0x40621f5c28f5c28f              # double 144.97999999999999
	.quad	0x40538eb851eb851f              # double 78.230000000000003
	.quad	0x406155c28f5c28f6              # double 138.68000000000001
	.quad	0x40540851eb851eb8              # double 80.129999999999995
	.quad	0x40615a3d70a3d70a              # double 138.81999999999999
	.quad	0x402d6147ae147ae1              # double 14.69
	.quad	0x404e2b851eb851ec              # double 60.340000000000003
	.quad	0x402e8a3d70a3d70a              # double 15.27
	.quad	0x404c70a3d70a3d71              # double 56.880000000000003
	.quad	0x404550a3d70a3d71              # double 42.630000000000003
	.quad	0x4058dd70a3d70a3d              # double 99.459999999999993
	.quad	0x4048c3d70a3d70a4              # double 49.530000000000001
	.quad	0x405b0e147ae147ae              # double 108.22
	.quad	0x4047651eb851eb85              # double 46.789999999999999
	.quad	0x405ca66666666666              # double 114.59999999999999
	.quad	0x40528147ae147ae1              # double 74.019999999999996
	.quad	0x40614fae147ae148              # double 138.49000000000001
	.quad	0x40513b851eb851ec              # double 68.930000000000007
	.quad	0x4061f66666666666              # double 143.69999999999999
	.quad	0x403d11eb851eb852              # double 29.07
	.quad	0x40538f5c28f5c28f              # double 78.239999999999994
	.quad	0x4036a8f5c28f5c29              # double 22.66
	.quad	0x404c9d70a3d70a3d              # double 57.229999999999997
	.quad	0x402b19999999999a              # double 13.550000000000001
	.quad	0x404e400000000000              # double 60.5
	.quad	0x40386b851eb851ec              # double 24.420000000000002
	.quad	0x405675c28f5c28f6              # double 89.840000000000003
	.quad	0x40516851eb851eb8              # double 69.629999999999995
	.quad	0x4061bc28f5c28f5c              # double 141.88
	.quad	0x40510ccccccccccd              # double 68.200000000000003
	.quad	0x405e7e147ae147ae              # double 121.97
	.quad	0x402b0a3d70a3d70a              # double 13.52
	.quad	0x4050e851eb851eb8              # double 67.629999999999995
	.quad	0x40588b851eb851ec              # double 98.180000000000007
	.quad	0x40657ccccccccccd              # double 171.90000000000001
	.quad	0x405835c28f5c28f6              # double 96.840000000000003
	.quad	0x4064f23d70a3d70a              # double 167.56999999999999
	.quad	0x402e9eb851eb851f              # double 15.31
	.quad	0x4053d0a3d70a3d71              # double 79.260000000000005
	.quad	0x405449999999999a              # double 81.150000000000006
	.quad	0x4063728f5c28f5c3              # double 155.58000000000001
	.quad	0x401cf5c28f5c28f6              # double 7.2400000000000002
	.quad	0x40451d70a3d70a3d              # double 42.229999999999997
	.quad	0x405715c28f5c28f6              # double 92.340000000000003
	.quad	0x406568f5c28f5c29              # double 171.28
	.quad	0x401e5c28f5c28f5c              # double 7.5899999999999999
	.quad	0x4041dc28f5c28f5c              # double 35.719999999999999
	.quad	0x4055b33333333333              # double 86.799999999999997
	.quad	0x406184cccccccccd              # double 140.15000000000001
	.quad	0x4057a8f5c28f5c29              # double 94.64
	.quad	0x40649c7ae147ae14              # double 164.88999999999999
	.quad	0x404bbd70a3d70a3d              # double 55.479999999999997
	.quad	0x405d79999999999a              # double 117.90000000000001
	.quad	0x4057bd70a3d70a3d              # double 94.959999999999993
	.quad	0x40645c7ae147ae14              # double 162.88999999999999
	.quad	0x403bdc28f5c28f5c              # double 27.859999999999999
	.quad	0x40518e147ae147ae              # double 70.219999999999999
	.quad	0x404d0a3d70a3d70a              # double 58.079999999999998
	.quad	0x40609c7ae147ae14              # double 132.88999999999999
	.quad	0x4050b147ae147ae1              # double 66.769999999999996
	.quad	0x40600f0a3d70a3d7              # double 128.47
	.quad	0x40528147ae147ae1              # double 74.019999999999996
	.quad	0x4061451eb851eb85              # double 138.16
	.quad	0x3fdc28f5c28f5c29              # double 0.44
	.quad	0x4042b5c28f5c28f6              # double 37.420000000000002
	.quad	0x4038d70a3d70a3d7              # double 24.84
	.quad	0x404eea3d70a3d70a              # double 61.829999999999998
	.quad	0x40425eb851eb851f              # double 36.740000000000002
	.quad	0x40574ccccccccccd              # double 93.200000000000002
	.quad	0x4018a3d70a3d70a4              # double 6.1600000000000001
	.quad	0x4042133333333333              # double 36.149999999999999
	.quad	0x4021570a3d70a3d7              # double 8.6699999999999999
	.quad	0x40470f5c28f5c28f              # double 46.119999999999997
	.quad	0x404f6b851eb851ec              # double 62.840000000000003
	.quad	0x405e366666666666              # double 120.84999999999999
	.quad	0x4056c8f5c28f5c29              # double 91.14
	.quad	0x40640b851eb851ec              # double 160.36000000000001
	.quad	0x40431851eb851eb8              # double 38.189999999999998
	.quad	0x40573d70a3d70a3d              # double 92.959999999999993
	.quad	0x40434e147ae147ae              # double 38.609999999999999
	.quad	0x405581eb851eb852              # double 86.030000000000001
	.quad	0x401228f5c28f5c29              # double 4.54
	.quad	0x4044b5c28f5c28f6              # double 41.420000000000002
	.quad	0x401ea3d70a3d70a4              # double 7.6600000000000001
	.quad	0x4046933333333333              # double 45.149999999999999
	.quad	0x405691eb851eb852              # double 90.280000000000001
	.quad	0x4062fc7ae147ae14              # double 151.88999999999999
	.quad	0x405091eb851eb852              # double 66.280000000000001
	.quad	0x40610b851eb851ec              # double 136.36000000000001
	.quad	0x402df0a3d70a3d71              # double 14.970000000000001
	.quad	0x404ad70a3d70a3d7              # double 53.68
	.quad	0x4058c5c28f5c28f6              # double 99.090000000000003
	.quad	0x4066a4cccccccccd              # double 181.15000000000001
	.quad	0x401147ae147ae148              # double 4.3200000000000003
	.quad	0x4042ab851eb851ec              # double 37.340000000000003
	.quad	0x403c733333333333              # double 28.449999999999999
	.quad	0x4051b7ae147ae148              # double 70.870000000000005
	.quad	0x4049dae147ae147b              # double 51.710000000000001
	.quad	0x405a97ae147ae148              # double 106.37
	.quad	0x4052028f5c28f5c3              # double 72.040000000000006
	.quad	0x40634dc28f5c28f6              # double 154.43000000000001
	.quad	0x4057133333333333              # double 92.299999999999997
	.quad	0x4063b8f5c28f5c29              # double 157.78
	.quad	0x40458a3d70a3d70a              # double 43.079999999999998
	.quad	0x405aff5c28f5c28f              # double 107.98999999999999
	.quad	0x4051328f5c28f5c3              # double 68.790000000000006
	.quad	0x4060ae6666666666              # double 133.44999999999999
	.quad	0x4035e8f5c28f5c29              # double 21.91
	.quad	0x4050a8f5c28f5c29              # double 66.640000000000001
	.quad	0x3febd70a3d70a3d7              # double 0.87
	.quad	0x403599999999999a              # double 21.600000000000001
	.quad	0x40429851eb851eb8              # double 37.189999999999998
	.quad	0x405695c28f5c28f6              # double 90.340000000000003
	.quad	0x4041051eb851eb85              # double 34.039999999999999
	.quad	0x40552ccccccccccd              # double 84.700000000000002
	.quad	0x403f051eb851eb85              # double 31.02
	.quad	0x40550851eb851eb8              # double 84.129999999999995
	.quad	0x40464e147ae147ae              # double 44.609999999999999
	.quad	0x4056166666666666              # double 88.349999999999994
	.quad	0x402cc28f5c28f5c3              # double 14.380000000000001
	.quad	0x40498147ae147ae1              # double 51.009999999999998
	.quad	0x4050447ae147ae14              # double 65.069999999999993
	.quad	0x406079999999999a              # double 131.80000000000001
	.quad	0x403947ae147ae148              # double 25.280000000000001
	.quad	0x4054e00000000000              # double 83.5
	.quad	0x404cf70a3d70a3d7              # double 57.93
	.quad	0x4059dd70a3d70a3d              # double 103.45999999999999
	.quad	0x404fd9999999999a              # double 63.700000000000003
	.quad	0x4060b00000000000              # double 133.5
	.quad	0x404ef9999999999a              # double 61.950000000000003
	.quad	0x4060e5c28f5c28f6              # double 135.18000000000001
	.quad	0x403919999999999a              # double 25.100000000000001
	.quad	0x4051f00000000000              # double 71.75
	.quad	0x401d333333333333              # double 7.2999999999999998
	.quad	0x4041c00000000000              # double 35.5
	.quad	0x403bf5c28f5c28f6              # double 27.960000000000001
	.quad	0x404c251eb851eb85              # double 56.289999999999999
	.quad	0x404c3ae147ae147b              # double 56.460000000000001
	.quad	0x4059533333333333              # double 101.3
	.quad	0x405005c28f5c28f6              # double 64.090000000000003
	.quad	0x40614d1eb851eb85              # double 138.41
	.quad	0x4055333333333333              # double 84.799999999999997
	.quad	0x4063966666666666              # double 156.69999999999999
	.quad	0x40549e147ae147ae              # double 82.469999999999999
	.quad	0x406299eb851eb852              # double 148.81
	.quad	0x40506f5c28f5c28f              # double 65.739999999999995
	.quad	0x405cdeb851eb851f              # double 115.48
	.quad	0x400199999999999a              # double 2.2000000000000002
	.quad	0x404927ae147ae148              # double 50.310000000000002
	.quad	0x4053eeb851eb851f              # double 79.730000000000003
	.quad	0x4062523d70a3d70a              # double 146.56999999999999
	.quad	0x4058f5c28f5c28f6              # double 99.840000000000003
	.quad	0x40687c7ae147ae14              # double 195.88999999999999
	.quad	0x4052f7ae147ae148              # double 75.870000000000005
	.quad	0x4063ac7ae147ae14              # double 157.38999999999999
	.quad	0x4058c1eb851eb852              # double 99.030000000000001
	.quad	0x4065275c28f5c28f              # double 169.22999999999999
	.quad	0x3ff0a3d70a3d70a4              # double 1.04
	.quad	0x4042c51eb851eb85              # double 37.539999999999999
	.quad	0x4056b147ae147ae1              # double 90.769999999999996
	.quad	0x406523d70a3d70a4              # double 169.12
	.quad	0x40463851eb851eb8              # double 44.439999999999998
	.quad	0x405c35c28f5c28f6              # double 112.84
	.quad	0x404a8b851eb851ec              # double 53.090000000000003
	.quad	0x405d71eb851eb852              # double 117.78
	.quad	0x403d333333333333              # double 29.199999999999999
	.quad	0x405289999999999a              # double 74.150000000000006
	.quad	0x402047ae147ae148              # double 8.1400000000000006
	.quad	0x404843d70a3d70a4              # double 48.530000000000001
	.quad	0x4052d9999999999a              # double 75.400000000000006
	.quad	0x4062e947ae147ae1              # double 151.28999999999999
	.quad	0x3fd70a3d70a3d70a              # double 0.35999999999999999
	.quad	0x4049deb851eb851f              # double 51.740000000000002
	.quad	0x404643d70a3d70a4              # double 44.530000000000001
	.quad	0x405b600000000000              # double 109.5
	.quad	0x403135c28f5c28f6              # double 17.210000000000001
	.quad	0x40517ccccccccccd              # double 69.950000000000003
	.quad	0x4054866666666666              # double 82.099999999999994
	.quad	0x40633f0a3d70a3d7              # double 153.97
	.quad	0x4025b33333333333              # double 10.85
	.quad	0x4052d851eb851eb8              # double 75.379999999999995
	.quad	0x40260f5c28f5c28f              # double 11.029999999999999
	.quad	0x4042e147ae147ae1              # double 37.759999999999998
	.quad	0x4045cf5c28f5c28f              # double 43.619999999999997
	.quad	0x4057c1eb851eb852              # double 95.030000000000001
	.quad	0x4010ae147ae147ae              # double 4.1699999999999999
	.quad	0x4042d0a3d70a3d71              # double 37.630000000000003
	.quad	0x40456a3d70a3d70a              # double 42.829999999999998
	.quad	0x4055b0a3d70a3d71              # double 86.760000000000005
	.quad	0x4057bf5c28f5c28f              # double 94.989999999999994
	.quad	0x40644147ae147ae1              # double 162.03999999999999
	.quad	0x4043228f5c28f5c3              # double 38.270000000000003
	.quad	0x4059cc28f5c28f5c              # double 103.19
	.quad	0x4021d70a3d70a3d7              # double 8.9199999999999999
	.quad	0x403fa8f5c28f5c29              # double 31.66
	.quad	0x4017a3d70a3d70a4              # double 5.9100000000000001
	.quad	0x4047cf5c28f5c28f              # double 47.619999999999997
	.quad	0x4052070a3d70a3d7              # double 72.109999999999999
	.quad	0x40627f5c28f5c28f              # double 147.97999999999999
	.quad	0x4035ab851eb851ec              # double 21.670000000000002
	.quad	0x40490f5c28f5c28f              # double 50.119999999999997
	.quad	0x4052547ae147ae14              # double 73.319999999999993
	.quad	0x4062cc28f5c28f5c              # double 150.38
	.quad	0x40566e147ae147ae              # double 89.719999999999999
	.quad	0x406451eb851eb852              # double 162.56
	.quad	0x40356e147ae147ae              # double 21.43
	.quad	0x404fea3d70a3d70a              # double 63.829999999999998
	.quad	0x40436f5c28f5c28f              # double 38.869999999999997
	.quad	0x4055d33333333333              # double 87.299999999999997
	.quad	0x404cc66666666666              # double 57.549999999999997
	.quad	0x405b128f5c28f5c3              # double 108.29000000000001
	.quad	0x4057d47ae147ae14              # double 95.319999999999993
	.quad	0x40640c7ae147ae14              # double 160.38999999999999
	.quad	0x40494147ae147ae1              # double 50.509999999999998
	.quad	0x4059851eb851eb85              # double 102.08
	.quad	0x40442147ae147ae1              # double 40.259999999999998
	.quad	0x405a7b851eb851ec              # double 105.93000000000001
	.quad	0x3ff6b851eb851eb8              # double 1.4199999999999999
	.quad	0x405007ae147ae148              # double 64.120000000000005
	.quad	0x40561e147ae147ae              # double 88.469999999999999
	.quad	0x4064a0a3d70a3d71              # double 165.02000000000001
	.quad	0x404e333333333333              # double 60.399999999999999
	.quad	0x405d5c28f5c28f5c              # double 117.44
	.quad	0x403728f5c28f5c29              # double 23.16
	.quad	0x404e933333333333              # double 61.149999999999999
	.quad	0x403f7851eb851eb8              # double 31.469999999999999
	.quad	0x4058470a3d70a3d7              # double 97.109999999999999
	.quad	0x4038a8f5c28f5c29              # double 24.66
	.quad	0x4050666666666666              # double 65.599999999999994
	.quad	0x402f6b851eb851ec              # double 15.710000000000001
	.quad	0x4050b70a3d70a3d7              # double 66.859999999999999
	.quad	0x404aa00000000000              # double 53.25
	.quad	0x4059028f5c28f5c3              # double 100.04000000000001
	.quad	0x40399eb851eb851f              # double 25.620000000000001
	.quad	0x4052de147ae147ae              # double 75.469999999999999
	.quad	0x405061eb851eb852              # double 65.530000000000001
	.quad	0x405ff8f5c28f5c29              # double 127.89
	.quad	0x403475c28f5c28f6              # double 20.460000000000001
	.quad	0x40510a3d70a3d70a              # double 68.159999999999997
	.quad	0x4031e8f5c28f5c29              # double 17.91
	.quad	0x4050dccccccccccd              # double 67.450000000000003
	.quad	0x404d47ae147ae148              # double 58.560000000000002
	.quad	0x405ba5c28f5c28f6              # double 110.59
	.quad	0x40523eb851eb851f              # double 72.980000000000004
	.quad	0x4061328f5c28f5c3              # double 137.58000000000001
	.quad	0x4044d0a3d70a3d71              # double 41.630000000000003
	.quad	0x4054751eb851eb85              # double 81.829999999999998
	.quad	0x404a2ccccccccccd              # double 52.350000000000001
	.quad	0x406069eb851eb852              # double 131.31
	.quad	0x404559999999999a              # double 42.700000000000003
	.quad	0x405477ae147ae148              # double 81.870000000000005
	.quad	0x4032d1eb851eb852              # double 18.82
	.quad	0x404fef5c28f5c28f              # double 63.869999999999997
	.quad	0x405497ae147ae148              # double 82.370000000000005
	.quad	0x4060edc28f5c28f6              # double 135.43000000000001
	.quad	0x404950a3d70a3d71              # double 50.630000000000003
	.quad	0x405d81eb851eb852              # double 118.03
	.quad	0x403ab0a3d70a3d71              # double 26.690000000000001
	.quad	0x4055af5c28f5c28f              # double 86.739999999999994
	.quad	0x404323d70a3d70a4              # double 38.280000000000001
	.quad	0x405838f5c28f5c29              # double 96.89
	.quad	0x4053e00000000000              # double 79.5
	.quad	0x4062ab3333333333              # double 149.34999999999999
	.quad	0x4056fb851eb851ec              # double 91.930000000000007
	.quad	0x406610a3d70a3d71              # double 176.52000000000001
	.quad	0x403bb0a3d70a3d71              # double 27.690000000000001
	.quad	0x4055c7ae147ae148              # double 87.120000000000005
	.quad	0x403be147ae147ae1              # double 27.879999999999999
	.quad	0x4051cb851eb851ec              # double 71.180000000000007
	.quad	0x401e000000000000              # double 7.5
	.quad	0x4040b33333333333              # double 33.399999999999999
	.quad	0x404a970a3d70a3d7              # double 53.18
	.quad	0x405aab851eb851ec              # double 106.68000000000001
	.quad	0x40450b851eb851ec              # double 42.090000000000003
	.quad	0x40572c28f5c28f5c              # double 92.689999999999998
	.quad	0x40283d70a3d70a3d              # double 12.119999999999999
	.quad	0x4047b851eb851eb8              # double 47.439999999999998
	.quad	0x404bdeb851eb851f              # double 55.740000000000002
	.quad	0x405f83d70a3d70a4              # double 126.06
	.quad	0x402975c28f5c28f6              # double 12.73
	.quad	0x4051d9999999999a              # double 71.400000000000006
	.quad	0x4047b1eb851eb852              # double 47.390000000000001
	.quad	0x405983d70a3d70a4              # double 102.06
	.quad	0x405097ae147ae148              # double 66.370000000000005
	.quad	0x40601dc28f5c28f6              # double 128.93000000000001
	.quad	0x4027c7ae147ae148              # double 11.890000000000001
	.quad	0x404c11eb851eb852              # double 56.140000000000001
	.quad	0x4039800000000000              # double 25.5
	.quad	0x404eb5c28f5c28f6              # double 61.420000000000002
	.quad	0x404e451eb851eb85              # double 60.539999999999999
	.quad	0x40622051eb851eb8              # double 145.00999999999999
	.quad	0x40396147ae147ae1              # double 25.379999999999999
	.quad	0x40541a3d70a3d70a              # double 80.409999999999997
	.quad	0x4049d9999999999a              # double 51.700000000000003
	.quad	0x405dd51eb851eb85              # double 119.33
	.quad	0x4053b147ae147ae1              # double 78.769999999999996
	.quad	0x40615a8f5c28f5c3              # double 138.83000000000001
	.quad	0x404b666666666666              # double 54.799999999999997
	.quad	0x405c61eb851eb852              # double 113.53
	.quad	0x4050dc28f5c28f5c              # double 67.439999999999998
	.quad	0x40601c7ae147ae14              # double 128.88999999999999
	.quad	0x403568f5c28f5c29              # double 21.41
	.quad	0x404b87ae147ae148              # double 55.060000000000002
	.quad	0x4055f8f5c28f5c29              # double 87.89
	.quad	0x40642f5c28f5c28f              # double 161.47999999999999
	.quad	0x403e4a3d70a3d70a              # double 30.289999999999999
	.quad	0x40552f5c28f5c28f              # double 84.739999999999994
	.quad	0x4010851eb851eb85              # double 4.1299999999999999
	.quad	0x4043e28f5c28f5c3              # double 39.770000000000003
	.quad	0x4052547ae147ae14              # double 73.319999999999993
	.quad	0x40610a3d70a3d70a              # double 136.31999999999999
	.quad	0x403e8f5c28f5c28f              # double 30.559999999999999
	.quad	0x40599147ae147ae1              # double 102.27
	.quad	0x402b47ae147ae148              # double 13.640000000000001
	.quad	0x40509e147ae147ae              # double 66.469999999999999
	.quad	0x40476e147ae147ae              # double 46.859999999999999
	.quad	0x405de28f5c28f5c3              # double 119.54000000000001
	.quad	0x4045f851eb851eb8              # double 43.939999999999998
	.quad	0x405c7e147ae147ae              # double 113.97
	.quad	0x40553e147ae147ae              # double 84.969999999999999
	.quad	0x4062947ae147ae14              # double 148.63999999999999
	.quad	0x4040200000000000              # double 32.25
	.quad	0x4053ceb851eb851f              # double 79.230000000000003
	.quad	0x4049851eb851eb85              # double 51.039999999999999
	.quad	0x405d5b851eb851ec              # double 117.43000000000001
	.quad	0x401d28f5c28f5c29              # double 7.29
	.quad	0x404447ae147ae148              # double 40.560000000000002
	.quad	0x405050a3d70a3d71              # double 65.260000000000005
	.quad	0x40621a8f5c28f5c3              # double 144.83000000000001
	.quad	0x4031e147ae147ae1              # double 17.879999999999999
	.quad	0x404a0ccccccccccd              # double 52.100000000000001
	.quad	0x40374a3d70a3d70a              # double 23.289999999999999
	.quad	0x4052c70a3d70a3d7              # double 75.109999999999999
	.quad	0x40259eb851eb851f              # double 10.81
	.quad	0x40386147ae147ae1              # double 24.379999999999999
	.quad	0x40050a3d70a3d70a              # double 2.6299999999999999
	.quad	0x40388ccccccccccd              # double 24.550000000000001
	.quad	0x40542c28f5c28f5c              # double 80.689999999999998
	.quad	0x40626fae147ae148              # double 147.49000000000001
	.quad	0x4049aa3d70a3d70a              # double 51.329999999999998
	.quad	0x405ac0a3d70a3d71              # double 107.01000000000001
	.quad	0x4055de147ae147ae              # double 87.469999999999999
	.quad	0x406489eb851eb852              # double 164.31
	.quad	0x404b851eb851eb85              # double 55.039999999999999
	.quad	0x406075c28f5c28f6              # double 131.68000000000001
	.quad	0x40560f5c28f5c28f              # double 88.239999999999994
	.quad	0x4062a70a3d70a3d7              # double 149.22
	.quad	0x404bc7ae147ae148              # double 55.560000000000002
	.quad	0x405b228f5c28f5c3              # double 108.54000000000001
	.quad	0x4058eb851eb851ec              # double 99.680000000000007
	.quad	0x406670f5c28f5c29              # double 179.53
	.quad	0x4057951eb851eb85              # double 94.329999999999998
	.quad	0x4065f00000000000              # double 175.5
	.quad	0x40407ae147ae147b              # double 32.960000000000001
	.quad	0x4055566666666666              # double 85.349999999999994
	.quad	0x404e747ae147ae14              # double 60.909999999999997
	.quad	0x4060cf0a3d70a3d7              # double 134.47
	.quad	0x4036170a3d70a3d7              # double 22.09
	.quad	0x40548c28f5c28f5c              # double 82.189999999999998
	.quad	0x40394ccccccccccd              # double 25.300000000000001
	.quad	0x40539851eb851eb8              # double 78.379999999999995
	.quad	0x4058151eb851eb85              # double 96.329999999999998
	.quad	0x406874cccccccccd              # double 195.65000000000001
	.quad	0x40537851eb851eb8              # double 77.879999999999995
	.quad	0x40614f5c28f5c28f              # double 138.47999999999999
	.quad	0x4021000000000000              # double 8.5
	.quad	0x4043e51eb851eb85              # double 39.789999999999999
	.quad	0x40538eb851eb851f              # double 78.230000000000003
	.quad	0x40629b851eb851ec              # double 148.86000000000001
	.quad	0x40515a3d70a3d70a              # double 69.409999999999997
	.quad	0x4060e47ae147ae14              # double 135.13999999999999
	.quad	0x403e8a3d70a3d70a              # double 30.539999999999999
	.quad	0x405371eb851eb852              # double 77.780000000000001
	.quad	0x40471d70a3d70a3d              # double 46.229999999999997
	.quad	0x4059ab851eb851ec              # double 102.68000000000001
	.quad	0x405657ae147ae148              # double 89.370000000000005
	.quad	0x40664ccccccccccd              # double 178.40000000000001
	.quad	0x403dd47ae147ae14              # double 29.829999999999998
	.quad	0x4053f851eb851eb8              # double 79.879999999999995
	.quad	0x4051e1eb851eb852              # double 71.530000000000001
	.quad	0x40602051eb851eb8              # double 129.00999999999999
	.quad	0x4057966666666666              # double 94.349999999999994
	.quad	0x40657b851eb851ec              # double 171.86000000000001
	.quad	0x4046b47ae147ae14              # double 45.409999999999997
	.quad	0x405603d70a3d70a4              # double 88.060000000000002
	.quad	0x40498a3d70a3d70a              # double 51.079999999999998
	.quad	0x405a87ae147ae148              # double 106.12
	.quad	0x4043b851eb851eb8              # double 39.439999999999998
	.quad	0x4060a23d70a3d70a              # double 133.06999999999999
	.quad	0x4054a851eb851eb8              # double 82.629999999999995
	.quad	0x406481eb851eb852              # double 164.06
	.quad	0x4036b851eb851eb8              # double 22.719999999999999
	.quad	0x405019999999999a              # double 64.400000000000006
	.quad	0x4041600000000000              # double 34.75
	.quad	0x405675c28f5c28f6              # double 89.840000000000003
	.quad	0x403751eb851eb852              # double 23.32
	.quad	0x404fdae147ae147b              # double 63.710000000000001
	.quad	0x404deb851eb851ec              # double 59.840000000000003
	.quad	0x406030f5c28f5c29              # double 129.53
	.quad	0x403551eb851eb852              # double 21.32
	.quad	0x405251eb851eb852              # double 73.280000000000001
	.quad	0x4057cb851eb851ec              # double 95.180000000000007
	.quad	0x4065451eb851eb85              # double 170.16
	.quad	0x40030a3d70a3d70a              # double 2.3799999999999999
	.quad	0x403fd70a3d70a3d7              # double 31.84
	.quad	0x40581a3d70a3d70a              # double 96.409999999999996
	.quad	0x4065b8f5c28f5c29              # double 173.78
	.quad	0x403f6e147ae147ae              # double 31.43
	.quad	0x4054df5c28f5c28f              # double 83.489999999999994
	.quad	0x4058e1eb851eb852              # double 99.530000000000001
	.quad	0x4062f23d70a3d70a              # double 151.56999999999999
	.quad	0x40527851eb851eb8              # double 73.879999999999995
	.quad	0x4061433333333333              # double 138.09999999999999
	.quad	0x405400a3d70a3d71              # double 80.010000000000005
	.quad	0x406366b851eb851f              # double 155.21000000000001
	.quad	0x4053f51eb851eb85              # double 79.829999999999998
	.quad	0x4063f80000000000              # double 159.75
	.quad	0x4007ae147ae147ae              # double 2.96
	.quad	0x404cbae147ae147b              # double 57.460000000000001
	.quad	0x4039bae147ae147b              # double 25.73
	.quad	0x4050a70a3d70a3d7              # double 66.609999999999999
	.quad	0x4053fa3d70a3d70a              # double 79.909999999999997
	.quad	0x4063b0a3d70a3d71              # double 157.52000000000001
	.quad	0x404bf851eb851eb8              # double 55.939999999999998
	.quad	0x405d90a3d70a3d71              # double 118.26000000000001
	.quad	0x4052528f5c28f5c3              # double 73.290000000000006
	.quad	0x4061bf0a3d70a3d7              # double 141.97
	.quad	0x40540c28f5c28f5c              # double 80.189999999999998
	.quad	0x4062f8a3d70a3d71              # double 151.77000000000001
	.quad	0x4057928f5c28f5c3              # double 94.290000000000006
	.quad	0x4065a1999999999a              # double 173.05000000000001
	.quad	0x4049c8f5c28f5c29              # double 51.57
	.quad	0x405b5851eb851eb8              # double 109.38
	.quad	0x4048ca3d70a3d70a              # double 49.579999999999998
	.quad	0x4060028f5c28f5c3              # double 128.08000000000001
	.quad	0x4038c00000000000              # double 24.75
	.quad	0x404d79999999999a              # double 58.950000000000003
	.quad	0x401c000000000000              # double 7
	.quad	0x4040b47ae147ae14              # double 33.409999999999997
	.quad	0x4051a00000000000              # double 70.5
	.quad	0x406057ae147ae148              # double 130.74000000000001
	.quad	0x4031ab851eb851ec              # double 17.670000000000002
	.quad	0x404bab851eb851ec              # double 55.340000000000003
	.quad	0x4042d0a3d70a3d71              # double 37.630000000000003
	.quad	0x4051100000000000              # double 68.25
	.quad	0x403ad1eb851eb852              # double 26.82
	.quad	0x4056d147ae147ae1              # double 91.269999999999996
	.quad	0x4053f70a3d70a3d7              # double 79.859999999999999
	.quad	0x406254cccccccccd              # double 146.65000000000001
	.quad	0x4024147ae147ae14              # double 10.039999999999999
	.quad	0x404c35c28f5c28f6              # double 56.420000000000002
	.quad	0x4051d51eb851eb85              # double 71.329999999999998
	.quad	0x4060170a3d70a3d7              # double 128.72
	.quad	0x40503eb851eb851f              # double 64.980000000000004
	.quad	0x405e60a3d70a3d71              # double 121.51000000000001
	.quad	0x40402ccccccccccd              # double 32.350000000000001
	.quad	0x4055e8f5c28f5c29              # double 87.64
	.quad	0x4050028f5c28f5c3              # double 64.040000000000006
	.quad	0x405eb8f5c28f5c29              # double 122.89
	.quad	0x4046f9999999999a              # double 45.950000000000003
	.quad	0x4059e3d70a3d70a4              # double 103.56
	.quad	0x4057a66666666666              # double 94.599999999999994
	.quad	0x4061b1999999999a              # double 141.55000000000001
	.quad	0x4058b9999999999a              # double 98.900000000000005
	.quad	0x4066380000000000              # double 177.75
	.quad	0x40447ae147ae147b              # double 40.960000000000001
	.quad	0x4055a147ae147ae1              # double 86.519999999999996
	.quad	0x4052600000000000              # double 73.5
	.quad	0x4061c2e147ae147b              # double 142.09
	.quad	0x403907ae147ae148              # double 25.030000000000001
	.quad	0x404f428f5c28f5c3              # double 62.520000000000003
	.quad	0x404a43d70a3d70a4              # double 52.530000000000001
	.quad	0x405888f5c28f5c29              # double 98.14
	.quad	0x404835c28f5c28f6              # double 48.420000000000002
	.quad	0x405e066666666666              # double 120.09999999999999
	.quad	0x4055c1eb851eb852              # double 87.030000000000001
	.quad	0x40638e6666666666              # double 156.44999999999999
	.quad	0x4042266666666666              # double 36.299999999999997
	.quad	0x4057d66666666666              # double 95.349999999999994
	.quad	0x4053e70a3d70a3d7              # double 79.609999999999999
	.quad	0x40615ae147ae147b              # double 138.84
	.quad	0x4034a8f5c28f5c29              # double 20.66
	.quad	0x4050fae147ae147b              # double 67.920000000000002
	.quad	0x404f4e147ae147ae              # double 62.609999999999999
	.quad	0x405f4d70a3d70a3d              # double 125.20999999999999
	.quad	0x4007333333333333              # double 2.8999999999999999
	.quad	0x4037000000000000              # double 23
	.quad	0x4058ab851eb851ec              # double 98.680000000000007
	.quad	0x4064bc7ae147ae14              # double 165.88999999999999
	.quad	0x401bd70a3d70a3d7              # double 6.96
	.quad	0x4049600000000000              # double 50.75
	.quad	0x4043e51eb851eb85              # double 39.789999999999999
	.quad	0x405a0d70a3d70a3d              # double 104.20999999999999
	.quad	0x4053c33333333333              # double 79.049999999999997
	.quad	0x406131999999999a              # double 137.55000000000001
	.quad	0x404a4a3d70a3d70a              # double 52.579999999999998
	.quad	0x405bf1eb851eb852              # double 111.78
	.quad	0x40542b851eb851ec              # double 80.680000000000007
	.quad	0x4061ae6666666666              # double 141.44999999999999
	.quad	0x404ddc28f5c28f5c              # double 59.719999999999999
	.quad	0x405b070a3d70a3d7              # double 108.11
	.quad	0x403019999999999a              # double 16.100000000000001
	.quad	0x4050e8f5c28f5c29              # double 67.640000000000001
	.quad	0x4041051eb851eb85              # double 34.039999999999999
	.quad	0x40562eb851eb851f              # double 88.730000000000003
	.quad	0x404115c28f5c28f6              # double 34.170000000000002
	.quad	0x4059570a3d70a3d7              # double 101.36
	.quad	0x40337ae147ae147b              # double 19.48
	.quad	0x40501c28f5c28f5c              # double 64.439999999999998
	.quad	0x4052fa3d70a3d70a              # double 75.909999999999997
	.quad	0x4062fd70a3d70a3d              # double 151.91999999999999
	.quad	0x4026333333333333              # double 11.1
	.quad	0x4040e51eb851eb85              # double 33.789999999999999
	.quad	0x40536851eb851eb8              # double 77.629999999999995
	.quad	0x4063cd70a3d70a3d              # double 158.41999999999999
	.quad	0x40425d70a3d70a3d              # double 36.729999999999997
	.quad	0x405725c28f5c28f6              # double 92.590000000000003
	.quad	0x4052da3d70a3d70a              # double 75.409999999999997
	.quad	0x406248a3d70a3d71              # double 146.27000000000001
	.quad	0x4037e147ae147ae1              # double 23.879999999999999
	.quad	0x40516ae147ae147b              # double 69.670000000000002
	.quad	0x404a200000000000              # double 52.25
	.quad	0x4059e0a3d70a3d71              # double 103.51000000000001
	.quad	0x405545c28f5c28f6              # double 85.090000000000003
	.quad	0x4062beb851eb851f              # double 149.96000000000001
	.quad	0x4055fccccccccccd              # double 87.950000000000002
	.quad	0x4063b0a3d70a3d71              # double 157.52000000000001
	.quad	0x40570f5c28f5c28f              # double 92.239999999999994
	.quad	0x4063bd1eb851eb85              # double 157.91
	.quad	0x4045f33333333333              # double 43.899999999999999
	.quad	0x4055d147ae147ae1              # double 87.269999999999996
	.quad	0x3fff0a3d70a3d70a              # double 1.9399999999999999
	.quad	0x404299999999999a              # double 37.200000000000003
	.quad	0x40458147ae147ae1              # double 43.009999999999998
	.quad	0x4054ed70a3d70a3d              # double 83.709999999999993
	.quad	0x40504851eb851eb8              # double 65.129999999999995
	.quad	0x405d0eb851eb851f              # double 116.23
	.quad	0x4008147ae147ae14              # double 3.0099999999999998
	.quad	0x4047733333333333              # double 46.899999999999999
	.quad	0x40363d70a3d70a3d              # double 22.239999999999998
	.quad	0x40510ae147ae147b              # double 68.170000000000002
	.quad	0x403dd9999999999a              # double 29.850000000000001
	.quad	0x4053f851eb851eb8              # double 79.879999999999995
	.quad	0x4030400000000000              # double 16.25
	.quad	0x404f9c28f5c28f5c              # double 63.219999999999999
	.quad	0x4045b70a3d70a3d7              # double 43.43
	.quad	0x4058df5c28f5c28f              # double 99.489999999999994
	.quad	0x404a051eb851eb85              # double 52.039999999999999
	.quad	0x405a3f5c28f5c28f              # double 104.98999999999999
	.quad	0x400399999999999a              # double 2.4500000000000002
	.quad	0x403dfd70a3d70a3d              # double 29.989999999999998
	.quad	0x404a31eb851eb852              # double 52.390000000000001
	.quad	0x405b9b851eb851ec              # double 110.43000000000001
	.quad	0x404c028f5c28f5c3              # double 56.020000000000003
	.quad	0x405e900000000000              # double 122.25
	.quad	0x40582eb851eb851f              # double 96.730000000000003
	.quad	0x40652dc28f5c28f6              # double 169.43000000000001
	.quad	0x405418f5c28f5c29              # double 80.39
	.quad	0x406425c28f5c28f6              # double 161.18000000000001
	.quad	0x4052f8f5c28f5c29              # double 75.89
	.quad	0x406181eb851eb852              # double 140.06
	.quad	0x4054f66666666666              # double 83.849999999999994
	.quad	0x4061f851eb851eb8              # double 143.75999999999999
	.quad	0x40554ccccccccccd              # double 85.200000000000002
	.quad	0x4064d66666666666              # double 166.69999999999999
	.quad	0x401f851eb851eb85              # double 7.8799999999999998
	.quad	0x404191eb851eb852              # double 35.140000000000001
	.quad	0x40540c28f5c28f5c              # double 80.189999999999998
	.quad	0x4060c147ae147ae1              # double 134.03999999999999
	.quad	0x40555ccccccccccd              # double 85.450000000000002
	.quad	0x4064d23d70a3d70a              # double 166.56999999999999
	.quad	0x4043a7ae147ae148              # double 39.310000000000002
	.quad	0x4059b0a3d70a3d71              # double 102.76000000000001
	.quad	0x40477eb851eb851f              # double 46.990000000000002
	.quad	0x405abccccccccccd              # double 106.95
	.quad	0x40213851eb851eb8              # double 8.6099999999999994
	.quad	0x403a7d70a3d70a3d              # double 26.489999999999998
	.quad	0x4052f147ae147ae1              # double 75.769999999999996
	.quad	0x4062e8a3d70a3d71              # double 151.27000000000001
	.quad	0x4023947ae147ae14              # double 9.7899999999999991
	.quad	0x4044fc28f5c28f5c              # double 41.969999999999999
	.quad	0x404d11eb851eb852              # double 58.140000000000001
	.quad	0x405e78f5c28f5c29              # double 121.89
	.quad	0x4057dc28f5c28f5c              # double 95.439999999999998
	.quad	0x40669a3d70a3d70a              # double 180.81999999999999
	.quad	0x40561ccccccccccd              # double 88.450000000000002
	.quad	0x40641a3d70a3d70a              # double 160.81999999999999
	.quad	0x404bb70a3d70a3d7              # double 55.43
	.quad	0x405b647ae147ae14              # double 109.56999999999999
	.quad	0x4040d851eb851eb8              # double 33.689999999999998
	.quad	0x405629999999999a              # double 88.650000000000006
	.quad	0x401b47ae147ae148              # double 6.8200000000000003
	.quad	0x404d51eb851eb852              # double 58.640000000000001
	.quad	0x40255c28f5c28f5c              # double 10.68
	.quad	0x404f3ae147ae147b              # double 62.460000000000001
	.quad	0x40532e147ae147ae              # double 76.719999999999999
	.quad	0x406298f5c28f5c29              # double 148.78
	.quad	0x404eb5c28f5c28f6              # double 61.420000000000002
	.quad	0x406072e147ae147b              # double 131.59
	.quad	0x40529c28f5c28f5c              # double 74.439999999999998
	.quad	0x40663147ae147ae1              # double 177.53999999999999
	.quad	0x405060a3d70a3d71              # double 65.510000000000005
	.quad	0x405b19999999999a              # double 108.40000000000001
	.quad	0x40502c28f5c28f5c              # double 64.689999999999998
	.quad	0x405dd8f5c28f5c29              # double 119.39
	.quad	0x404a3ae147ae147b              # double 52.460000000000001
	.quad	0x405a370a3d70a3d7              # double 104.86
	.quad	0x4050ed70a3d70a3d              # double 67.709999999999994
	.quad	0x405f670a3d70a3d7              # double 125.61
	.quad	0x40580a3d70a3d70a              # double 96.159999999999996
	.quad	0x4066df0a3d70a3d7              # double 182.97
	.quad	0x4039fae147ae147b              # double 25.98
	.quad	0x4052e3d70a3d70a4              # double 75.560000000000002
	.quad	0x4051728f5c28f5c3              # double 69.790000000000006
	.quad	0x405e8d70a3d70a3d              # double 122.20999999999999
	.quad	0x4054170a3d70a3d7              # double 80.359999999999999
	.quad	0x40632570a3d70a3d              # double 153.16999999999999
	.quad	0x40476b851eb851ec              # double 46.840000000000003
	.quad	0x405b60a3d70a3d71              # double 109.51000000000001
	.quad	0x4052d51eb851eb85              # double 75.329999999999998
	.quad	0x4062166666666666              # double 144.69999999999999
	.quad	0x403bf851eb851eb8              # double 27.969999999999999
	.quad	0x4054d5c28f5c28f6              # double 83.340000000000003
	.quad	0x4053d47ae147ae14              # double 79.319999999999993
	.quad	0x4062abd70a3d70a4              # double 149.37
	.quad	0x40565b851eb851ec              # double 89.430000000000007
	.quad	0x4066e0f5c28f5c29              # double 183.03
	.quad	0x404fcf5c28f5c28f              # double 63.619999999999997
	.quad	0x405ee0a3d70a3d71              # double 123.51000000000001
	.quad	0x4050051eb851eb85              # double 64.079999999999998
	.quad	0x405f5a3d70a3d70a              # double 125.41
	.quad	0x403f4f5c28f5c28f              # double 31.309999999999999
	.quad	0x4052f9999999999a              # double 75.900000000000006
	.quad	0x4047eccccccccccd              # double 47.850000000000001
	.quad	0x405af70a3d70a3d7              # double 107.86
	.quad	0x403f68f5c28f5c29              # double 31.41
	.quad	0x4055d7ae147ae148              # double 87.370000000000005
	.quad	0x40569a3d70a3d70a              # double 90.409999999999997
	.quad	0x4063a051eb851eb8              # double 157.00999999999999
	.quad	0x4033170a3d70a3d7              # double 19.09
	.quad	0x4050b51eb851eb85              # double 66.829999999999998
	.quad	0x40555eb851eb851f              # double 85.480000000000003
	.quad	0x40626947ae147ae1              # double 147.28999999999999
	.quad	0x4022b33333333333              # double 9.3499999999999996
	.quad	0x4046c147ae147ae1              # double 45.509999999999998
	.quad	0x4053947ae147ae14              # double 78.319999999999993
	.quad	0x40622f0a3d70a3d7              # double 145.47
	.quad	0x4044228f5c28f5c3              # double 40.270000000000003
	.quad	0x40573eb851eb851f              # double 92.980000000000003
	.quad	0x404b6ccccccccccd              # double 54.850000000000001
	.quad	0x405c7f5c28f5c28f              # double 113.98999999999999
	.quad	0x404208f5c28f5c29              # double 36.07
	.quad	0x40537c28f5c28f5c              # double 77.939999999999998
	.quad	0x405309999999999a              # double 76.150000000000006
	.quad	0x4063b0a3d70a3d71              # double 157.52000000000001
	.quad	0x404888f5c28f5c29              # double 49.07
	.quad	0x4059b3d70a3d70a4              # double 102.81
	.quad	0x4043733333333333              # double 38.899999999999999
	.quad	0x4057c0a3d70a3d71              # double 95.010000000000005
	.quad	0x4051bd70a3d70a3d              # double 70.959999999999994
	.quad	0x40619bd70a3d70a4              # double 140.87
	.quad	0x404383d70a3d70a4              # double 39.030000000000001
	.quad	0x4055fb851eb851ec              # double 87.930000000000007
	.quad	0x4040dc28f5c28f5c              # double 33.719999999999999
	.quad	0x4055047ae147ae14              # double 84.069999999999993
	.quad	0x405098f5c28f5c29              # double 66.390000000000001
	.quad	0x406012e147ae147b              # double 128.59
	.quad	0x4046051eb851eb85              # double 44.039999999999999
	.quad	0x405b051eb851eb85              # double 108.08
	.quad	0x404091eb851eb852              # double 33.140000000000001
	.quad	0x40549ae147ae147b              # double 82.420000000000001
	.quad	0x4005d70a3d70a3d7              # double 2.73
	.quad	0x4042f1eb851eb852              # double 37.890000000000001
	.quad	0x403a733333333333              # double 26.449999999999999
	.quad	0x40536a3d70a3d70a              # double 77.659999999999997
	.quad	0x404283d70a3d70a4              # double 37.030000000000001
	.quad	0x4056f8f5c28f5c29              # double 91.89
	.quad	0x404b000000000000              # double 54
	.quad	0x405f200000000000              # double 124.5
	.quad	0x404fcb851eb851ec              # double 63.590000000000003
	.quad	0x4060c570a3d70a3d              # double 134.16999999999999
	.quad	0x403007ae147ae148              # double 16.030000000000001
	.quad	0x404f08f5c28f5c29              # double 62.07
	.quad	0x3fd3d70a3d70a3d7              # double 0.31
	.quad	0x404030a3d70a3d71              # double 32.380000000000003
	.quad	0x4039c28f5c28f5c3              # double 25.760000000000002
	.quad	0x405203d70a3d70a4              # double 72.060000000000002
	.quad	0x4058bccccccccccd              # double 98.950000000000002
	.quad	0x406821999999999a              # double 193.05000000000001
	.quad	0x405399999999999a              # double 78.400000000000006
	.quad	0x4062c9eb851eb852              # double 150.31
	.quad	0x40444f5c28f5c28f              # double 40.619999999999997
	.quad	0x4058ad70a3d70a3d              # double 98.709999999999993
	.quad	0x405033d70a3d70a4              # double 64.810000000000002
	.quad	0x40612051eb851eb8              # double 137.00999999999999
	.quad	0x40586ae147ae147b              # double 97.670000000000001
	.quad	0x406538a3d70a3d71              # double 169.77000000000001
	.quad	0x4039e66666666666              # double 25.899999999999999
	.quad	0x40557851eb851eb8              # double 85.879999999999995
	.quad	0x4007ae147ae147ae              # double 2.96
	.quad	0x4044800000000000              # double 41
	.quad	0x40367851eb851eb8              # double 22.469999999999999
	.quad	0x4051566666666666              # double 69.349999999999994
	.quad	0x405700a3d70a3d71              # double 92.010000000000005
	.quad	0x406521eb851eb852              # double 169.06
	.quad	0x4057dccccccccccd              # double 95.450000000000002
	.quad	0x406498a3d70a3d71              # double 164.77000000000001
	.quad	0x40481851eb851eb8              # double 48.189999999999998
	.quad	0x405a4eb851eb851f              # double 105.23
	.quad	0x401f0a3d70a3d70a              # double 7.7599999999999998
	.quad	0x404a51eb851eb852              # double 52.640000000000001
	.quad	0x401cd70a3d70a3d7              # double 7.21
	.quad	0x4044228f5c28f5c3              # double 40.270000000000003
	.quad	0x404e800000000000              # double 61
	.quad	0x405d25c28f5c28f6              # double 116.59
	.quad	0x4001d70a3d70a3d7              # double 2.23
	.quad	0x4044651eb851eb85              # double 40.789999999999999
	.quad	0x4015e147ae147ae1              # double 5.4699999999999998
	.quad	0x404a466666666666              # double 52.549999999999997
	.quad	0x4051d70a3d70a3d7              # double 71.359999999999999
	.quad	0x40606bd70a3d70a4              # double 131.37
	.quad	0x4051133333333333              # double 68.299999999999997
	.quad	0x405da51eb851eb85              # double 118.58
	.quad	0x40505a3d70a3d70a              # double 65.409999999999997
	.quad	0x405b4e147ae147ae              # double 109.22
	.quad	0x4046bc28f5c28f5c              # double 45.469999999999999
	.quad	0x40592ae147ae147b              # double 100.67
	.quad	0x40449ae147ae147b              # double 41.210000000000001
	.quad	0x4055db851eb851ec              # double 87.430000000000007
	.quad	0x4045e28f5c28f5c3              # double 43.770000000000003
	.quad	0x40564ae147ae147b              # double 89.170000000000001
	.quad	0x4056f70a3d70a3d7              # double 91.859999999999999
	.quad	0x4064c66666666666              # double 166.19999999999999
	.quad	0x40356e147ae147ae              # double 21.43
	.quad	0x404828f5c28f5c29              # double 48.32
	.quad	0x4025800000000000              # double 10.75
	.quad	0x4042051eb851eb85              # double 36.039999999999999
	.quad	0x4051b33333333333              # double 70.799999999999997
	.quad	0x40617d70a3d70a3d              # double 139.91999999999999
	.quad	0x4055e7ae147ae148              # double 87.620000000000005
	.quad	0x4065b9eb851eb852              # double 173.81
	.quad	0x4042accccccccccd              # double 37.350000000000001
	.quad	0x4057d8f5c28f5c29              # double 95.39
	.quad	0x4052eeb851eb851f              # double 75.730000000000003
	.quad	0x406133851eb851ec              # double 137.61000000000001
	.quad	0x4056551eb851eb85              # double 89.329999999999998
	.quad	0x4061a8a3d70a3d71              # double 141.27000000000001
	.quad	0x402f1eb851eb851f              # double 15.56
	.quad	0x4051ba3d70a3d70a              # double 70.909999999999997
	.quad	0x4042a51eb851eb85              # double 37.289999999999999
	.quad	0x40580d70a3d70a3d              # double 96.209999999999993
	.quad	0x40362147ae147ae1              # double 22.129999999999999
	.quad	0x404f133333333333              # double 62.149999999999999
	.quad	0x40565f5c28f5c28f              # double 89.489999999999994
	.quad	0x4062bd1eb851eb85              # double 149.91
	.quad	0x404908f5c28f5c29              # double 50.07
	.quad	0x40587a3d70a3d70a              # double 97.909999999999996
	.quad	0x40504e147ae147ae              # double 65.219999999999999
	.quad	0x405eb851eb851eb8              # double 122.88
	.quad	0x404ff70a3d70a3d7              # double 63.93
	.quad	0x40605e147ae147ae              # double 130.94
	.quad	0x40579d70a3d70a3d              # double 94.459999999999993
	.quad	0x40650bd70a3d70a4              # double 168.37
	.quad	0x404368f5c28f5c29              # double 38.82
	.quad	0x40562147ae147ae1              # double 88.519999999999996
	.quad	0x4052b5c28f5c28f6              # double 74.840000000000003
	.quad	0x406349eb851eb852              # double 154.31
	.quad	0x404b0a3d70a3d70a              # double 54.079999999999998
	.quad	0x405aba3d70a3d70a              # double 106.91
	.quad	0x404f400000000000              # double 62.5
	.quad	0x4060bae147ae147b              # double 133.84
	.quad	0x4053500000000000              # double 77.25
	.quad	0x4060166666666666              # double 128.69999999999999
	.quad	0x403075c28f5c28f6              # double 16.460000000000001
	.quad	0x4050e8f5c28f5c29              # double 67.640000000000001
	.quad	0x40525ccccccccccd              # double 73.450000000000002
	.quad	0x4061775c28f5c28f              # double 139.72999999999999
	.quad	0x405199999999999a              # double 70.400000000000006
	.quad	0x40617851eb851eb8              # double 139.75999999999999
	.quad	0x40579c28f5c28f5c              # double 94.439999999999998
	.quad	0x406471eb851eb852              # double 163.56
	.quad	0x40587e147ae147ae              # double 97.969999999999998
	.quad	0x4065e66666666666              # double 175.19999999999999
	.quad	0x40409d70a3d70a3d              # double 33.229999999999997
	.quad	0x4056728f5c28f5c3              # double 89.790000000000006
	.quad	0x40546e147ae147ae              # double 81.719999999999999
	.quad	0x40624c28f5c28f5c              # double 146.38
	.quad	0x4012cccccccccccd              # double 4.7000000000000002
	.quad	0x40424f5c28f5c28f              # double 36.619999999999997
	.quad	0x4052ab851eb851ec              # double 74.680000000000007
	.quad	0x40629e6666666666              # double 148.94999999999999
	.quad	0x40522b851eb851ec              # double 72.680000000000007
	.quad	0x406199eb851eb852              # double 140.81
	.quad	0x4021bd70a3d70a3d              # double 8.8699999999999992
	.quad	0x4043c66666666666              # double 39.549999999999997
	.quad	0x405791eb851eb852              # double 94.280000000000001
	.quad	0x4066eeb851eb851f              # double 183.46000000000001
	.quad	0x403b28f5c28f5c29              # double 27.16
	.quad	0x40513f5c28f5c28f              # double 68.989999999999995
	.quad	0x4045947ae147ae14              # double 43.159999999999997
	.quad	0x405705c28f5c28f6              # double 92.090000000000003
	.quad	0x404abd70a3d70a3d              # double 53.479999999999997
	.quad	0x40595c28f5c28f5c              # double 101.44
	.quad	0x4049c8f5c28f5c29              # double 51.57
	.quad	0x405f000000000000              # double 124
	.quad	0x4052ff5c28f5c28f              # double 75.989999999999994
	.quad	0x40639c28f5c28f5c              # double 156.88
	.quad	0x40579a3d70a3d70a              # double 94.409999999999996
	.quad	0x4065c75c28f5c28f              # double 174.22999999999999
	.quad	0x40520ae147ae147b              # double 72.170000000000002
	.quad	0x40620b851eb851ec              # double 144.36000000000001
	.quad	0x4051dd70a3d70a3d              # double 71.459999999999994
	.quad	0x40607c28f5c28f5c              # double 131.88
	.quad	0x4045333333333333              # double 42.399999999999999
	.quad	0x40551a3d70a3d70a              # double 84.409999999999997
	.quad	0x404415c28f5c28f6              # double 40.170000000000002
	.quad	0x40573a3d70a3d70a              # double 92.909999999999996
	.quad	0x403be147ae147ae1              # double 27.879999999999999
	.quad	0x4056247ae147ae14              # double 88.569999999999993
	.quad	0x404887ae147ae148              # double 49.060000000000002
	.quad	0x4058633333333333              # double 97.549999999999997
	.quad	0x402db851eb851eb8              # double 14.859999999999999
	.quad	0x40487c28f5c28f5c              # double 48.969999999999999
	.quad	0x4052570a3d70a3d7              # double 73.359999999999999
	.quad	0x40619b851eb851ec              # double 140.86000000000001
	.quad	0x404ce3d70a3d70a4              # double 57.780000000000001
	.quad	0x405b070a3d70a3d7              # double 108.11
	.quad	0x405521eb851eb852              # double 84.530000000000001
	.quad	0x4063d51eb851eb85              # double 158.66
	.quad	0x4043228f5c28f5c3              # double 38.270000000000003
	.quad	0x405909999999999a              # double 100.15000000000001
	.quad	0x40297ae147ae147b              # double 12.74
	.quad	0x404beccccccccccd              # double 55.850000000000001
	.quad	0x402c70a3d70a3d71              # double 14.220000000000001
	.quad	0x404ed47ae147ae14              # double 61.659999999999997
	.quad	0x40507eb851eb851f              # double 65.980000000000004
	.quad	0x405e80a3d70a3d71              # double 122.01000000000001
	.quad	0x404fb0a3d70a3d71              # double 63.380000000000003
	.quad	0x4061f70a3d70a3d7              # double 143.72
	.quad	0x4042d70a3d70a3d7              # double 37.68
	.quad	0x4051ea3d70a3d70a              # double 71.659999999999997
	.quad	0x405331eb851eb852              # double 76.780000000000001
	.quad	0x405e9d70a3d70a3d              # double 122.45999999999999
	.quad	0x4052d1eb851eb852              # double 75.280000000000001
	.quad	0x4060b33333333333              # double 133.59999999999999
	.quad	0x40516e147ae147ae              # double 69.719999999999999
	.quad	0x4061e2e147ae147b              # double 143.09
	.quad	0x4016147ae147ae14              # double 5.5199999999999996
	.quad	0x404a347ae147ae14              # double 52.409999999999997
	.quad	0x4052966666666666              # double 74.349999999999994
	.quad	0x4061628f5c28f5c3              # double 139.08000000000001
	.quad	0x404dfeb851eb851f              # double 59.990000000000002
	.quad	0x405f70a3d70a3d71              # double 125.76000000000001
	.quad	0x405068f5c28f5c29              # double 65.640000000000001
	.quad	0x4060bbd70a3d70a4              # double 133.87
	.quad	0x404e08f5c28f5c29              # double 60.07
	.quad	0x405acd70a3d70a3d              # double 107.20999999999999
	.quad	0x404159999999999a              # double 34.700000000000003
	.quad	0x40557d70a3d70a3d              # double 85.959999999999993
	.quad	0x401270a3d70a3d71              # double 4.6100000000000003
	.quad	0x4038000000000000              # double 24
	.quad	0x4051ceb851eb851f              # double 71.230000000000004
	.quad	0x4061923d70a3d70a              # double 140.56999999999999
	.quad	0x404cdeb851eb851f              # double 57.740000000000002
	.quad	0x405e428f5c28f5c3              # double 121.04000000000001
	.quad	0x4010eb851eb851ec              # double 4.2300000000000004
	.quad	0x40350a3d70a3d70a              # double 21.039999999999999
	.quad	0x401528f5c28f5c29              # double 5.29
	.quad	0x404b10a3d70a3d71              # double 54.130000000000003
	.quad	0x403935c28f5c28f6              # double 25.210000000000001
	.quad	0x40546a3d70a3d70a              # double 81.659999999999997
	.quad	0x404c266666666666              # double 56.299999999999997
	.quad	0x405f29999999999a              # double 124.65000000000001
	.quad	0x404cb1eb851eb852              # double 57.390000000000001
	.quad	0x405d3f5c28f5c28f              # double 116.98999999999999
	.quad	0x40555d70a3d70a3d              # double 85.459999999999993
	.quad	0x4063475c28f5c28f              # double 154.22999999999999
	.quad	0x4055466666666666              # double 85.099999999999994
	.quad	0x406551eb851eb852              # double 170.56
	.quad	0x405578f5c28f5c29              # double 85.89
	.quad	0x40624e147ae147ae              # double 146.44
	.quad	0x4026800000000000              # double 11.25
	.quad	0x404fb851eb851eb8              # double 63.439999999999998
	.quad	0x4020947ae147ae14              # double 8.2899999999999991
	.quad	0x4044066666666666              # double 40.049999999999997
	.quad	0x4053ce147ae147ae              # double 79.219999999999999
	.quad	0x4060e00000000000              # double 135
	.quad	0x404dfae147ae147b              # double 59.960000000000001
	.quad	0x405ed851eb851eb8              # double 123.38
	.quad	0x40584c28f5c28f5c              # double 97.189999999999998
	.quad	0x4064728f5c28f5c3              # double 163.58000000000001
	.quad	0x404df5c28f5c28f6              # double 59.920000000000002
	.quad	0x405d09999999999a              # double 116.15000000000001
	.quad	0x401d70a3d70a3d71              # double 7.3600000000000003
	.quad	0x404a947ae147ae14              # double 53.159999999999997
	.quad	0x405568f5c28f5c29              # double 85.64
	.quad	0x4061e33333333333              # double 143.09999999999999
	.quad	0x4024f0a3d70a3d71              # double 10.470000000000001
	.quad	0x4044800000000000              # double 41
	.quad	0x4051966666666666              # double 70.349999999999994
	.quad	0x405f4851eb851eb8              # double 125.13
	.quad	0x4018147ae147ae14              # double 6.0199999999999996
	.quad	0x4049600000000000              # double 50.75
	.quad	0x40527ccccccccccd              # double 73.950000000000002
	.quad	0x4061623d70a3d70a              # double 139.06999999999999
	.quad	0x40547851eb851eb8              # double 81.879999999999995
	.quad	0x4062147ae147ae14              # double 144.63999999999999
	.quad	0x4045770a3d70a3d7              # double 42.93
	.quad	0x405a066666666666              # double 104.09999999999999
	.quad	0x40415ae147ae147b              # double 34.710000000000001
	.quad	0x4053066666666666              # double 76.099999999999994
	.quad	0x4016c28f5c28f5c3              # double 5.6900000000000004
	.quad	0x404a428f5c28f5c3              # double 52.520000000000003
	.quad	0x40484b851eb851ec              # double 48.590000000000003
	.quad	0x40550f5c28f5c28f              # double 84.239999999999994
	.quad	0x40480ccccccccccd              # double 48.100000000000001
	.quad	0x4057b0a3d70a3d71              # double 94.760000000000005
	.quad	0x403eb5c28f5c28f6              # double 30.710000000000001
	.quad	0x40560a3d70a3d70a              # double 88.159999999999997
	.quad	0x405123d70a3d70a4              # double 68.560000000000002
	.quad	0x40611f5c28f5c28f              # double 136.97999999999999
	.quad	0x403687ae147ae148              # double 22.530000000000001
	.quad	0x405353d70a3d70a4              # double 77.310000000000002
	.quad	0x4030f33333333333              # double 16.949999999999999
	.quad	0x404fdd70a3d70a3d              # double 63.729999999999997
	.quad	0x403b970a3d70a3d7              # double 27.59
	.quad	0x4050047ae147ae14              # double 64.069999999999993
	.quad	0x405048f5c28f5c29              # double 65.140000000000001
	.quad	0x405d80a3d70a3d71              # double 118.01000000000001
	.quad	0x4052f1eb851eb852              # double 75.780000000000001
	.quad	0x406248f5c28f5c29              # double 146.28
	.quad	0x4040ee147ae147ae              # double 33.859999999999999
	.quad	0x4056d28f5c28f5c3              # double 91.290000000000006
	.quad	0x4058bb851eb851ec              # double 98.930000000000007
	.quad	0x40657c7ae147ae14              # double 171.88999999999999
	.quad	0x4054e70a3d70a3d7              # double 83.609999999999999
	.quad	0x4064e2e147ae147b              # double 167.09
	.quad	0x405749999999999a              # double 93.150000000000005
	.quad	0x406493851eb851ec              # double 164.61000000000001
	.quad	0x40418a3d70a3d70a              # double 35.079999999999998
	.quad	0x4057eb851eb851ec              # double 95.680000000000007
	.quad	0x4054f28f5c28f5c3              # double 83.790000000000006
	.quad	0x4062aeb851eb851f              # double 149.46000000000001
	.quad	0x404a03d70a3d70a4              # double 52.030000000000001
	.quad	0x405dc28f5c28f5c3              # double 119.04000000000001
	.quad	0x4037a3d70a3d70a4              # double 23.640000000000001
	.quad	0x40555ae147ae147b              # double 85.420000000000001
	.quad	0x40323851eb851eb8              # double 18.219999999999999
	.quad	0x404caf5c28f5c28f              # double 57.369999999999997
	.quad	0x405283d70a3d70a4              # double 74.060000000000002
	.quad	0x40615fae147ae148              # double 138.99000000000001
	.quad	0x4049200000000000              # double 50.25
	.quad	0x40551d70a3d70a3d              # double 84.459999999999993
	.quad	0x40355eb851eb851f              # double 21.370000000000001
	.quad	0x405085c28f5c28f6              # double 66.090000000000003
	.quad	0x404e933333333333              # double 61.149999999999999
	.quad	0x406139eb851eb852              # double 137.81
	.quad	0x4058e70a3d70a3d7              # double 99.609999999999999
	.quad	0x406447ae147ae148              # double 162.24000000000001
	.quad	0x40583ccccccccccd              # double 96.950000000000002
	.quad	0x4065accccccccccd              # double 173.40000000000001
	.quad	0x4045866666666666              # double 43.049999999999997
	.quad	0x4057eae147ae147b              # double 95.670000000000001
	.quad	0x405651eb851eb852              # double 89.280000000000001
	.quad	0x406475c28f5c28f6              # double 163.68000000000001
	.quad	0x4053ff5c28f5c28f              # double 79.989999999999994
	.quad	0x4063cf0a3d70a3d7              # double 158.47
	.quad	0x404dd851eb851eb8              # double 59.689999999999998
	.quad	0x406051999999999a              # double 130.55000000000001
	.quad	0x3fe0a3d70a3d70a4              # double 0.52000000000000002
	.quad	0x404308f5c28f5c29              # double 38.07
	.quad	0x4048e28f5c28f5c3              # double 49.770000000000003
	.quad	0x405be147ae147ae1              # double 111.52
	.quad	0x4056500000000000              # double 89.25
	.quad	0x40648d1eb851eb85              # double 164.41
	.quad	0x4039eb851eb851ec              # double 25.920000000000002
	.quad	0x404cae147ae147ae              # double 57.359999999999999
	.quad	0x40547ae147ae147b              # double 81.920000000000001
	.quad	0x40631570a3d70a3d              # double 152.66999999999999
	.quad	0x404eb1eb851eb852              # double 61.390000000000001
	.quad	0x405f6851eb851eb8              # double 125.63
	.quad	0x403d170a3d70a3d7              # double 29.09
	.quad	0x404ce28f5c28f5c3              # double 57.770000000000003
	.quad	0x40374f5c28f5c28f              # double 23.309999999999999
	.quad	0x405457ae147ae148              # double 81.370000000000005
	.quad	0x404c6f5c28f5c28f              # double 56.869999999999997
	.quad	0x405e370a3d70a3d7              # double 120.86
	.quad	0x4052a5c28f5c28f6              # double 74.590000000000003
	.quad	0x4061dc28f5c28f5c              # double 142.88
	.quad	0x402799999999999a              # double 11.800000000000001
	.quad	0x4045533333333333              # double 42.649999999999999
	.quad	0x4040d1eb851eb852              # double 33.640000000000001
	.quad	0x4059733333333333              # double 101.8
	.quad	0x4058df5c28f5c28f              # double 99.489999999999994
	.quad	0x406719999999999a              # double 184.80000000000001
	.quad	0x3ffd99999999999a              # double 1.8500000000000001
	.quad	0x4040d9999999999a              # double 33.700000000000003
	.quad	0x40563f5c28f5c28f              # double 88.989999999999994
	.quad	0x406315c28f5c28f6              # double 152.68000000000001
	.quad	0x4056beb851eb851f              # double 90.980000000000003
	.quad	0x40674e6666666666              # double 186.44999999999999
	.quad	0x404d9d70a3d70a3d              # double 59.229999999999997
	.quad	0x40610570a3d70a3d              # double 136.16999999999999
	.quad	0x4047dd70a3d70a3d              # double 47.729999999999997
	.quad	0x405e2d70a3d70a3d              # double 120.70999999999999
	.quad	0x405568f5c28f5c29              # double 85.64
	.quad	0x4063c9999999999a              # double 158.30000000000001
	.quad	0x403e68f5c28f5c29              # double 30.41
	.quad	0x40521147ae147ae1              # double 72.269999999999996
	.quad	0x4034051eb851eb85              # double 20.02
	.quad	0x4050ceb851eb851f              # double 67.230000000000004
	.quad	0x40510eb851eb851f              # double 68.230000000000004
	.quad	0x40628c7ae147ae14              # double 148.38999999999999
	.quad	0x402fa3d70a3d70a4              # double 15.82
	.quad	0x4046b5c28f5c28f6              # double 45.420000000000002
	.quad	0x4054128f5c28f5c3              # double 80.290000000000006
	.quad	0x4062ac28f5c28f5c              # double 149.38
	.quad	0x404df851eb851eb8              # double 59.939999999999998
	.quad	0x405ee70a3d70a3d7              # double 123.61
	.quad	0x4057347ae147ae14              # double 92.819999999999993
	.quad	0x4063eae147ae147b              # double 159.34
	.quad	0x404d91eb851eb852              # double 59.140000000000001
	.quad	0x406017ae147ae148              # double 128.74000000000001
	.quad	0x403959999999999a              # double 25.350000000000001
	.quad	0x40535ccccccccccd              # double 77.450000000000002
	.quad	0x4051e8f5c28f5c29              # double 71.640000000000001
	.quad	0x40623051eb851eb8              # double 145.50999999999999
	.quad	0x4033f851eb851eb8              # double 19.969999999999999
	.quad	0x4051a51eb851eb85              # double 70.579999999999998
	.quad	0x4056428f5c28f5c3              # double 89.040000000000006
	.quad	0x4065647ae147ae14              # double 171.13999999999999
	.quad	0x404ab70a3d70a3d7              # double 53.43
	.quad	0x4058e0a3d70a3d71              # double 99.510000000000005
	.quad	0x4050f5c28f5c28f6              # double 67.840000000000003
	.quad	0x40603a8f5c28f5c3              # double 129.83000000000001
	.quad	0x404b6147ae147ae1              # double 54.759999999999998
	.quad	0x405acb851eb851ec              # double 107.18000000000001
	.quad	0x402ee66666666666              # double 15.449999999999999
	.quad	0x40463d70a3d70a3d              # double 44.479999999999997
	.quad	0x4044deb851eb851f              # double 41.740000000000002
	.quad	0x4058770a3d70a3d7              # double 97.859999999999999
	.quad	0x403eae147ae147ae              # double 30.68
	.quad	0x40564e147ae147ae              # double 89.219999999999999
	.quad	0x40512d70a3d70a3d              # double 68.709999999999994
	.quad	0x406033851eb851ec              # double 129.61000000000001
	.quad	0x4053251eb851eb85              # double 76.579999999999998
	.quad	0x405f4d70a3d70a3d              # double 125.20999999999999
	.quad	0x40503d70a3d70a3d              # double 64.959999999999994
	.quad	0x406038a3d70a3d71              # double 129.77000000000001
	.quad	0x4047dd70a3d70a3d              # double 47.729999999999997
	.quad	0x4059866666666666              # double 102.09999999999999
	.quad	0x4057233333333333              # double 92.549999999999997
	.quad	0x40653e6666666666              # double 169.94999999999999
	.quad	0x40546147ae147ae1              # double 81.519999999999996
	.quad	0x406420a3d70a3d71              # double 161.02000000000001
	.quad	0x4049accccccccccd              # double 51.350000000000001
	.quad	0x405a61eb851eb852              # double 105.53
	.quad	0x404c43d70a3d70a4              # double 56.530000000000001
	.quad	0x405ee51eb851eb85              # double 123.58
	.quad	0x4049c147ae147ae1              # double 51.509999999999998
	.quad	0x4057e7ae147ae148              # double 95.620000000000005
	.quad	0x404d8147ae147ae1              # double 59.009999999999998
	.quad	0x405f25c28f5c28f6              # double 124.59
	.quad	0x40304a3d70a3d70a              # double 16.289999999999999
	.quad	0x404fa51eb851eb85              # double 63.289999999999999
	.quad	0x404a6a3d70a3d70a              # double 52.829999999999998
	.quad	0x405e0a3d70a3d70a              # double 120.16
	.quad	0x40586b851eb851ec              # double 97.680000000000007
	.quad	0x40671851eb851eb8              # double 184.75999999999999
	.quad	0x40476a3d70a3d70a              # double 46.829999999999998
	.quad	0x405ab0a3d70a3d71              # double 106.76000000000001
	.quad	0x3f947ae147ae147b              # double 0.02
	.quad	0x4049970a3d70a3d7              # double 51.18
	.quad	0x403ac28f5c28f5c3              # double 26.760000000000002
	.quad	0x4054228f5c28f5c3              # double 80.540000000000006
	.quad	0x4007851eb851eb85              # double 2.9399999999999999
	.quad	0x404070a3d70a3d71              # double 32.880000000000003
	.quad	0x4055c66666666666              # double 87.099999999999994
	.quad	0x4063a570a3d70a3d              # double 157.16999999999999
	.quad	0x4042733333333333              # double 36.899999999999999
	.quad	0x4051cccccccccccd              # double 71.200000000000003
	.quad	0x404f6b851eb851ec              # double 62.840000000000003
	.quad	0x405b38f5c28f5c29              # double 108.89
	.quad	0x4030deb851eb851f              # double 16.870000000000001
	.quad	0x4050b7ae147ae148              # double 66.870000000000005
	.quad	0x40141eb851eb851f              # double 5.0300000000000002
	.quad	0x40446b851eb851ec              # double 40.840000000000003
	.quad	0x4045b9999999999a              # double 43.450000000000003
	.quad	0x405b0a3d70a3d70a              # double 108.16
	.quad	0x4043051eb851eb85              # double 38.039999999999999
	.quad	0x4052d8f5c28f5c29              # double 75.39
	.quad	0x40533147ae147ae1              # double 76.769999999999996
	.quad	0x4062dc28f5c28f5c              # double 150.88
	.quad	0x4052a66666666666              # double 74.599999999999994
	.quad	0x4061747ae147ae14              # double 139.63999999999999
	.quad	0x40440f5c28f5c28f              # double 40.119999999999997
	.quad	0x4056c9999999999a              # double 91.150000000000006
	.quad	0x404887ae147ae148              # double 49.060000000000002
	.quad	0x405935c28f5c28f6              # double 100.84
	.quad	0x4057bccccccccccd              # double 94.950000000000002
	.quad	0x406715c28f5c28f6              # double 184.68000000000001
	.quad	0x405293d70a3d70a4              # double 74.310000000000002
	.quad	0x4060cc28f5c28f5c              # double 134.38
	.quad	0x404b4a3d70a3d70a              # double 54.579999999999998
	.quad	0x406034cccccccccd              # double 129.65000000000001
	.quad	0x4055bccccccccccd              # double 86.950000000000002
	.quad	0x406401999999999a              # double 160.05000000000001
	.quad	0x404bd851eb851eb8              # double 55.689999999999998
	.quad	0x405e2ae147ae147b              # double 120.67
	.quad	0x40363d70a3d70a3d              # double 22.239999999999998
	.quad	0x404c2ccccccccccd              # double 56.350000000000001
	.quad	0x404390a3d70a3d71              # double 39.130000000000003
	.quad	0x40569851eb851eb8              # double 90.379999999999995
	.quad	0x404e48f5c28f5c29              # double 60.57
	.quad	0x40606d70a3d70a3d              # double 131.41999999999999
	.quad	0x40324ccccccccccd              # double 18.300000000000001
	.quad	0x404af47ae147ae14              # double 53.909999999999997
	.quad	0x404328f5c28f5c29              # double 38.32
	.quad	0x4057ceb851eb851f              # double 95.230000000000003
	.quad	0x404bfd70a3d70a3d              # double 55.979999999999997
	.quad	0x405ead70a3d70a3d              # double 122.70999999999999
	.quad	0x402a1eb851eb851f              # double 13.06
	.quad	0x404a2147ae147ae1              # double 52.259999999999998
	.quad	0x404315c28f5c28f6              # double 38.170000000000002
	.quad	0x4056a1eb851eb852              # double 90.530000000000001
	.quad	0x4057e5c28f5c28f6              # double 95.590000000000003
	.quad	0x4065147ae147ae14              # double 168.63999999999999
	.quad	0x40329eb851eb851f              # double 18.620000000000001
	.quad	0x404ef47ae147ae14              # double 61.909999999999997
	.quad	0x4056fd70a3d70a3d              # double 91.959999999999993
	.quad	0x406618f5c28f5c29              # double 176.78
	.quad	0x4035b33333333333              # double 21.699999999999999
	.quad	0x404f851eb851eb85              # double 63.039999999999999
	.quad	0x4054500000000000              # double 81.25
	.quad	0x40631ccccccccccd              # double 152.90000000000001
	.quad	0x404550a3d70a3d71              # double 42.630000000000003
	.quad	0x40546c28f5c28f5c              # double 81.689999999999998
	.quad	0x4051b0a3d70a3d71              # double 70.760000000000005
	.quad	0x40612570a3d70a3d              # double 137.16999999999999
	.quad	0x4026ae147ae147ae              # double 11.34
	.quad	0x4049deb851eb851f              # double 51.740000000000002
	.quad	0x402a19999999999a              # double 13.050000000000001
	.quad	0x4043fae147ae147b              # double 39.960000000000001
	.quad	0x4048651eb851eb85              # double 48.789999999999999
	.quad	0x405bbae147ae147b              # double 110.92
	.quad	0x4055b851eb851eb8              # double 86.879999999999995
	.quad	0x4063b9999999999a              # double 157.80000000000001
	.quad	0x403b800000000000              # double 27.5
	.quad	0x40533c28f5c28f5c              # double 76.939999999999998
	.quad	0x40563147ae147ae1              # double 88.769999999999996
	.quad	0x4062ae6666666666              # double 149.44999999999999
	.quad	0x405003d70a3d70a4              # double 64.060000000000002
	.quad	0x405da5c28f5c28f6              # double 118.59
	.quad	0x40555147ae147ae1              # double 85.269999999999996
	.quad	0x4062675c28f5c28f              # double 147.22999999999999
	.quad	0x40547eb851eb851f              # double 81.980000000000003
	.quad	0x4061f0a3d70a3d71              # double 143.52000000000001
	.quad	0x4055251eb851eb85              # double 84.579999999999998
	.quad	0x40639c7ae147ae14              # double 156.88999999999999
	.quad	0x4058b8f5c28f5c29              # double 98.89
	.quad	0x4065c0f5c28f5c29              # double 174.03
	.quad	0x40417eb851eb851f              # double 34.990000000000002
	.quad	0x4054933333333333              # double 82.299999999999997
	.quad	0x40572eb851eb851f              # double 92.730000000000003
	.quad	0x40659a3d70a3d70a              # double 172.81999999999999
	.quad	0x3fe8000000000000              # double 0.75
	.quad	0x4041f47ae147ae14              # double 35.909999999999997
	.quad	0x40213851eb851eb8              # double 8.6099999999999994
	.quad	0x404a200000000000              # double 52.25
	.quad	0x403319999999999a              # double 19.100000000000001
	.quad	0x404abeb851eb851f              # double 53.490000000000002
	.quad	0x4044b5c28f5c28f6              # double 41.420000000000002
	.quad	0x405a8e147ae147ae              # double 106.22
	.quad	0x4047f1eb851eb852              # double 47.890000000000001
	.quad	0x405a928f5c28f5c3              # double 106.29000000000001
	.quad	0x4054f66666666666              # double 83.849999999999994
	.quad	0x40629d70a3d70a3d              # double 148.91999999999999
	.quad	0x4037deb851eb851f              # double 23.870000000000001
	.quad	0x404ce147ae147ae1              # double 57.759999999999998
	.quad	0x4056228f5c28f5c3              # double 88.540000000000006
	.quad	0x4064accccccccccd              # double 165.40000000000001
	.quad	0x4057a66666666666              # double 94.599999999999994
	.quad	0x4065b9999999999a              # double 173.80000000000001
	.quad	0x40338f5c28f5c28f              # double 19.559999999999999
	.quad	0x40512eb851eb851f              # double 68.730000000000004
	.quad	0x404b3d70a3d70a3d              # double 54.479999999999997
	.quad	0x405e3b851eb851ec              # double 120.93000000000001
	.quad	0x4050f66666666666              # double 67.849999999999994
	.quad	0x405dc147ae147ae1              # double 119.02
	.quad	0x4038451eb851eb85              # double 24.27
	.quad	0x4052bae147ae147b              # double 74.920000000000001
	.quad	0x40538b851eb851ec              # double 78.180000000000007
	.quad	0x4063f5c28f5c28f6              # double 159.68000000000001
	.quad	0x404983d70a3d70a4              # double 51.030000000000001
	.quad	0x405b7ae147ae147b              # double 109.92
	.quad	0x4040b5c28f5c28f6              # double 33.420000000000002
	.quad	0x4058a70a3d70a3d7              # double 98.609999999999999
	.quad	0x40536c28f5c28f5c              # double 77.689999999999998
	.quad	0x4061133333333333              # double 136.59999999999999
	.quad	0x40447c28f5c28f5c              # double 40.969999999999999
	.quad	0x40553b851eb851ec              # double 84.930000000000007
	.quad	0x4013000000000000              # double 4.75
	.quad	0x4043eccccccccccd              # double 39.850000000000001
	.quad	0x4039028f5c28f5c3              # double 25.010000000000002
	.quad	0x4055e1eb851eb852              # double 87.530000000000001
	.quad	0x40270a3d70a3d70a              # double 11.52
	.quad	0x405129999999999a              # double 68.650000000000006
	.quad	0x4041333333333333              # double 34.399999999999999
	.quad	0x405380a3d70a3d71              # double 78.010000000000005
	.quad	0x402b947ae147ae14              # double 13.789999999999999
	.quad	0x4050747ae147ae14              # double 65.819999999999993
	.quad	0x4019147ae147ae14              # double 6.2699999999999996
	.quad	0x404c1ae147ae147b              # double 56.210000000000001
	.quad	0x4046000000000000              # double 44
	.quad	0x4059ed70a3d70a3d              # double 103.70999999999999
	.quad	0x4054d0a3d70a3d71              # double 83.260000000000005
	.quad	0x4061eae147ae147b              # double 143.34
	.quad	0x4048f0a3d70a3d71              # double 49.880000000000003
	.quad	0x40595a3d70a3d70a              # double 101.41
	.quad	0x4052433333333333              # double 73.049999999999997
	.quad	0x40619bd70a3d70a4              # double 140.87
	.quad	0x404a0f5c28f5c28f              # double 52.119999999999997
	.quad	0x405a3147ae147ae1              # double 104.77
	.quad	0x40509851eb851eb8              # double 66.379999999999995
	.quad	0x405e7b851eb851ec              # double 121.93000000000001
	.quad	0x4055dae147ae147b              # double 87.420000000000001
	.quad	0x4064c947ae147ae1              # double 166.28999999999999
	.quad	0x4008a3d70a3d70a4              # double 3.0800000000000001
	.quad	0x4045b33333333333              # double 43.399999999999999
	.quad	0x405855c28f5c28f6              # double 97.340000000000003
	.quad	0x406537ae147ae148              # double 169.74000000000001
	.quad	0x403fab851eb851ec              # double 31.670000000000002
	.quad	0x405457ae147ae148              # double 81.370000000000005
	.quad	0x4050a5c28f5c28f6              # double 66.590000000000003
	.quad	0x40618c28f5c28f5c              # double 140.38
	.quad	0x40469ae147ae147b              # double 45.210000000000001
	.quad	0x4059b7ae147ae148              # double 102.87
	.quad	0x4044f33333333333              # double 41.899999999999999
	.quad	0x4056328f5c28f5c3              # double 88.790000000000006
	.quad	0x405311eb851eb852              # double 76.280000000000001
	.quad	0x40614f5c28f5c28f              # double 138.47999999999999
	.quad	0x3ff91eb851eb851f              # double 1.5700000000000001
	.quad	0x40439d70a3d70a3d              # double 39.229999999999997
	.quad	0x4045200000000000              # double 42.25
	.quad	0x4059cd70a3d70a3d              # double 103.20999999999999
	.quad	0x4045f33333333333              # double 43.899999999999999
	.quad	0x405d3a3d70a3d70a              # double 116.91
	.quad	0x400deb851eb851ec              # double 3.7400000000000002
	.quad	0x40402147ae147ae1              # double 32.259999999999998
	.quad	0x4017666666666666              # double 5.8499999999999996
	.quad	0x404719999999999a              # double 46.200000000000003
	.quad	0x40283d70a3d70a3d              # double 12.119999999999999
	.quad	0x4049800000000000              # double 51
	.quad	0x40582c28f5c28f5c              # double 96.689999999999998
	.quad	0x40649851eb851eb8              # double 164.75999999999999
	.quad	0x4025ae147ae147ae              # double 10.84
	.quad	0x4043533333333333              # double 38.649999999999999
	.quad	0x404f933333333333              # double 63.149999999999999
	.quad	0x405e45c28f5c28f6              # double 121.09
	.quad	0x404f466666666666              # double 62.549999999999997
	.quad	0x405cd3d70a3d70a4              # double 115.31
	.quad	0x404550a3d70a3d71              # double 42.630000000000003
	.quad	0x4055de147ae147ae              # double 87.469999999999999
	.quad	0x403cdeb851eb851f              # double 28.870000000000001
	.quad	0x405378f5c28f5c29              # double 77.89
	.quad	0x40442a3d70a3d70a              # double 40.329999999999998
	.quad	0x4059f28f5c28f5c3              # double 103.79000000000001
	.quad	0x404b0b851eb851ec              # double 54.090000000000003
	.quad	0x405e5a3d70a3d70a              # double 121.41
	.quad	0x403235c28f5c28f6              # double 18.210000000000001
	.quad	0x4050628f5c28f5c3              # double 65.540000000000006
	.quad	0x4016b851eb851eb8              # double 5.6799999999999997
	.quad	0x405150a3d70a3d71              # double 69.260000000000005
	.quad	0x4055747ae147ae14              # double 85.819999999999993
	.quad	0x40610428f5c28f5c              # double 136.13
	.quad	0x40316147ae147ae1              # double 17.379999999999999
	.quad	0x404f6147ae147ae1              # double 62.759999999999998
	.quad	0x4054633333333333              # double 81.549999999999997
	.quad	0x4063528f5c28f5c3              # double 154.58000000000001
	.quad	0x4053766666666666              # double 77.849999999999994
	.quad	0x40646e6666666666              # double 163.44999999999999
	.quad	0x4055151eb851eb85              # double 84.329999999999998
	.quad	0x4064666666666666              # double 163.19999999999999
	.quad	0x4034b33333333333              # double 20.699999999999999
	.quad	0x404cc28f5c28f5c3              # double 57.520000000000003
	.quad	0x40552eb851eb851f              # double 84.730000000000003
	.quad	0x4065b70a3d70a3d7              # double 173.72
	.quad	0x40558ae147ae147b              # double 86.170000000000001
	.quad	0x4064fa8f5c28f5c3              # double 167.83000000000001
	.quad	0x402575c28f5c28f6              # double 10.73
	.quad	0x4047051eb851eb85              # double 46.039999999999999
	.quad	0x4051f51eb851eb85              # double 71.829999999999998
	.quad	0x4062f6147ae147ae              # double 151.69
	.quad	0x403d07ae147ae148              # double 29.030000000000001
	.quad	0x405559999999999a              # double 85.400000000000006
	.quad	0x4050b851eb851eb8              # double 66.879999999999995
	.quad	0x4061b75c28f5c28f              # double 141.72999999999999
	.quad	0x40588851eb851eb8              # double 98.129999999999995
	.quad	0x40662c28f5c28f5c              # double 177.38
	.quad	0x403e851eb851eb85              # double 30.52
	.quad	0x40532e147ae147ae              # double 76.719999999999999
	.quad	0x4052eae147ae147b              # double 75.670000000000001
	.quad	0x4060c6b851eb851f              # double 134.21000000000001
	.quad	0x40412ccccccccccd              # double 34.350000000000001
	.quad	0x405343d70a3d70a4              # double 77.060000000000002
	.quad	0x40567c28f5c28f5c              # double 89.939999999999998
	.quad	0x4066ae147ae147ae              # double 181.44
	.quad	0x4057e1eb851eb852              # double 95.530000000000001
	.quad	0x4066123d70a3d70a              # double 176.56999999999999
	.quad	0x4039333333333333              # double 25.199999999999999
	.quad	0x40532ae147ae147b              # double 76.670000000000001
	.quad	0x4044228f5c28f5c3              # double 40.270000000000003
	.quad	0x4058db851eb851ec              # double 99.430000000000007
	.quad	0x4040ca3d70a3d70a              # double 33.579999999999998
	.quad	0x405537ae147ae148              # double 84.870000000000005
	.quad	0x404fcccccccccccd              # double 63.600000000000001
	.quad	0x406006b851eb851f              # double 128.21000000000001
	.quad	0x40568f5c28f5c28f              # double 90.239999999999994
	.quad	0x4065b0f5c28f5c29              # double 173.53
	.quad	0x4051b3d70a3d70a4              # double 70.810000000000002
	.quad	0x406238a3d70a3d71              # double 145.77000000000001
	.quad	0x405079999999999a              # double 65.900000000000006
	.quad	0x405e866666666666              # double 122.09999999999999
	.quad	0x40143d70a3d70a3d              # double 5.0599999999999996
	.quad	0x404290a3d70a3d71              # double 37.130000000000003
	.quad	0x40522d70a3d70a3d              # double 72.709999999999994
	.quad	0x4060933333333333              # double 132.59999999999999
	.quad	0x402df5c28f5c28f6              # double 14.98
	.quad	0x4052866666666666              # double 74.099999999999994
	.quad	0x4039ab851eb851ec              # double 25.670000000000002
	.quad	0x40542c28f5c28f5c              # double 80.689999999999998
	.quad	0x4040051eb851eb85              # double 32.039999999999999
	.quad	0x405711eb851eb852              # double 92.280000000000001
	.quad	0x4042fc28f5c28f5c              # double 37.969999999999999
	.quad	0x4055f5c28f5c28f6              # double 87.840000000000003
	.quad	0x4047bc28f5c28f5c              # double 47.469999999999999
	.quad	0x4057600000000000              # double 93.5
	.quad	0x40569a3d70a3d70a              # double 90.409999999999997
	.quad	0x406344cccccccccd              # double 154.15000000000001
	.quad	0x401eb851eb851eb8              # double 7.6799999999999997
	.quad	0x4046f70a3d70a3d7              # double 45.93
	.quad	0x40505c28f5c28f5c              # double 65.439999999999998
	.quad	0x405ed1eb851eb852              # double 123.28
	.quad	0x4040fae147ae147b              # double 33.960000000000001
	.quad	0x405308f5c28f5c29              # double 76.14
	.quad	0x4053f00000000000              # double 79.75
	.quad	0x406344cccccccccd              # double 154.15000000000001
	.quad	0x40522f5c28f5c28f              # double 72.739999999999995
	.quad	0x406421999999999a              # double 161.05000000000001
	.quad	0x4051751eb851eb85              # double 69.829999999999998
	.quad	0x4060f47ae147ae14              # double 135.63999999999999
	.quad	0x403d2147ae147ae1              # double 29.129999999999999
	.quad	0x4052b851eb851eb8              # double 74.879999999999995
	.quad	0x4054447ae147ae14              # double 81.069999999999993
	.quad	0x4063075c28f5c28f              # double 152.22999999999999
	.quad	0x4022c7ae147ae148              # double 9.3900000000000005
	.quad	0x404cb9999999999a              # double 57.450000000000003
	.quad	0x404b23d70a3d70a4              # double 54.280000000000001
	.quad	0x405cd66666666666              # double 115.34999999999999
	.quad	0x404d133333333333              # double 58.149999999999999
	.quad	0x405ddae147ae147b              # double 119.42
	.quad	0x4047ef5c28f5c28f              # double 47.869999999999997
	.quad	0x4057e47ae147ae14              # double 95.569999999999993
	.quad	0x403d333333333333              # double 29.199999999999999
	.quad	0x4051da3d70a3d70a              # double 71.409999999999997
	.quad	0x4037d70a3d70a3d7              # double 23.84
	.quad	0x404c451eb851eb85              # double 56.539999999999999
	.quad	0x40514851eb851eb8              # double 69.129999999999995
	.quad	0x40609b851eb851ec              # double 132.86000000000001
	.quad	0x4023d70a3d70a3d7              # double 9.9199999999999999
	.quad	0x404c8147ae147ae1              # double 57.009999999999998
	.quad	0x4055151eb851eb85              # double 84.329999999999998
	.quad	0x406253851eb851ec              # double 146.61000000000001
	.quad	0x4051700000000000              # double 69.75
	.quad	0x4060dae147ae147b              # double 134.84
	.quad	0x404faa3d70a3d70a              # double 63.329999999999998
	.quad	0x405fc70a3d70a3d7              # double 127.11
	.quad	0x4049266666666666              # double 50.299999999999997
	.quad	0x40597d70a3d70a3d              # double 101.95999999999999
	.quad	0x401db851eb851eb8              # double 7.4299999999999997
	.quad	0x40362e147ae147ae              # double 22.18
	.quad	0x4035147ae147ae14              # double 21.079999999999998
	.quad	0x404d251eb851eb85              # double 58.289999999999999
	.quad	0x404fb5c28f5c28f6              # double 63.420000000000002
	.quad	0x405883d70a3d70a4              # double 98.060000000000002
	.quad	0x401828f5c28f5c29              # double 6.04
	.quad	0x4049e00000000000              # double 51.75
	.quad	0x4056333333333333              # double 88.799999999999997
	.quad	0x4060d2e147ae147b              # double 134.59
	.quad	0x402523d70a3d70a4              # double 10.57
	.quad	0x404868f5c28f5c29              # double 48.82
	.quad	0x402db851eb851eb8              # double 14.859999999999999
	.quad	0x404dca3d70a3d70a              # double 59.579999999999998
	.quad	0x404363d70a3d70a4              # double 38.780000000000001
	.quad	0x405669999999999a              # double 89.650000000000006
	.quad	0x4021333333333333              # double 8.5999999999999996
	.quad	0x404fdc28f5c28f5c              # double 63.719999999999999
	.quad	0x4008666666666666              # double 3.0499999999999998
	.quad	0x4048c66666666666              # double 49.549999999999997
	.quad	0x4053e8f5c28f5c29              # double 79.64
	.quad	0x40618ccccccccccd              # double 140.40000000000001
	.quad	0x404edeb851eb851f              # double 61.740000000000002
	.quad	0x405c800000000000              # double 114
	.quad	0x4047c147ae147ae1              # double 47.509999999999998
	.quad	0x405b85c28f5c28f6              # double 110.09
	.quad	0x4042828f5c28f5c3              # double 37.020000000000003
	.quad	0x4054d8f5c28f5c29              # double 83.39
	.quad	0x403651eb851eb852              # double 22.32
	.quad	0x40539851eb851eb8              # double 78.379999999999995
	.quad	0x4025d1eb851eb852              # double 10.91
	.quad	0x404ab1eb851eb852              # double 53.390000000000001
	.quad	0x405859999999999a              # double 97.400000000000005
	.quad	0x40678e147ae147ae              # double 188.44
	.quad	0x405873d70a3d70a4              # double 97.810000000000002
	.quad	0x40680b851eb851ec              # double 192.36000000000001
	.quad	0x40471d70a3d70a3d              # double 46.229999999999997
	.quad	0x4059000000000000              # double 100
	.quad	0x40552b851eb851ec              # double 84.680000000000007
	.quad	0x406417ae147ae148              # double 160.74000000000001
	.quad	0x404c2ccccccccccd              # double 56.350000000000001
	.quad	0x4059de147ae147ae              # double 103.47
	.quad	0x4055f851eb851eb8              # double 87.879999999999995
	.quad	0x40629147ae147ae1              # double 148.53999999999999
	.quad	0x4026f0a3d70a3d71              # double 11.470000000000001
	.quad	0x40482b851eb851ec              # double 48.340000000000003
	.quad	0x40529c28f5c28f5c              # double 74.439999999999998
	.quad	0x40637947ae147ae1              # double 155.78999999999999
	.quad	0x40380a3d70a3d70a              # double 24.039999999999999
	.quad	0x40534f5c28f5c28f              # double 77.239999999999994
	.quad	0x40557ae147ae147b              # double 85.920000000000001
	.quad	0x40638a3d70a3d70a              # double 156.31999999999999
	.quad	0x4057de147ae147ae              # double 95.469999999999998
	.quad	0x4064c75c28f5c28f              # double 166.22999999999999
	.quad	0x40494147ae147ae1              # double 50.509999999999998
	.quad	0x4058f66666666666              # double 99.849999999999994
	.quad	0x4053e70a3d70a3d7              # double 79.609999999999999
	.quad	0x4062cd1eb851eb85              # double 150.41
	.quad	0x404c533333333333              # double 56.649999999999999
	.quad	0x405fb851eb851eb8              # double 126.88
	.quad	0x40245c28f5c28f5c              # double 10.18
	.quad	0x40476a3d70a3d70a              # double 46.829999999999998
	.quad	0x4057870a3d70a3d7              # double 94.109999999999999
	.quad	0x4064b75c28f5c28f              # double 165.72999999999999
	.quad	0x4030d70a3d70a3d7              # double 16.84
	.quad	0x4051347ae147ae14              # double 68.819999999999993
	.quad	0x3ff51eb851eb851f              # double 1.3200000000000001
	.quad	0x404a970a3d70a3d7              # double 53.18
	.quad	0x40419eb851eb851f              # double 35.240000000000002
	.quad	0x4054b66666666666              # double 82.849999999999994
	.quad	0x4053200000000000              # double 76.5
	.quad	0x4060bf0a3d70a3d7              # double 133.97
	.quad	0x4048d9999999999a              # double 49.700000000000003
	.quad	0x405cf1eb851eb852              # double 115.78
	.quad	0x4055251eb851eb85              # double 84.579999999999998
	.quad	0x40635c7ae147ae14              # double 154.88999999999999
	.quad	0x4004a3d70a3d70a4              # double 2.5800000000000001
	.quad	0x404b7ae147ae147b              # double 54.960000000000001
	.quad	0x403c0ccccccccccd              # double 28.050000000000001
	.quad	0x404c70a3d70a3d71              # double 56.880000000000003
	.quad	0x4043a28f5c28f5c3              # double 39.270000000000003
	.quad	0x40552ae147ae147b              # double 84.670000000000001
	.quad	0x3ff428f5c28f5c29              # double 1.26
	.quad	0x403aca3d70a3d70a              # double 26.789999999999999
	.quad	0x4042b9999999999a              # double 37.450000000000003
	.quad	0x4054551eb851eb85              # double 81.329999999999998
	.quad	0x403a028f5c28f5c3              # double 26.010000000000002
	.quad	0x4054c47ae147ae14              # double 83.069999999999993
	.quad	0x4052151eb851eb85              # double 72.329999999999998
	.quad	0x406177ae147ae148              # double 139.74000000000001
	.quad	0x4021d70a3d70a3d7              # double 8.9199999999999999
	.quad	0x404eaa3d70a3d70a              # double 61.329999999999998
	.quad	0x4057cd70a3d70a3d              # double 95.209999999999993
	.quad	0x4067775c28f5c28f              # double 187.72999999999999
	.quad	0x4029eb851eb851ec              # double 12.960000000000001
	.quad	0x404cd70a3d70a3d7              # double 57.68
	.quad	0x4047f5c28f5c28f6              # double 47.920000000000002
	.quad	0x4058db851eb851ec              # double 99.430000000000007
	.quad	0x4034170a3d70a3d7              # double 20.09
	.quad	0x4047e00000000000              # double 47.75
	.quad	0x4052951eb851eb85              # double 74.329999999999998
	.quad	0x4062166666666666              # double 144.69999999999999
	.quad	0x4042133333333333              # double 36.149999999999999
	.quad	0x4053fc28f5c28f5c              # double 79.939999999999998
	.quad	0x4054e5c28f5c28f6              # double 83.590000000000003
	.quad	0x4063300000000000              # double 153.5
	.quad	0x40157ae147ae147b              # double 5.3700000000000001
	.quad	0x404708f5c28f5c29              # double 46.07
	.quad	0x4058be147ae147ae              # double 98.969999999999998
	.quad	0x4068dc28f5c28f5c              # double 198.88
	.quad	0x40557a3d70a3d70a              # double 85.909999999999997
	.quad	0x406664cccccccccd              # double 179.15000000000001
	.quad	0x4057d851eb851eb8              # double 95.379999999999995
	.quad	0x40652428f5c28f5c              # double 169.13
	.quad	0x405568f5c28f5c29              # double 85.64
	.quad	0x4064051eb851eb85              # double 160.16
	.quad	0x404c07ae147ae148              # double 56.060000000000002
	.quad	0x4059266666666666              # double 100.59999999999999
	.quad	0x405838f5c28f5c29              # double 96.89
	.quad	0x40661428f5c28f5c              # double 176.63
	.quad	0x4054fb851eb851ec              # double 83.930000000000007
	.quad	0x4062c570a3d70a3d              # double 150.16999999999999
	.quad	0x4048666666666666              # double 48.799999999999997
	.quad	0x405bc3d70a3d70a4              # double 111.06
	.quad	0x4036451eb851eb85              # double 22.27
	.quad	0x4053ce147ae147ae              # double 79.219999999999999
	.quad	0x4057e51eb851eb85              # double 95.579999999999998
	.quad	0x4065b28f5c28f5c3              # double 173.58000000000001
	.quad	0x404c3eb851eb851f              # double 56.490000000000002
	.quad	0x405f0ccccccccccd              # double 124.2
	.quad	0x405701eb851eb852              # double 92.030000000000001
	.quad	0x40624c7ae147ae14              # double 146.38999999999999
	.quad	0x40509f5c28f5c28f              # double 66.489999999999995
	.quad	0x40606147ae147ae1              # double 131.03999999999999
	.quad	0x40439c28f5c28f5c              # double 39.219999999999999
	.quad	0x4056bd70a3d70a3d              # double 90.959999999999993
	.quad	0x4031fae147ae147b              # double 17.98
	.quad	0x40483851eb851eb8              # double 48.439999999999998
	.quad	0x3ff0000000000000              # double 1
	.quad	0x4040a28f5c28f5c3              # double 33.270000000000003
	.quad	0x4054200000000000              # double 80.5
	.quad	0x406523851eb851ec              # double 169.11000000000001
	.quad	0x4054b851eb851eb8              # double 82.879999999999995
	.quad	0x4065b00000000000              # double 173.5
	.quad	0x404cf5c28f5c28f6              # double 57.920000000000002
	.quad	0x405be51eb851eb85              # double 111.58
	.quad	0x405139999999999a              # double 68.900000000000006
	.quad	0x40605eb851eb851f              # double 130.96000000000001
	.quad	0x4043533333333333              # double 38.649999999999999
	.quad	0x4055f47ae147ae14              # double 87.819999999999993
	.quad	0x40347d70a3d70a3d              # double 20.489999999999998
	.quad	0x4052600000000000              # double 73.5
	.quad	0x404d0ccccccccccd              # double 58.100000000000001
	.quad	0x405aa51eb851eb85              # double 106.58
	.quad	0x40437eb851eb851f              # double 38.990000000000002
	.quad	0x4056047ae147ae14              # double 88.069999999999993
	.quad	0x4044d33333333333              # double 41.649999999999999
	.quad	0x4056fd70a3d70a3d              # double 91.959999999999993
	.quad	0x4054800000000000              # double 82
	.quad	0x406194cccccccccd              # double 140.65000000000001
	.quad	0x4040e7ae147ae148              # double 33.810000000000002
	.quad	0x4056e47ae147ae14              # double 91.569999999999993
	.quad	0x40379eb851eb851f              # double 23.620000000000001
	.quad	0x40539851eb851eb8              # double 78.379999999999995
	.quad	0x4052f0a3d70a3d71              # double 75.760000000000005
	.quad	0x4062fdc28f5c28f6              # double 151.93000000000001
	.quad	0x404435c28f5c28f6              # double 40.420000000000002
	.quad	0x405d051eb851eb85              # double 116.08
	.quad	0x403ed70a3d70a3d7              # double 30.84
	.quad	0x40553f5c28f5c28f              # double 84.989999999999994
	.quad	0x40532eb851eb851f              # double 76.730000000000003
	.quad	0x406296147ae147ae              # double 148.69
	.quad	0x401f3d70a3d70a3d              # double 7.8099999999999996
	.quad	0x404f48f5c28f5c29              # double 62.57
	.quad	0x405093d70a3d70a4              # double 66.310000000000002
	.quad	0x4060cccccccccccd              # double 134.40000000000001
	.quad	0x4051b0a3d70a3d71              # double 70.760000000000005
	.quad	0x4061ea8f5c28f5c3              # double 143.33000000000001
	.quad	0x4030e8f5c28f5c29              # double 16.91
	.quad	0x404e1851eb851eb8              # double 60.189999999999998
	.quad	0x402051eb851eb852              # double 8.1600000000000001
	.quad	0x404623d70a3d70a4              # double 44.280000000000001
	.quad	0x40522147ae147ae1              # double 72.519999999999996
	.quad	0x406145c28f5c28f6              # double 138.18000000000001
	.quad	0x403c2147ae147ae1              # double 28.129999999999999
	.quad	0x40509d70a3d70a3d              # double 66.459999999999994
	.quad	0x4051be147ae147ae              # double 70.969999999999999
	.quad	0x405fb9999999999a              # double 126.90000000000001
	.quad	0x404b3ae147ae147b              # double 54.460000000000001
	.quad	0x405c18f5c28f5c29              # double 112.39
	.quad	0x404ef851eb851eb8              # double 61.939999999999998
	.quad	0x405b83d70a3d70a4              # double 110.06
	.quad	0x4046bc28f5c28f5c              # double 45.469999999999999
	.quad	0x40573f5c28f5c28f              # double 92.989999999999994
	.quad	0x4056b1eb851eb852              # double 90.780000000000001
	.quad	0x4063923d70a3d70a              # double 156.56999999999999
	.quad	0x4050851eb851eb85              # double 66.079999999999998
	.quad	0x405b65c28f5c28f6              # double 109.59
	.quad	0x4028b33333333333              # double 12.35
	.quad	0x404c547ae147ae14              # double 56.659999999999997
	.quad	0x40313ae147ae147b              # double 17.23
	.quad	0x404a4a3d70a3d70a              # double 52.579999999999998
	.quad	0x4051cd70a3d70a3d              # double 71.209999999999994
	.quad	0x4063c8a3d70a3d71              # double 158.27000000000001
	.quad	0x404e9c28f5c28f5c              # double 61.219999999999999
	.quad	0x405eb51eb851eb85              # double 122.83
	.quad	0x40494f5c28f5c28f              # double 50.619999999999997
	.quad	0x405d5b851eb851ec              # double 117.43000000000001
	.quad	0x403a851eb851eb85              # double 26.52
	.quad	0x404b1eb851eb851f              # double 54.240000000000002
	.quad	0x404cbae147ae147b              # double 57.460000000000001
	.quad	0x405f900000000000              # double 126.25
	.quad	0x403cbd70a3d70a3d              # double 28.739999999999998
	.quad	0x405689999999999a              # double 90.150000000000006
	.quad	0x4024fae147ae147b              # double 10.49
	.quad	0x40485c28f5c28f5c              # double 48.719999999999999
	.quad	0x404f0e147ae147ae              # double 62.109999999999999
	.quad	0x406158f5c28f5c29              # double 138.78
	.quad	0x4053cccccccccccd              # double 79.200000000000002
	.quad	0x4061923d70a3d70a              # double 140.56999999999999
	.quad	0x405243d70a3d70a4              # double 73.060000000000002
	.quad	0x4061b3851eb851ec              # double 141.61000000000001
	.quad	0x4033028f5c28f5c3              # double 19.010000000000002
	.quad	0x404a251eb851eb85              # double 52.289999999999999
	.quad	0x402eb33333333333              # double 15.35
	.quad	0x4049d0a3d70a3d71              # double 51.630000000000003
	.quad	0x405881eb851eb852              # double 98.030000000000001
	.quad	0x4065d947ae147ae1              # double 174.78999999999999
	.quad	0x40336e147ae147ae              # double 19.43
	.quad	0x40526b851eb851ec              # double 73.680000000000007
	.quad	0x404c970a3d70a3d7              # double 57.18
	.quad	0x4057c7ae147ae148              # double 95.120000000000005
	.quad	0x403cb5c28f5c28f6              # double 28.710000000000001
	.quad	0x40551b851eb851ec              # double 84.430000000000007
	.quad	0x404c15c28f5c28f6              # double 56.170000000000002
	.quad	0x405ca147ae147ae1              # double 114.52
	.quad	0x402951eb851eb852              # double 12.66
	.quad	0x404903d70a3d70a4              # double 50.030000000000001
	.quad	0x4041ea3d70a3d70a              # double 35.829999999999998
	.quad	0x4053aa3d70a3d70a              # double 78.659999999999997
	.quad	0x40527ccccccccccd              # double 73.950000000000002
	.quad	0x4061280000000000              # double 137.25
	.quad	0x40582b851eb851ec              # double 96.680000000000007
	.quad	0x40652851eb851eb8              # double 169.25999999999999
	.quad	0x402a3d70a3d70a3d              # double 13.119999999999999
	.quad	0x4051a5c28f5c28f6              # double 70.590000000000003
	.quad	0x405235c28f5c28f6              # double 72.840000000000003
	.quad	0x4061d9999999999a              # double 142.80000000000001
	.quad	0x4054170a3d70a3d7              # double 80.359999999999999
	.quad	0x4062deb851eb851f              # double 150.96000000000001
	.quad	0x403df5c28f5c28f6              # double 29.960000000000001
	.quad	0x4050fae147ae147b              # double 67.920000000000002
	.quad	0x4044c147ae147ae1              # double 41.509999999999998
	.quad	0x4058a28f5c28f5c3              # double 98.540000000000006
	.quad	0x4049c51eb851eb85              # double 51.539999999999999
	.quad	0x4059a66666666666              # double 102.59999999999999
	.quad	0x40547d70a3d70a3d              # double 81.959999999999993
	.quad	0x406076147ae147ae              # double 131.69
	.quad	0x405288f5c28f5c29              # double 74.14
	.quad	0x4061423d70a3d70a              # double 138.06999999999999
	.quad	0x4025c7ae147ae148              # double 10.890000000000001
	.quad	0x404cc51eb851eb85              # double 57.539999999999999
	.quad	0x40510b851eb851ec              # double 68.180000000000007
	.quad	0x405feb851eb851ec              # double 127.68000000000001
	.quad	0x4003ae147ae147ae              # double 2.46
	.quad	0x4048e51eb851eb85              # double 49.789999999999999
	.quad	0x4049feb851eb851f              # double 51.990000000000002
	.quad	0x405dd47ae147ae14              # double 119.31999999999999
	.quad	0x40274ccccccccccd              # double 11.65
	.quad	0x404be3d70a3d70a4              # double 55.780000000000001
	.quad	0x4052ef5c28f5c28f              # double 75.739999999999994
	.quad	0x40608eb851eb851f              # double 132.46000000000001
	.quad	0x4054147ae147ae14              # double 80.319999999999993
	.quad	0x40624428f5c28f5c              # double 146.13
	.quad	0x4058266666666666              # double 96.599999999999994
	.quad	0x4064a7ae147ae148              # double 165.24000000000001
	.quad	0x4050a147ae147ae1              # double 66.519999999999996
	.quad	0x40627147ae147ae1              # double 147.53999999999999
	.quad	0x403247ae147ae148              # double 18.280000000000001
	.quad	0x40509851eb851eb8              # double 66.379999999999995
	.quad	0x4050b851eb851eb8              # double 66.879999999999995
	.quad	0x406151999999999a              # double 138.55000000000001
	.quad	0x405097ae147ae148              # double 66.370000000000005
	.quad	0x4061beb851eb851f              # double 141.96000000000001
	.quad	0x4057aae147ae147b              # double 94.670000000000001
	.quad	0x40666c28f5c28f5c              # double 179.38
	.quad	0x404c2ccccccccccd              # double 56.350000000000001
	.quad	0x405b01eb851eb852              # double 108.03
	.quad	0x4052a47ae147ae14              # double 74.569999999999993
	.quad	0x4060547ae147ae14              # double 130.63999999999999
	.quad	0x404d9c28f5c28f5c              # double 59.219999999999999
	.quad	0x405c7e147ae147ae              # double 113.97
	.quad	0x404a133333333333              # double 52.149999999999999
	.quad	0x405a11eb851eb852              # double 104.28
	.quad	0x40474ccccccccccd              # double 46.600000000000001
	.quad	0x405ae851eb851eb8              # double 107.63
	.quad	0x404e1eb851eb851f              # double 60.240000000000002
	.quad	0x405f933333333333              # double 126.3
	.quad	0x4052e51eb851eb85              # double 75.579999999999998
	.quad	0x406028f5c28f5c29              # double 129.28
	.quad	0x4047beb851eb851f              # double 47.490000000000002
	.quad	0x405905c28f5c28f6              # double 100.09
	.quad	0x40580d70a3d70a3d              # double 96.209999999999993
	.quad	0x4064580000000000              # double 162.75
	.quad	0x4034733333333333              # double 20.449999999999999
	.quad	0x40513147ae147ae1              # double 68.769999999999996
	.quad	0x40438ccccccccccd              # double 39.100000000000001
	.quad	0x4057b51eb851eb85              # double 94.829999999999998
	.quad	0x403d451eb851eb85              # double 29.27
	.quad	0x4053366666666666              # double 76.849999999999994
	.quad	0x4021e147ae147ae1              # double 8.9399999999999995
	.quad	0x40421d70a3d70a3d              # double 36.229999999999997
	.quad	0x4058628f5c28f5c3              # double 97.540000000000006
	.quad	0x4064f051eb851eb8              # double 167.50999999999999
	.quad	0x402acccccccccccd              # double 13.4
	.quad	0x40500eb851eb851f              # double 64.230000000000004
	.quad	0x403ac51eb851eb85              # double 26.77
	.quad	0x405237ae147ae148              # double 72.870000000000005
	.quad	0x40557ccccccccccd              # double 85.950000000000002
	.quad	0x4063b6147ae147ae              # double 157.69
	.quad	0x4027d1eb851eb852              # double 11.91
	.quad	0x4045b0a3d70a3d71              # double 43.380000000000003
	.quad	0x4050733333333333              # double 65.799999999999997
	.quad	0x405af70a3d70a3d7              # double 107.86
	.quad	0x4044bc28f5c28f5c              # double 41.469999999999999
	.quad	0x4056647ae147ae14              # double 89.569999999999993
	.quad	0x4053447ae147ae14              # double 77.069999999999993
	.quad	0x40606947ae147ae1              # double 131.28999999999999
	.quad	0x4002000000000000              # double 2.25
	.quad	0x40449d70a3d70a3d              # double 41.229999999999997
	.quad	0x40354a3d70a3d70a              # double 21.289999999999999
	.quad	0x4054f66666666666              # double 83.849999999999994
	.quad	0x405849999999999a              # double 97.150000000000005
	.quad	0x40648c28f5c28f5c              # double 164.38
	.quad	0x4040f70a3d70a3d7              # double 33.93
	.quad	0x405658f5c28f5c29              # double 89.39
	.quad	0x4056847ae147ae14              # double 90.069999999999993
	.quad	0x4063d5c28f5c28f6              # double 158.68000000000001
	.quad	0x3ffe666666666666              # double 1.8999999999999999
	.quad	0x4040347ae147ae14              # double 32.409999999999997
	.quad	0x404dbd70a3d70a3d              # double 59.479999999999997
	.quad	0x405fbccccccccccd              # double 126.95
	.quad	0x40328a3d70a3d70a              # double 18.539999999999999
	.quad	0x404f63d70a3d70a4              # double 62.780000000000001
	.quad	0x40421d70a3d70a3d              # double 36.229999999999997
	.quad	0x40586147ae147ae1              # double 97.519999999999996
	.quad	0x4055a70a3d70a3d7              # double 86.609999999999999
	.quad	0x4064047ae147ae14              # double 160.13999999999999
	.quad	0x403cf5c28f5c28f6              # double 28.960000000000001
	.quad	0x404c933333333333              # double 57.149999999999999
	.quad	0x402ff5c28f5c28f6              # double 15.98
	.quad	0x4050eae147ae147b              # double 67.670000000000002
	.quad	0x404d5ae147ae147b              # double 58.710000000000001
	.quad	0x405feb851eb851ec              # double 127.68000000000001
	.quad	0x4046fae147ae147b              # double 45.960000000000001
	.quad	0x405a700000000000              # double 105.75
	.quad	0x4056b147ae147ae1              # double 90.769999999999996
	.quad	0x4063623d70a3d70a              # double 155.06999999999999
	.quad	0x40521ccccccccccd              # double 72.450000000000003
	.quad	0x4061f66666666666              # double 143.69999999999999
	.quad	0x40446a3d70a3d70a              # double 40.829999999999998
	.quad	0x4055447ae147ae14              # double 85.069999999999993
	.quad	0x40442147ae147ae1              # double 40.259999999999998
	.quad	0x4057b3d70a3d70a4              # double 94.810000000000002
	.quad	0x401ef5c28f5c28f6              # double 7.7400000000000002
	.quad	0x404a39999999999a              # double 52.450000000000003
	.quad	0x4045400000000000              # double 42.5
	.quad	0x4059aa3d70a3d70a              # double 102.66
	.quad	0x4018cccccccccccd              # double 6.2000000000000002
	.quad	0x403e0a3d70a3d70a              # double 30.039999999999999
	.quad	0x40447c28f5c28f5c              # double 40.969999999999999
	.quad	0x40586b851eb851ec              # double 97.680000000000007
	.quad	0x404cb0a3d70a3d71              # double 57.380000000000003
	.quad	0x406063851eb851ec              # double 131.11000000000001
	.quad	0x40545c28f5c28f5c              # double 81.439999999999998
	.quad	0x40651d1eb851eb85              # double 168.91
	.quad	0x40011eb851eb851f              # double 2.1400000000000001
	.quad	0x40454f5c28f5c28f              # double 42.619999999999997
	.quad	0x4047e147ae147ae1              # double 47.759999999999998
	.quad	0x405ab147ae147ae1              # double 106.77
	.quad	0x4054ad70a3d70a3d              # double 82.709999999999993
	.quad	0x4063c8a3d70a3d71              # double 158.27000000000001
	.quad	0x40586f5c28f5c28f              # double 97.739999999999994
	.quad	0x4066b9eb851eb852              # double 181.81
	.quad	0x404cef5c28f5c28f              # double 57.869999999999997
	.quad	0x405e9a3d70a3d70a              # double 122.41
	.quad	0x4058e00000000000              # double 99.5
	.quad	0x4066de147ae147ae              # double 182.94
	.quad	0x40534147ae147ae1              # double 77.019999999999996
	.quad	0x4062fe147ae147ae              # double 151.94
	.quad	0x4043ae147ae147ae              # double 39.359999999999999
	.quad	0x4055900000000000              # double 86.25
	.quad	0x4001ae147ae147ae              # double 2.21
	.quad	0x404c6147ae147ae1              # double 56.759999999999998
	.quad	0x404ba3d70a3d70a4              # double 55.280000000000001
	.quad	0x4060866666666666              # double 132.19999999999999
	.quad	0x4052b7ae147ae148              # double 74.870000000000005
	.quad	0x406081eb851eb852              # double 132.06
	.quad	0x404548f5c28f5c29              # double 42.57
	.quad	0x405b766666666666              # double 109.84999999999999
	.quad	0x4025147ae147ae14              # double 10.539999999999999
	.quad	0x4047228f5c28f5c3              # double 46.270000000000003
	.quad	0x40512f5c28f5c28f              # double 68.739999999999995
	.quad	0x405ef51eb851eb85              # double 123.83
	.quad	0x4058feb851eb851f              # double 99.980000000000003
	.quad	0x40678dc28f5c28f6              # double 188.43000000000001
	.quad	0x404191eb851eb852              # double 35.140000000000001
	.quad	0x4056451eb851eb85              # double 89.079999999999998
	.quad	0x4053eeb851eb851f              # double 79.730000000000003
	.quad	0x406229eb851eb852              # double 145.31
	.quad	0x4057f147ae147ae1              # double 95.769999999999996
	.quad	0x406400f5c28f5c29              # double 160.03
	.quad	0x405441eb851eb852              # double 81.030000000000001
	.quad	0x40627f0a3d70a3d7              # double 147.97
	.quad	0x403a5eb851eb851f              # double 26.370000000000001
	.quad	0x4051d28f5c28f5c3              # double 71.290000000000006
	.quad	0x405843d70a3d70a4              # double 97.060000000000002
	.quad	0x4067223d70a3d70a              # double 185.06999999999999
	.quad	0x40569147ae147ae1              # double 90.269999999999996
	.quad	0x40649b851eb851ec              # double 164.86000000000001
	.quad	0x40551b851eb851ec              # double 84.430000000000007
	.quad	0x4064547ae147ae14              # double 162.63999999999999
	.quad	0x405347ae147ae148              # double 77.120000000000005
	.quad	0x40614eb851eb851f              # double 138.46000000000001
	.quad	0x4053ab851eb851ec              # double 78.680000000000007
	.quad	0x4061b1eb851eb852              # double 141.56
	.quad	0x404e251eb851eb85              # double 60.289999999999999
	.quad	0x4060247ae147ae14              # double 129.13999999999999
	.quad	0x402728f5c28f5c29              # double 11.58
	.quad	0x4046c51eb851eb85              # double 45.539999999999999
	.quad	0x4047c28f5c28f5c3              # double 47.520000000000003
	.quad	0x405cc0a3d70a3d71              # double 115.01000000000001
	.quad	0x4049028f5c28f5c3              # double 50.020000000000003
	.quad	0x405c71eb851eb852              # double 113.78
	.quad	0x4057e00000000000              # double 95.5
	.quad	0x40670947ae147ae1              # double 184.28999999999999
	.quad	0x4045f33333333333              # double 43.899999999999999
	.quad	0x4055d3d70a3d70a4              # double 87.310000000000002
	.quad	0x404927ae147ae148              # double 50.310000000000002
	.quad	0x40570c28f5c28f5c              # double 92.189999999999998
	.quad	0x404cb33333333333              # double 57.399999999999999
	.quad	0x405b9ae147ae147b              # double 110.42
	.quad	0x4044a28f5c28f5c3              # double 41.270000000000003
	.quad	0x4057deb851eb851f              # double 95.480000000000003
	.quad	0x404a5d70a3d70a3d              # double 52.729999999999997
	.quad	0x405eaccccccccccd              # double 122.7
	.quad	0x405857ae147ae148              # double 97.370000000000005
	.quad	0x4066b70a3d70a3d7              # double 181.72
	.quad	0x4055cb851eb851ec              # double 87.180000000000007
	.quad	0x40639f0a3d70a3d7              # double 156.97
	.quad	0x3fd147ae147ae148              # double 0.27000000000000002
	.quad	0x403b3d70a3d70a3d              # double 27.239999999999998
	.quad	0x404043d70a3d70a4              # double 32.530000000000001
	.quad	0x4053b28f5c28f5c3              # double 78.790000000000006
	.quad	0x405798f5c28f5c29              # double 94.39
	.quad	0x40646e6666666666              # double 163.44999999999999
	.quad	0x403d7851eb851eb8              # double 29.469999999999999
	.quad	0x4052b3d70a3d70a4              # double 74.810000000000002
	.quad	0x40343d70a3d70a3d              # double 20.239999999999998
	.quad	0x4052451eb851eb85              # double 73.079999999999998
	.quad	0x40123d70a3d70a3d              # double 4.5599999999999996
	.quad	0x404d83d70a3d70a4              # double 59.030000000000001
	.quad	0x4043533333333333              # double 38.649999999999999
	.quad	0x40569ae147ae147b              # double 90.420000000000001
	.quad	0x404f95c28f5c28f6              # double 63.170000000000002
	.quad	0x406232e147ae147b              # double 145.59
	.quad	0x40298a3d70a3d70a              # double 12.77
	.quad	0x4048b33333333333              # double 49.399999999999999
	.quad	0x402cb851eb851eb8              # double 14.359999999999999
	.quad	0x405217ae147ae148              # double 72.370000000000005
	.quad	0x4051fae147ae147b              # double 71.920000000000002
	.quad	0x405fdd70a3d70a3d              # double 127.45999999999999
	.quad	0x4041fae147ae147b              # double 35.960000000000001
	.quad	0x4052128f5c28f5c3              # double 72.290000000000006
	.quad	0x404b68f5c28f5c29              # double 54.82
	.quad	0x405a7851eb851eb8              # double 105.88
	.quad	0x403e4f5c28f5c28f              # double 30.309999999999999
	.quad	0x4056a3d70a3d70a4              # double 90.560000000000002
	.quad	0x4051a51eb851eb85              # double 70.579999999999998
	.quad	0x405e7f5c28f5c28f              # double 121.98999999999999
	.quad	0x404743d70a3d70a4              # double 46.530000000000001
	.quad	0x405a247ae147ae14              # double 104.56999999999999
	.quad	0x4054e7ae147ae148              # double 83.620000000000005
	.quad	0x4064951eb851eb85              # double 164.66
	.quad	0x4025000000000000              # double 10.5
	.quad	0x4045cccccccccccd              # double 43.600000000000001
	.quad	0x403be66666666666              # double 27.899999999999999
	.quad	0x40510ae147ae147b              # double 68.170000000000002
	.quad	0x4047451eb851eb85              # double 46.539999999999999
	.quad	0x40590f5c28f5c28f              # double 100.23999999999999
	.quad	0x40483eb851eb851f              # double 48.490000000000002
	.quad	0x405cdd70a3d70a3d              # double 115.45999999999999
	.quad	0x404ac8f5c28f5c29              # double 53.57
	.quad	0x405b55c28f5c28f6              # double 109.34
	.quad	0x40338f5c28f5c28f              # double 19.559999999999999
	.quad	0x404bcf5c28f5c28f              # double 55.619999999999997
	.quad	0x40544ccccccccccd              # double 81.200000000000002
	.quad	0x40630b3333333333              # double 152.34999999999999
	.quad	0x404bbae147ae147b              # double 55.460000000000001
	.quad	0x405827ae147ae148              # double 96.620000000000005
	.quad	0x40578c28f5c28f5c              # double 94.189999999999998
	.quad	0x4063ce6666666666              # double 158.44999999999999
	.quad	0x404c228f5c28f5c3              # double 56.270000000000003
	.quad	0x405f270a3d70a3d7              # double 124.61
	.quad	0x405420a3d70a3d71              # double 80.510000000000005
	.quad	0x4062447ae147ae14              # double 146.13999999999999
	.quad	0x4050d7ae147ae148              # double 67.370000000000005
	.quad	0x4061a0a3d70a3d71              # double 141.02000000000001
	.quad	0x403fb5c28f5c28f6              # double 31.710000000000001
	.quad	0x40565f5c28f5c28f              # double 89.489999999999994
	.quad	0x4057428f5c28f5c3              # double 93.040000000000006
	.quad	0x406428f5c28f5c29              # double 161.28
	.quad	0x40450e147ae147ae              # double 42.109999999999999
	.quad	0x4056ee147ae147ae              # double 91.719999999999998
	.quad	0x4040c7ae147ae148              # double 33.560000000000002
	.quad	0x4057728f5c28f5c3              # double 93.790000000000006
	.quad	0x4011c28f5c28f5c3              # double 4.4400000000000004
	.quad	0x404e0a3d70a3d70a              # double 60.079999999999998
	.quad	0x40206b851eb851ec              # double 8.2100000000000008
	.quad	0x4047ee147ae147ae              # double 47.859999999999999
	.quad	0x4056a0a3d70a3d71              # double 90.510000000000005
	.quad	0x406625c28f5c28f6              # double 177.18000000000001
	.quad	0x403b428f5c28f5c3              # double 27.260000000000002
	.quad	0x4052666666666666              # double 73.599999999999994
	.quad	0x403da147ae147ae1              # double 29.629999999999999
	.quad	0x40554147ae147ae1              # double 85.019999999999996
	.quad	0x404a370a3d70a3d7              # double 52.43
	.quad	0x405c300000000000              # double 112.75
	.quad	0x4052447ae147ae14              # double 73.069999999999993
	.quad	0x406048a3d70a3d71              # double 130.27000000000001
	.quad	0x3ffca3d70a3d70a4              # double 1.79
	.quad	0x4034b5c28f5c28f6              # double 20.710000000000001
	.quad	0x403c147ae147ae14              # double 28.079999999999998
	.quad	0x40545f5c28f5c28f              # double 81.489999999999994
	.quad	0x40499eb851eb851f              # double 51.240000000000002
	.quad	0x405d67ae147ae148              # double 117.62
	.quad	0x4047c3d70a3d70a4              # double 47.530000000000001
	.quad	0x405b700000000000              # double 109.75
	.quad	0x4053ea3d70a3d70a              # double 79.659999999999997
	.quad	0x406596b851eb851f              # double 172.71000000000001
	.quad	0x402edc28f5c28f5c              # double 15.43
	.quad	0x4049cccccccccccd              # double 51.600000000000001
	.quad	0x40438ccccccccccd              # double 39.100000000000001
	.quad	0x4053a33333333333              # double 78.549999999999997
	.quad	0x4048000000000000              # double 48
	.quad	0x405c970a3d70a3d7              # double 114.36
	.quad	0x4001851eb851eb85              # double 2.1899999999999999
	.quad	0x4043851eb851eb85              # double 39.039999999999999
	.quad	0x40306e147ae147ae              # double 16.43
	.quad	0x4048cf5c28f5c28f              # double 49.619999999999997
	.quad	0x4047f0a3d70a3d71              # double 47.880000000000003
	.quad	0x4059928f5c28f5c3              # double 102.29000000000001
	.quad	0x4038a3d70a3d70a4              # double 24.640000000000001
	.quad	0x405115c28f5c28f6              # double 68.340000000000003
	.quad	0x404cf0a3d70a3d71              # double 57.880000000000003
	.quad	0x405fe8f5c28f5c29              # double 127.64
	.quad	0x40417c28f5c28f5c              # double 34.969999999999999
	.quad	0x4057e28f5c28f5c3              # double 95.540000000000006
	.quad	0x40101eb851eb851f              # double 4.0300000000000002
	.quad	0x404570a3d70a3d71              # double 42.880000000000003
	.quad	0x4025e147ae147ae1              # double 10.94
	.quad	0x404e7d70a3d70a3d              # double 60.979999999999997
	.quad	0x40424147ae147ae1              # double 36.509999999999998
	.quad	0x405a7851eb851eb8              # double 105.88
	.quad	0x40528a3d70a3d70a              # double 74.159999999999997
	.quad	0x4061d851eb851eb8              # double 142.75999999999999
	.quad	0x40394a3d70a3d70a              # double 25.289999999999999
	.quad	0x40515e147ae147ae              # double 69.469999999999999
	.quad	0x404dd0a3d70a3d71              # double 59.630000000000003
	.quad	0x405c30a3d70a3d71              # double 112.76000000000001
	.quad	0x40035c28f5c28f5c              # double 2.4199999999999999
	.quad	0x4043b47ae147ae14              # double 39.409999999999997
	.quad	0x404e95c28f5c28f6              # double 61.170000000000002
	.quad	0x405ce851eb851eb8              # double 115.63
	.quad	0x3f947ae147ae147b              # double 0.02
	.quad	0x404cab851eb851ec              # double 57.340000000000003
	.quad	0x40548f5c28f5c28f              # double 82.239999999999994
	.quad	0x4063da3d70a3d70a              # double 158.81999999999999
	.quad	0x40553ccccccccccd              # double 84.950000000000002
	.quad	0x406381eb851eb852              # double 156.06
	.quad	0x4043147ae147ae14              # double 38.159999999999997
	.quad	0x405060a3d70a3d71              # double 65.510000000000005
	.quad	0x403da8f5c28f5c29              # double 29.66
	.quad	0x40565b851eb851ec              # double 89.430000000000007
	.quad	0x405510a3d70a3d71              # double 84.260000000000005
	.quad	0x4062151eb851eb85              # double 144.66
	.quad	0x4042a66666666666              # double 37.299999999999997
	.quad	0x4056a28f5c28f5c3              # double 90.540000000000006
	.quad	0x4047f0a3d70a3d71              # double 47.880000000000003
	.quad	0x405b066666666666              # double 108.09999999999999
	.quad	0x4058c47ae147ae14              # double 99.069999999999993
	.quad	0x406571eb851eb852              # double 171.56
	.quad	0x4015666666666666              # double 5.3499999999999996
	.quad	0x404708f5c28f5c29              # double 46.07
	.quad	0x4056f851eb851eb8              # double 91.879999999999995
	.quad	0x4063fccccccccccd              # double 159.90000000000001
	.quad	0x4050bae147ae147b              # double 66.920000000000002
	.quad	0x405daf5c28f5c28f              # double 118.73999999999999
	.quad	0x4049d0a3d70a3d71              # double 51.630000000000003
	.quad	0x405a3eb851eb851f              # double 104.98
	.quad	0x4055bae147ae147b              # double 86.920000000000001
	.quad	0x4062b4cccccccccd              # double 149.65000000000001
	.quad	0x4056f1eb851eb852              # double 91.780000000000001
	.quad	0x40650d1eb851eb85              # double 168.41
	.size	data, 16000

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	.end_amdgpu_metadata
