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



/*
To compile:
nvcc -o SantosLinear SantosLinear.cu

./SantosLinear
*/


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

int n_data = 1000;
__device__ int d_n_data = 1000;


point_t data[] = {
  {82.54,145.92},{79.13,125.54},{72.66,120.05},{65.59,100.38},
  {78.27,136.17},{77.25,117.81},{65.84,107.17},{76.12,134.15},
  {76.49,96.78},{47.94,64.98},{61.80,103.60},{84.45,111.95},
  {50.00,92.64},{99.96,147.10},{ 7.92,40.72},{20.36,38.90},
  {53.22,81.07},{30.32,73.57},{82.38,132.77},{60.41,98.29},
  { 3.74,35.90},{79.72,117.61},{21.55,71.41},{20.81,58.80},
  { 6.85,29.40},{48.20,54.46},{62.51,100.88},{ 2.89,40.58},
  {79.90,122.81},{84.94,137.16},{88.95,160.50},{47.00,70.95},
  {78.86,143.59},{62.79,104.83},{20.29,65.93},{83.78,123.76},
  {15.71,41.14},{49.35,89.02},{43.99,95.64},{24.12,70.60},
  {36.86,68.70},{ 3.49,23.95},{37.43,69.28},{70.55,95.36},
  {53.58,79.61},{55.79,101.29},{16.39,58.31},{91.65,115.29},
  {82.65,130.89},{48.78,105.63},{82.92,131.99},{64.86,110.09},
  {64.75,93.89},{ 4.83,25.91},{ 0.59,30.17},{ 0.72,28.41},
  {16.47,46.15},{40.42,70.11},{ 3.18,25.76},{59.02,113.49},
  {32.52,65.72},{42.65,87.74},{70.58,124.61},{ 0.09,30.33},
  {23.24,64.44},{75.05,125.90},{24.16,49.25},{37.75,76.66},
  {81.47,137.19},{59.58,108.26},{59.56,114.79},{76.89,128.06},
  { 9.76,44.84},{18.39,51.23},{58.29,120.09},{80.81,119.03},
  {77.93,132.71},{97.30,135.73},{69.14,92.52},{22.42,50.10},
  {41.90,59.59},{33.67,54.58},{94.44,155.64},{50.51,92.26},
  {50.57,70.49},{59.20,103.78},{57.09,110.74},{79.47,124.25},
  {79.64,117.26},{42.89,89.97},{64.89,108.26},{65.02,107.66},
  {99.94,163.00},{38.56,81.90},{95.17,147.58},{59.96,113.55},
  {18.25,44.49},{10.60,19.67},{33.68,76.62},{96.42,149.59},
  {25.47,40.35},{29.78,73.31},{32.59,62.29},{33.87,69.54},
  {54.15,102.50},{14.19,44.72},{10.55,47.75},{82.20,111.38},
  {15.58,43.53},{71.47,102.98},{15.31,46.36},{ 1.72,12.58},
  {27.67,59.35},{83.63,147.60},{44.36,57.03},{17.88,46.07},
  {38.27,66.44},{89.79,141.09},{54.56,84.84},{ 8.92,56.82},
  {11.71,23.04},{69.04,119.32},{70.99,119.46},{ 8.12,35.45},
  {26.97,62.04},{76.27,143.28},{27.19,52.66},{ 7.48,35.88},
  {26.28,46.29},{15.86,49.31},{52.24,70.69},{72.77,129.40},
  { 3.20,30.89},{72.60,126.43},{59.68,96.52},{87.72,134.59},
  {66.32,118.14},{63.10,110.15},{89.28,141.58},{57.83,98.06},
  {39.40,92.51},{86.62,133.71},{37.79,59.83},{93.50,139.06},
  {60.27,109.60},{31.32,78.75},{72.14,122.61},{ 6.94,38.40},
  {28.59,73.61},{73.17,114.77},{32.10,60.83},{45.15,86.50},
  {60.53,108.41},{31.27,57.00},{39.38,68.36},{73.19,135.10},
  {46.73,78.33},{16.52,49.96},{34.43,60.80},{33.31,70.69},
  {82.59,119.24},{62.32,109.02},{14.59,39.11},{85.50,148.34},
  { 4.70,15.17},{77.38,132.34},{38.08,79.30},{43.28,81.24},
  {50.76,85.11},{ 6.10,44.28},{17.37,39.34},{53.23,102.51},
  {46.97,84.96},{82.34,121.44},{82.82,135.65},{14.95,46.46},
  {34.92,55.96},{76.50,121.39},{33.96,82.71},{33.81,75.71},
  {85.97,145.58},{54.93,107.02},{35.84,74.14},{31.25,72.02},
  {45.30,83.04},{36.90,78.48},{72.33,114.85},{ 9.26,45.11},
  {38.16,79.84},{75.62,122.58},{46.35,80.75},{59.38,84.45},
  {80.25,144.44},{74.87,129.35},{78.57,138.28},{67.79,109.42},
  {56.63,89.32},{87.37,154.45},{24.78,67.81},{42.59,69.71},
  {21.87,56.09},{45.40,84.68},{53.00,93.30},{ 9.96,34.66},
  {70.49,107.10},{25.19,56.44},{28.27,56.57},{26.56,45.40},
  {21.17,46.21},{72.95,125.45},{36.95,82.73},{34.87,63.67},
  {26.84,78.06},{ 5.87,37.02},{81.40,114.31},{46.24,67.09},
  {15.36,28.81},{73.75,120.90},{22.17,55.09},{29.65,60.96},
  {50.70,75.55},{54.89,79.26},{80.60,142.14},{24.62,66.66},
  { 1.82,20.56},{68.34,107.73},{95.19,162.24},{ 8.77,39.79},
  {98.68,154.81},{44.69,78.41},{58.55,84.50},{82.69,129.36},
  {76.04,140.90},{20.81,36.16},{93.81,144.90},{69.62,111.04},
  {68.75,99.34},{21.75,37.53},{49.72,80.49},{38.21,52.51},
  {62.51,104.03},{ 9.06,32.07},{ 9.05,44.80},{88.63,142.62},
  {42.32,101.24},{29.55,50.21},{24.88,52.81},{99.41,152.87},
  {51.84,99.81},{46.45,98.38},{37.89,71.32},{97.06,160.47},
  {23.74,70.83},{86.43,146.38},{23.93,43.60},{34.50,75.87},
  { 2.24,20.30},{77.93,138.50},{74.35,111.92},{89.22,141.37},
  {49.81,90.81},{71.21,104.14},{20.64,43.69},{66.87,111.31},
  {75.47,116.17},{24.57,57.12},{67.47,98.57},{85.39,133.18},
  {45.12,88.99},{25.78,40.69},{ 8.75,44.48},{14.34,65.44},
  {98.07,159.41},{64.11,102.03},{21.75,70.05},{92.78,151.41},
  {71.47,122.64},{71.57,126.15},{67.73,116.35},{58.71,100.96},
  {33.50,59.20},{18.59,66.75},{78.74,116.00},{28.51,78.22},
  { 4.87,44.86},{22.39,41.11},{33.53,62.91},{28.16,63.59},
  {96.95,148.51},{98.43,144.64},{86.46,155.89},{81.98,135.72},
  {99.49,153.80},{60.10,107.45},{54.65,95.78},{ 4.12,29.92},
  {92.76,151.07},{19.06,47.87},{74.74,114.86},{56.77,76.20},
  {61.28,107.17},{49.73,90.93},{31.62,83.42},{72.22,131.74},
  {48.47,84.83},{89.84,124.97},{75.91,113.30},{ 6.48,11.00},
  {70.50,117.74},{37.07,78.48},{52.08,100.48},{95.27,151.06},
  {80.04,126.91},{99.00,150.15},{24.88,43.89},{13.90,31.65},
  {11.88,38.92},{ 8.51,32.81},{69.81,117.15},{99.52,146.13},
  {58.79,88.03},{ 4.60,15.68},{37.68,78.52},{39.45,68.65},
  { 1.93,29.81},{68.45,114.66},{63.34,117.33},{35.93,76.91},
  {89.98,146.67},{39.61,76.72},{93.52,130.43},{92.88,138.22},
  {46.35,111.10},{92.88,141.21},{70.32,114.14},{10.58,25.89},
  {89.25,151.26},{90.81,130.61},{93.69,132.92},{46.99,79.45},
  {91.32,138.72},{ 2.30,15.71},{ 2.25,30.66},{23.57,55.45},
  {12.26,30.69},{ 5.06,36.12},{50.51,105.84},{86.01,132.02},
  {76.83,122.78},{ 3.59,28.33},{44.53,85.91},{32.91,78.47},
  {29.42,65.15},{ 7.35,22.34},{22.17,33.26},{80.33,138.66},
  {16.18,47.52},{22.55,69.13},{59.30,103.83},{19.34,57.73},
  {18.76,59.59},{80.12,121.38},{90.88,145.30},{11.62,49.49},
  {85.83,143.38},{81.91,133.89},{37.85,75.59},{16.50,32.94},
  {68.52,117.88},{52.16,95.21},{19.84,62.98},{60.73,117.12},
  {63.90,110.93},{15.82,44.36},{93.24,151.85},{10.29,31.41},
  {68.76,123.41},{27.76,67.89},{45.87,77.04},{55.60,96.42},
  {50.26,92.70},{54.51,92.25},{20.19,46.43},{94.34,140.86},
  {87.51,131.96},{ 2.09,34.05},{76.49,134.14},{76.85,126.34},
  {69.79,108.18},{97.87,168.75},{37.12,55.39},{31.66,74.41},
  {68.08,102.29},{37.65,69.58},{97.34,142.41},{53.81,100.86},
  {54.75,100.43},{ 5.16,32.16},{69.87,119.91},{32.81,63.30},
  {39.89,87.45},{73.14,127.54},{23.63,64.61},{14.92,60.68},
  {98.83,154.62},{77.66,124.75},{93.03,155.98},{47.16,65.07},
  {21.73,41.67},{58.06,101.88},{63.89,113.18},{77.97,123.52},
  {29.66,47.24},{78.59,122.87},{38.72,61.11},{41.20,66.00},
  {60.82,95.07},{ 4.12,23.58},{75.64,117.51},{87.26,145.07},
  {76.26,139.41},{45.73,92.04},{65.68,114.39},{65.67,124.52},
  {19.31,57.91},{36.43,64.22},{99.62,164.88},{50.16,71.90},
  {49.70,99.36},{50.57,81.43},{53.69,78.82},{60.26,101.20},
  {85.84,135.90},{95.23,161.49},{53.20,89.19},{91.36,139.23},
  {29.80,61.21},{60.85,115.69},{ 2.43,26.13},{20.32,57.97},
  {29.81,70.82},{36.83,76.87},{95.49,147.89},{27.20,70.77},
  { 9.06,37.56},{ 9.60,26.25},{34.71,97.78},{47.81,85.95},
  {45.11,88.88},{91.68,170.70},{61.87,103.75},{21.35,45.49},
  {30.52,75.30},{97.74,148.82},{51.47,95.07},{23.01,50.28},
  {87.69,153.65},{28.36,68.77},{ 5.61,41.08},{81.55,112.05},
  {50.63,84.20},{ 3.44,45.95},{24.80,59.44},{ 2.65,15.09},
  {60.09,108.71},{30.23,52.63},{42.78,92.61},{38.52,77.43},
  {72.51,118.84},{ 5.46,33.79},{78.26,131.71},{77.39,123.68},
  { 1.61,34.21},{96.99,160.15},{16.07,49.41},{51.26,94.71},
  {22.64,69.05},{52.76,93.25},{31.89,69.73},{19.86,41.19},
  {94.76,139.95},{71.59,127.65},{82.86,126.10},{58.49,90.54},
  {23.55,47.67},{ 7.97,41.91},{20.69,48.99},{26.54,46.11},
  {92.15,114.73},{69.56,91.47},{58.83,115.16},{58.00,101.91},
  {40.28,78.91},{22.77,63.76},{54.72,105.40},{96.27,146.66},
  {78.40,133.20},{55.11,76.68},{25.82,72.29},{30.15,74.90},
  {55.41,101.10},{40.66,87.45},{31.31,74.39},{93.59,166.09},
  {86.40,120.49},{63.78,119.02},{35.90,73.42},{57.83,90.27},
  {26.87,61.77},{41.13,69.36},{71.17,149.94},{72.02,125.13},
  {96.22,147.46},{15.95,43.65},{89.52,141.68},{86.25,148.39},
  {76.12,114.34},{71.90,118.02},{82.84,120.60},{64.11,123.24},
  {93.21,146.56},{59.80,103.56},{17.46,30.86},{25.21,43.25},
  {27.59,70.25},{ 8.13,30.28},{75.12,107.43},{17.03,50.03},
  {41.70,88.69},{59.19,96.81},{22.71,48.98},{84.24,106.94},
  { 9.31,38.99},{47.75,90.46},{22.58,36.20},{95.99,152.11},
  {70.84,115.13},{32.29,65.95},{35.29,86.95},{13.37,40.42},
  { 3.35,28.85},{93.36,135.47},{97.42,160.14},{71.00,130.15},
  {39.27,86.13},{56.61,107.53},{78.80,123.79},{27.36,65.64},
  { 8.86,23.57},{92.97,143.47},{13.43,28.97},{25.97,49.39},
  {21.94,50.20},{98.63,143.14},{ 2.84,19.86},{99.43,160.03},
  {53.53,87.12},{26.30,69.98},{67.88,99.69},{32.81,66.79},
  {42.65,67.91},{67.81,114.43},{40.99,78.61},{80.92,124.44},
  {17.94,49.13},{51.70,86.77},{24.22,53.84},{89.42,131.54},
  {70.15,126.90},{17.95,53.76},{79.04,123.07},{29.71,61.50},
  {97.49,162.89},{ 6.59,23.00},{ 5.53,46.81},{72.71,120.54},
  {88.96,152.45},{ 1.21,34.60},{ 5.62,39.20},{35.97,65.63},
  {25.35,66.22},{72.08,140.06},{33.71,74.29},{72.82,118.23},
  {10.10,36.18},{87.18,133.56},{71.24,114.03},{93.31,135.47},
  { 4.66,28.49},{86.83,157.98},{57.43,88.19},{97.28,155.39},
  {92.76,140.78},{61.73,96.02},{82.07,138.35},{62.98,109.31},
  {77.80,121.62},{27.96,69.60},{52.92,95.27},{50.61,100.54},
  {81.50,122.90},{37.04,79.85},{40.31,74.58},{44.25,79.22},
  {10.57,40.48},{61.47,97.31},{76.09,132.85},{77.72,114.80},
  {75.90,134.10},{68.91,125.40},{39.34,64.16},{89.29,137.58},
  { 4.12,20.66},{75.14,124.62},{14.70,55.99},{66.92,103.69},
  {93.89,146.83},{80.78,133.10},{51.98,83.76},{45.63,91.19},
  {56.25,106.96},{72.27,117.25},{88.32,143.02},{79.99,138.66},
  {17.61,27.37},{61.53,103.11},{88.67,139.22},{ 8.05,25.50},
  {59.61,107.69},{ 8.00,48.50},{30.58,61.71},{86.76,138.59},
  {80.38,145.01},{65.92,120.62},{57.48,93.89},{72.43,109.43},
  {84.72,128.45},{23.99,54.22},{51.99,69.88},{69.76,131.52},
  {18.78,50.65},{76.92,133.27},{20.11,50.78},{17.90,60.00},
  {97.90,151.89},{62.53,93.53},{93.81,148.57},{ 7.81,27.50},
  {28.43,54.07},{42.17,59.85},{36.25,67.25},{ 1.87,25.11},
  {44.57,85.62},{45.18,87.97},{14.69,44.65},{16.12,46.83},
  {61.81,114.06},{38.62,78.90},{18.93,57.64},{41.74,69.45},
  {89.52,129.88},{79.16,112.10},{82.76,132.21},{13.50,44.82},
  {10.65,49.67},{68.52,94.26},{28.85,75.44},{78.66,128.63},
  {10.27,45.30},{20.21,39.81},{85.99,130.98},{50.71,71.42},
  {33.52,83.11},{42.02,91.22},{81.95,133.52},{42.00,88.45},
  {93.28,144.04},{91.76,147.87},{54.37,118.42},{59.81,78.12},
  {42.51,78.12},{14.71,44.62},{36.02,56.67},{94.96,148.53},
  {99.98,135.67},{11.55,36.05},{24.24,63.03},{54.99,91.22},
  {33.00,91.65},{75.16,144.36},{88.76,142.54},{49.98,87.35},
  {35.86,61.05},{81.90,141.91},{31.71,62.45},{25.83,61.03},
  { 8.49,35.70},{75.69,128.30},{83.62,144.97},{26.60,50.01},
  {13.92,32.44},{65.81,120.45},{92.74,150.96},{60.15,102.68},
  {91.01,146.24},{34.35,60.83},{44.01,81.18},{65.31,106.48},
  {68.15,123.97},{75.57,110.51},{65.55,105.87},{14.43,37.14},
  {25.65,50.14},{89.48,144.31},{59.31,122.26},{25.78,79.82},
  {72.31,122.34},{79.97,130.61},{23.82,70.49},{36.20,80.54},
  {18.64,43.30},{16.24,56.67},{ 6.64,27.39},{97.93,155.98},
  {20.37,57.08},{33.93,76.36},{49.37,94.44},{64.48,110.94},
  {48.03,91.54},{21.97,61.20},{22.02,61.66},{50.13,95.39},
  {48.92,105.19},{14.38,44.04},{77.64,102.92},{39.12,100.47},
  { 8.97,29.69},{66.94,114.75},{50.67,85.25},{38.79,82.09},
  {48.57,74.49},{69.69,114.27},{81.95,129.60},{85.01,123.31},
  {64.49,117.95},{42.62,87.45},{ 3.84,30.82},{17.33,55.56},
  {66.24,94.77},{ 0.52,31.45},{59.14,116.42},{79.37,117.62},
  {34.91,73.84},{29.41,63.56},{80.09,138.81},{53.34,90.21},
  {40.53,91.91},{23.01,58.53},{32.58,75.48},{15.90,47.98},
  { 5.58,24.14},{59.06,115.93},{67.43,124.42},{58.44,95.71},
  {79.45,122.61},{66.57,99.14},{21.15,53.24},{46.71,94.30},
  {24.85,33.03},{38.22,76.27},{21.46,57.73},{19.01,54.31},
  {37.58,84.83},{90.52,144.01},{ 0.07,23.50},{99.32,155.94},
  {82.62,127.06},{ 0.87,29.38},{11.37,49.33},{58.23,90.59},
  { 3.74,37.56},{ 9.07,30.06},{51.29,94.47},{52.39,89.50},
  {98.37,159.16},{33.17,75.79},{58.55,110.48},{29.41,75.36},
  { 2.85,17.86},{16.82,48.18},{ 7.50,37.87},{71.20,128.33},
  {77.60,131.30},{41.49,75.43},{54.15,96.60},{95.67,160.35},
  {40.88,72.40},{25.86,50.43},{44.74,96.51},{70.50,121.79},
  { 4.20,15.74},{ 0.56,20.95},{59.24,99.63},{94.90,162.08},
  {22.88,41.76},{44.34,73.70},{32.90,64.78},{92.09,144.54},
  {64.50,123.10},{90.90,141.98},{63.43,102.73},{56.02,88.85},
  {69.47,129.39},{11.30,44.10},{ 0.89, 0.93},{39.55,74.94},
  {17.58,44.82},{35.79,63.03},{40.69,96.20},{84.17,140.40},
  {13.23,45.08},{51.02,107.55},{60.56,99.90},{52.85,95.61},
  {72.32,109.05},{42.01,81.78},{52.49,73.29},{86.05,158.54},
  {59.85,99.52},{45.49,68.20},{25.32,56.60},{78.55,104.86},
  {56.57,98.69},{99.12,130.06},{ 1.07,-0.32},{53.02,87.68},
  {66.98,116.46},{63.00,108.70},{88.99,134.64},{53.37,91.65},
  {10.13,39.45},{97.07,149.59},{85.50,142.27},{30.08,73.05},
  { 4.47,38.92},{46.64,90.55},{84.84,132.88},{ 8.56,40.82},
  {33.86,56.51},{43.73,82.73},{55.67,96.45},{ 9.49,31.08},
  {69.54,123.51},{44.59,78.62},{40.18,88.61},{12.64,50.00},
  {52.38,90.39},{41.19,105.10},{96.11,166.41},{27.74,44.96},
  {36.79,71.66},{ 4.23,21.37},{27.72,50.67},{ 9.51,36.65},
  {31.31,58.40},{88.10,128.07},{28.88,59.31},{66.09,104.18},
  {89.33,142.92},{44.11,61.80},{ 1.31,29.48},{90.24,154.17},
  {47.38,95.76},{28.07,55.21},{52.29,101.06},{63.14,101.40},
  {78.90,128.11},{20.26,34.85},{43.31,89.48},{56.94,100.09},
  {48.32,77.52},{88.96,146.43},{85.86,118.63},{ 2.05,19.48},
  {88.81,139.76},{33.38,61.97},{86.46,153.33},{70.21,125.51},
  {60.33,114.61},{40.10,86.16},{54.92,99.03},{17.74,48.48},
  {29.13,81.66},{38.50,91.91},{49.94,86.08},{36.79,67.19},
  {70.63,110.77},{50.80,84.89},{74.90,133.55},{28.34,62.10},
  { 3.02,11.89},{12.22,49.36},{98.31,158.21},{98.26,146.79},
  {50.44,79.91},{76.85,114.15},{54.10,92.78},{44.38,77.54},
  {68.34,124.52},{73.39,127.73},{93.62,143.96},{86.29,144.49},
  {14.61,56.60},{80.83,115.46},{68.38,116.28},{88.28,137.04},
  {77.87,126.99},{83.49,145.46},{22.35,62.51},{52.13,78.60},
  { 1.38,26.93},{44.54,90.02},{51.37,82.02},{72.02,127.76},
  {22.76,46.46},{98.22,147.11},{22.21,62.33},{99.29,158.31},
  {48.19,89.27},{92.79,127.22},{64.96,93.81},{ 3.57,16.73},
  {81.04,132.42},{74.21,111.82},{ 9.79,37.31},{ 4.09, 8.48},
  { 8.96,20.36},{30.70,55.48},{ 9.79,34.22},{89.76,138.25},
  {72.79,122.88},{43.20,87.57},{37.17,75.97},{14.43,36.14},
  {15.57,40.86},{ 2.20,23.61},{ 2.33,33.59},{31.66,83.74},
  {49.87,74.09},{42.59,72.01},{ 7.32,21.53},{90.68,141.21},
  {18.81,48.04},{19.26,63.05},{33.76,56.80},{79.96,129.50},
  {78.76,135.96},{93.37,124.64},{12.73,45.71},{19.49,65.10},
  {35.44,71.79},{87.92,145.25},{33.32,75.63},{ 9.60,28.09},
  {56.36,104.74},{35.20,61.94},{34.42,77.26},{76.27,118.70},
  {79.67,116.01},{81.99,124.31},{13.83,51.17},{27.94,65.67},
  {80.05,127.99},{11.82,46.14},{12.26,39.31},{13.69,38.26},
  {24.48,56.22},{ 6.74,41.08},{39.05,69.81},{ 3.53,40.31},
  {61.53,96.54},{43.41,77.91},{96.68,157.36},{63.05,100.78},
  {43.16,74.41},{86.16,125.34},{93.62,147.26},{65.39,117.76},
  {72.53,108.02},{ 6.72,37.90},{95.62,148.91},{52.28,108.74},
  {73.36,125.22},{11.78,40.55},{ 9.98,32.67},{79.02,133.92},
  { 9.50,38.50},{15.23,41.28},{24.58,62.80},{64.41,109.13}
};






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

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


__device__ double d_residual_error(double x, double y, double m, double c) {
  double e = (m * x) + c - y;
  return e * e;
}
__global__ void d_rms_error(double *m, double *c, double *error_sum_arr, point_t *d_data) {
	
	int i = threadIdx.x + blockIdx.x * blockDim.x;

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



int 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++) {
				//Add each error sum to the error sum total.
    		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;
      }

			//Reset the error sum total.
			error_sum_total = 0;
    }
   
     printf("best m,c is %lf,%lf with error %lf in direction %d\n", 
     dm[best_error_i], dc[best_error_i], best_error, best_error_i);
  

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

	//Free memory for d_dm
	error = cudaFree(d_dm);
	if(error){
		fprintf(stderr, "cudaFree on d_dm returned %d %s\n", error,
	  	cudaGetErrorString(error));
		exit(1);
	}
	
	//Free memory for d_dc
	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_002abe9f_00000000-6_SantosLinear.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	_Z9rms_errordd
	.type	_Z9rms_errordd, @function
_Z9rms_errordd:
.LFB2041:
	.cfi_startproc
	endbr64
	movl	n_data(%rip), %ecx
	leaq	data(%rip), %rax
	xorps	%xmm3, %xmm3
	xorl	%edx, %edx
.L4:
	cmpl	%edx, %ecx
	jle	.L7
	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	.L4
.L7:
	cvtsi2sdl	%ecx, %xmm0
	divsd	%xmm0, %xmm3
	movaps	%xmm3, %xmm0
	jmp	sqrt@PLT
	.cfi_endproc
.LFE2041:
	.size	_Z9rms_errordd, .-_Z9rms_errordd
	.globl	_Z15time_differenceP8timespecS0_Px
	.type	_Z15time_differenceP8timespecS0_Px, @function
_Z15time_differenceP8timespecS0_Px:
.LFB2042:
	.cfi_startproc
	endbr64
	movq	(%rsi), %rax
	movq	8(%rsi), %rcx
	subq	(%rdi), %rax
	subq	8(%rdi), %rcx
	jns	.L9
	decq	%rax
	addq	$1000000000, %rcx
.L9:
	imulq	$1000000000, %rax, %rax
	addq	%rcx, %rax
	testq	%rax, %rax
	movq	%rax, (%rdx)
	setle	%al
	movzbl	%al, %eax
	ret
	.cfi_endproc
.LFE2042:
	.size	_Z15time_differenceP8timespecS0_Px, .-_Z15time_differenceP8timespecS0_Px
	.globl	_Z16d_residual_errordddd
	.type	_Z16d_residual_errordddd, @function
_Z16d_residual_errordddd:
.LFB2043:
	.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
.LFE2043:
	.size	_Z16d_residual_errordddd, .-_Z16d_residual_errordddd
	.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	"best m,c is %lf,%lf with error %lf in direction %d\n"
.LC16:
	.string	"cudaFree on d_dm returned %d %s\n"
.LC17:
	.string	"cudaFree on d_dc returned %d %s\n"
.LC18:
	.string	"cudaFree on d_data returned %d %s\n"
.LC19:
	.string	"cudaFree on d_error_sum_arr returned %d %s\n"
.LC20:
	.string	"minimum m,c is %lf,%lf with error %lf\n"
.LC22:
	.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), %r15
	leaq	328(%rsp), %r14
	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	(%r15,%rax), %xmm0
	leaq	136(%rsp), %rsi
	addsd	16(%rsp), %xmm0
	movsd	%xmm0, 136(%rsp,%rax)
	movsd	.LC10(%rip), %xmm0
	mulsd	(%r14,%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
	movslq	%ebp, %rbx
	movsd	(%rsp), %xmm2
	movl	%ebp, %edx
	movl	$2, %edi
	movsd	136(%rsp,%rbx,8), %xmm0
	leaq	.LC15(%rip), %rsi
	movb	$3, %al
	movsd	200(%rsp,%rbx,8), %xmm1
	call	__printf_chk@PLT
	movsd	8(%rsp), %xmm7
	comisd	(%rsp), %xmm7
	jbe	.L57
	movsd	136(%rsp,%rbx,8), %xmm3
	movsd	(%rsp), %xmm5
	movsd	200(%rsp,%rbx,8), %xmm4
	movsd	%xmm3, 16(%rsp)
	movsd	%xmm4, 24(%rsp)
	movsd	%xmm5, 8(%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	.LC16(%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	.LC17(%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	.LC18(%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	.LC19(%rip), %rdx
	movq	%rax, %r8
	jmp	.L59
.L38:
	movsd	16(%rsp), %xmm0
	movsd	8(%rsp), %xmm2
	movb	$3, %al
	leaq	.LC20(%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	.LC22(%rip), %rsi
	movb	$1, %al
	movl	$2, %edi
	cvtsi2sdq	%rdx, %xmm0
	divsd	.LC21(%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
.LC25:
	.string	"_Z11d_rms_errorPdS_S_P7point_t"
.LC26:
	.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	.LC25(%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	.LC26(%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	1546188227
	.long	1079288463
	.long	-1546188227
	.long	1080180080
	.long	-343597384
	.long	1079232593
	.long	1546188227
	.long	1079992975
	.long	1889785610
	.long	1079126589
	.long	858993459
	.long	1079903027
	.long	-1889785610
	.long	1079010754
	.long	-343597384
	.long	1079580753
	.long	-1374389535
	.long	1079218503
	.long	-1546188227
	.long	1080100208
	.long	0
	.long	1079201792
	.long	171798692
	.long	1079866327
	.long	-1889785610
	.long	1079014850
	.long	1202590843
	.long	1079692001
	.long	343597384
	.long	1079183278
	.long	-858993459
	.long	1080083660
	.long	687194767
	.long	1079189340
	.long	-2061584302
	.long	1079521771
	.long	-343597384
	.long	1078458449
	.long	1374389535
	.long	1079000760
	.long	1717986918
	.long	1078912614
	.long	1717986918
	.long	1079633510
	.long	-858993459
	.long	1079319756
	.long	-858993459
	.long	1079770316
	.long	0
	.long	1078525952
	.long	-1030792151
	.long	1079453941
	.long	-1546188227
	.long	1079573872
	.long	858993459
	.long	1080189747
	.long	2061584302
	.long	1075818004
	.long	-171798692
	.long	1078221864
	.long	-171798692
	.long	1077173288
	.long	858993459
	.long	1078162227
	.long	-171798692
	.long	1078631464
	.long	-515396076
	.long	1079264378
	.long	-2061584302
	.long	1077826027
	.long	-515396076
	.long	1079141498
	.long	-343597384
	.long	1079285841
	.long	-687194767
	.long	1080072355
	.long	-515396076
	.long	1078867066
	.long	1546188227
	.long	1079546511
	.long	515396076
	.long	1074654085
	.long	858993459
	.long	1078063923
	.long	2061584302
	.long	1079242260
	.long	1030792151
	.long	1079863050
	.long	-858993459
	.long	1077251276
	.long	1889785610
	.long	1079106109
	.long	687194767
	.long	1077202780
	.long	1717986918
	.long	1078814310
	.long	1717986918
	.long	1075537510
	.long	1717986918
	.long	1077765734
	.long	-1717986918
	.long	1078466969
	.long	1202590843
	.long	1078672097
	.long	-1374389535
	.long	1078935879
	.long	-343597384
	.long	1079588945
	.long	1374389535
	.long	1074208440
	.long	1889785610
	.long	1078217277
	.long	-1717986918
	.long	1079245209
	.long	171798692
	.long	1079948247
	.long	-171798692
	.long	1079327784
	.long	-1202590843
	.long	1080108318
	.long	-858993459
	.long	1079393484
	.long	0
	.long	1080299520
	.long	0
	.long	1078427648
	.long	-858993459
	.long	1079098572
	.long	1030792151
	.long	1079228170
	.long	1202590843
	.long	1080160993
	.long	-1202590843
	.long	1078945054
	.long	-1202590843
	.long	1079653662
	.long	1889785610
	.long	1077168701
	.long	515396076
	.long	1079016325
	.long	-2061584302
	.long	1079308779
	.long	-687194767
	.long	1079963811
	.long	515396076
	.long	1076849541
	.long	-2061584302
	.long	1078235627
	.long	-858993459
	.long	1078504652
	.long	-1374389535
	.long	1079394631
	.long	1374389535
	.long	1078329016
	.long	-1030792151
	.long	1079503093
	.long	1374389535
	.long	1077419704
	.long	1717986918
	.long	1079092838
	.long	2061584302
	.long	1078095380
	.long	-858993459
	.long	1079061708
	.long	515396076
	.long	1074523013
	.long	858993459
	.long	1077408563
	.long	1030792151
	.long	1078114058
	.long	-2061584302
	.long	1079071211
	.long	858993459
	.long	1079092019
	.long	1030792151
	.long	1079498506
	.long	1889785610
	.long	1078643261
	.long	1030792151
	.long	1079240458
	.long	-1202590843
	.long	1078715678
	.long	1546188227
	.long	1079595663
	.long	171798692
	.long	1076913111
	.long	343597384
	.long	1078798254
	.long	-1717986918
	.long	1079437721
	.long	1546188227
	.long	1079825039
	.long	-1717986918
	.long	1079290265
	.long	-515396076
	.long	1080056954
	.long	171798692
	.long	1078485975
	.long	-343597384
	.long	1079666769
	.long	1202590843
	.long	1079294689
	.long	343597384
	.long	1080065966
	.long	1030792151
	.long	1078998794
	.long	-1889785610
	.long	1079739842
	.long	0
	.long	1078996992
	.long	-1030792151
	.long	1079474421
	.long	-2061584302
	.long	1075007979
	.long	-1030792151
	.long	1077537013
	.long	-1374389535
	.long	1071833415
	.long	515396076
	.long	1077816197
	.long	1889785610
	.long	1072106045
	.long	-1030792151
	.long	1077700853
	.long	-343597384
	.long	1076918353
	.long	858993459
	.long	1078399795
	.long	-1889785610
	.long	1078212034
	.long	1030792151
	.long	1079084810
	.long	-687194767
	.long	1074360483
	.long	1546188227
	.long	1077527183
	.long	1546188227
	.long	1078821519
	.long	687194767
	.long	1079795548
	.long	1546188227
	.long	1077953167
	.long	2061584302
	.long	1079012884
	.long	858993459
	.long	1078285107
	.long	687194767
	.long	1079373660
	.long	-1202590843
	.long	1079092510
	.long	1030792151
	.long	1079977738
	.long	1889785610
	.long	1068960317
	.long	-515396076
	.long	1077826682
	.long	-1546188227
	.long	1077362032
	.long	-171798692
	.long	1078991912
	.long	858993459
	.long	1079165747
	.long	-1717986918
	.long	1079998873
	.long	-1030792151
	.long	1077422325
	.long	0
	.long	1078501376
	.long	0
	.long	1078124544
	.long	1889785610
	.long	1079192125
	.long	2061584302
	.long	1079270932
	.long	2061584302
	.long	1080108564
	.long	1889785610
	.long	1078839869
	.long	-687194767
	.long	1079709859
	.long	343597384
	.long	1078839214
	.long	1546188227
	.long	1079816847
	.long	-1030792151
	.long	1079195893
	.long	-2061584302
	.long	1080033771
	.long	-1202590843
	.long	1076069662
	.long	515396076
	.long	1078356869
	.long	171798692
	.long	1077044183
	.long	-1546188227
	.long	1078566256
	.long	-1202590843
	.long	1078797598
	.long	-1889785610
	.long	1079903682
	.long	171798692
	.long	1079260119
	.long	-2061584302
	.long	1079886315
	.long	515396076
	.long	1079212933
	.long	1374389535
	.long	1080071864
	.long	858993459
	.long	1079530291
	.long	687194767
	.long	1080096604
	.long	-1030792151
	.long	1079068917
	.long	-1374389535
	.long	1079451975
	.long	515396076
	.long	1077308293
	.long	-858993459
	.long	1078529228
	.long	858993459
	.long	1078260531
	.long	515396076
	.long	1078840197
	.long	-1889785610
	.long	1077990850
	.long	1889785610
	.long	1078676029
	.long	-171798692
	.long	1079483432
	.long	-515396076
	.long	1080259706
	.long	-1374389535
	.long	1078542663
	.long	-687194767
	.long	1079447715
	.long	-1030792151
	.long	1078544629
	.long	687194767
	.long	1079091036
	.long	-1717986918
	.long	1078827417
	.long	-2061584302
	.long	1079636459
	.long	515396076
	.long	1078758277
	.long	687194767
	.long	1079750492
	.long	2061584302
	.long	1079238164
	.long	0
	.long	1079971840
	.long	-1030792151
	.long	1079240949
	.long	-687194767
	.long	1079857315
	.long	-2061584302
	.long	1078292971
	.long	2061584302
	.long	1079410196
	.long	-1030792151
	.long	1078999285
	.long	-687194767
	.long	1079709859
	.long	-1374389535
	.long	1079001415
	.long	1889785610
	.long	1079700029
	.long	-171798692
	.long	1079573544
	.long	0
	.long	1080320000
	.long	343597384
	.long	1078151086
	.long	-1717986918
	.long	1079277977
	.long	1202590843
	.long	1079495393
	.long	1546188227
	.long	1080193679
	.long	1202590843
	.long	1078852321
	.long	858993459
	.long	1079796531
	.long	0
	.long	1077035008
	.long	1374389535
	.long	1078345400
	.long	858993459
	.long	1076179763
	.long	515396076
	.long	1077128069
	.long	1030792151
	.long	1077991178
	.long	343597384
	.long	1079191470
	.long	1202590843
	.long	1079515873
	.long	1202590843
	.long	1080210145
	.long	-343597384
	.long	1077508177
	.long	-858993459
	.long	1078209740
	.long	343597384
	.long	1077790638
	.long	171798692
	.long	1079137239
	.long	515396076
	.long	1077955461
	.long	-1202590843
	.long	1078928670
	.long	687194767
	.long	1077997404
	.long	1546188227
	.long	1079075471
	.long	858993459
	.long	1078661939
	.long	0
	.long	1079615488
	.long	-1374389535
	.long	1076650311
	.long	-171798692
	.long	1078352936
	.long	-1717986918
	.long	1076173209
	.long	0
	.long	1078452224
	.long	-858993459
	.long	1079282892
	.long	-343597384
	.long	1079760977
	.long	-1030792151
	.long	1076832501
	.long	171798692
	.long	1078313943
	.long	2061584302
	.long	1079107092
	.long	1374389535
	.long	1079623352
	.long	1374389535
	.long	1076797112
	.long	2061584302
	.long	1078406676
	.long	-1202590843
	.long	1073448222
	.long	-1030792151
	.long	1076439285
	.long	515396076
	.long	1077652357
	.long	-858993459
	.long	1078832332
	.long	-343597384
	.long	1079306321
	.long	858993459
	.long	1080193843
	.long	2061584302
	.long	1078341140
	.long	171798692
	.long	1078756311
	.long	-1374389535
	.long	1077010759
	.long	-1030792151
	.long	1078397173
	.long	1546188227
	.long	1078141583
	.long	-171798692
	.long	1079024680
	.long	1546188227
	.long	1079407247
	.long	1202590843
	.long	1080140513
	.long	343597384
	.long	1078675374
	.long	-1889785610
	.long	1079326146
	.long	1030792151
	.long	1075959562
	.long	-1030792151
	.long	1078749429
	.long	515396076
	.long	1076325253
	.long	1889785610
	.long	1077348925
	.long	1546188227
	.long	1079067279
	.long	-515396076
	.long	1079891066
	.long	687194767
	.long	1079099228
	.long	-1546188227
	.long	1079893360
	.long	-1546188227
	.long	1075854704
	.long	-1717986918
	.long	1078049177
	.long	-343597384
	.long	1077606481
	.long	-1202590843
	.long	1078920478
	.long	-1374389535
	.long	1079185735
	.long	-1030792151
	.long	1080158453
	.long	-687194767
	.long	1077620899
	.long	-515396076
	.long	1078613114
	.long	515396076
	.long	1075702661
	.long	-687194767
	.long	1078063267
	.long	343597384
	.long	1077561262
	.long	-1202590843
	.long	1078404382
	.long	-343597384
	.long	1076869201
	.long	343597384
	.long	1078503342
	.long	1374389535
	.long	1078599352
	.long	-171798692
	.long	1079094312
	.long	-1374389535
	.long	1079128391
	.long	-858993459
	.long	1080044748
	.long	-1717986918
	.long	1074370969
	.long	171798692
	.long	1077863383
	.long	1717986918
	.long	1079125606
	.long	515396076
	.long	1080007557
	.long	1030792151
	.long	1078843146
	.long	-1374389535
	.long	1079517511
	.long	2061584302
	.long	1079373332
	.long	1202590843
	.long	1080087265
	.long	-515396076
	.long	1079022714
	.long	-1030792151
	.long	1079871733
	.long	-858993459
	.long	1078955212
	.long	-1717986918
	.long	1079740825
	.long	-2061584302
	.long	1079398891
	.long	1546188227
	.long	1080144527
	.long	1889785610
	.long	1078782525
	.long	171798692
	.long	1079542743
	.long	858993459
	.long	1078178611
	.long	-687194767
	.long	1079451811
	.long	343597384
	.long	1079355310
	.long	1374389535
	.long	1080080056
	.long	-1202590843
	.long	1078125854
	.long	1889785610
	.long	1078848061
	.long	0
	.long	1079468032
	.long	-2061584302
	.long	1080123883
	.long	1546188227
	.long	1078862479
	.long	1717986918
	.long	1079731814
	.long	-2061584302
	.long	1077891563
	.long	0
	.long	1079226368
	.long	-1030792151
	.long	1079118069
	.long	1030792151
	.long	1079944970
	.long	1546188227
	.long	1075561103
	.long	858993459
	.long	1078145843
	.long	1030792151
	.long	1077712650
	.long	1030792151
	.long	1079142154
	.long	1202590843
	.long	1079134945
	.long	-1374389535
	.long	1079816519
	.long	-858993459
	.long	1077939404
	.long	1889785610
	.long	1078880829
	.long	858993459
	.long	1078367027
	.long	0
	.long	1079353344
	.long	171798692
	.long	1078870999
	.long	1889785610
	.long	1079712317
	.long	-1202590843
	.long	1077888286
	.long	0
	.long	1078755328
	.long	-687194767
	.long	1078177955
	.long	1030792151
	.long	1079056138
	.long	-171798692
	.long	1079135272
	.long	858993459
	.long	1080091443
	.long	-1546188227
	.long	1078418800
	.long	-1202590843
	.long	1079219486
	.long	-1202590843
	.long	1076921630
	.long	1202590843
	.long	1078524641
	.long	1030792151
	.long	1078015754
	.long	1717986918
	.long	1078879846
	.long	343597384
	.long	1077979054
	.long	-171798692
	.long	1079094312
	.long	-1889785610
	.long	1079289282
	.long	687194767
	.long	1079889756
	.long	-1030792151
	.long	1078929653
	.long	-1374389535
	.long	1079722311
	.long	2061584302
	.long	1076702740
	.long	2061584302
	.long	1078169108
	.long	0
	.long	1079336960
	.long	1202590843
	.long	1080199905
	.long	-858993459
	.long	1074973900
	.long	1030792151
	.long	1076778762
	.long	-343597384
	.long	1079203921
	.long	1202590843
	.long	1080068833
	.long	1889785610
	.long	1078135357
	.long	858993459
	.long	1079235379
	.long	171798692
	.long	1078305751
	.long	687194767
	.long	1079267164
	.long	-1374389535
	.long	1078550855
	.long	1030792151
	.long	1079330570
	.long	1717986918
	.long	1075340902
	.long	171798692
	.long	1078338519
	.long	1374389535
	.long	1076977336
	.long	515396076
	.long	1078176645
	.long	-1546188227
	.long	1078631792
	.long	-687194767
	.long	1079615651
	.long	-171798692
	.long	1078426664
	.long	-1546188227
	.long	1079328112
	.long	-1889785610
	.long	1079285186
	.long	-171798692
	.long	1079925800
	.long	-515396076
	.long	1079293050
	.long	-858993459
	.long	1080095948
	.long	1717986918
	.long	1076749926
	.long	1202590843
	.long	1078409953
	.long	-1889785610
	.long	1078031810
	.long	1202590843
	.long	1078721249
	.long	0
	.long	1079189504
	.long	-1030792151
	.long	1079924981
	.long	1202590843
	.long	1078000353
	.long	-1546188227
	.long	1079291248
	.long	343597384
	.long	1077995438
	.long	-1546188227
	.long	1079176560
	.long	2061584302
	.long	1079344660
	.long	1546188227
	.long	1080177295
	.long	1030792151
	.long	1078687498
	.long	-1374389535
	.long	1079689543
	.long	515396076
	.long	1078061957
	.long	-1030792151
	.long	1079150837
	.long	0
	.long	1077886976
	.long	-1374389535
	.long	1079116103
	.long	1717986918
	.long	1078371942
	.long	1546188227
	.long	1079296655
	.long	858993459
	.long	1078096691
	.long	1374389535
	.long	1079221944
	.long	-1202590843
	.long	1079121182
	.long	1717986918
	.long	1079817830
	.long	-1202590843
	.long	1076004126
	.long	2061584302
	.long	1078365716
	.long	-515396076
	.long	1078137978
	.long	-1889785610
	.long	1079244226
	.long	343597384
	.long	1079175086
	.long	-1202590843
	.long	1079944478
	.long	-858993459
	.long	1078406348
	.long	0
	.long	1079259136
	.long	-687194767
	.long	1078833315
	.long	-858993459
	.long	1079319756
	.long	0
	.long	1079250944
	.long	2061584302
	.long	1080167956
	.long	343597384
	.long	1079162798
	.long	858993459
	.long	1080044339
	.long	-515396076
	.long	1079223418
	.long	-1030792151
	.long	1080117493
	.long	1546188227
	.long	1079046799
	.long	1202590843
	.long	1079728865
	.long	-687194767
	.long	1078743203
	.long	-515396076
	.long	1079399546
	.long	343597384
	.long	1079367598
	.long	1717986918
	.long	1080249958
	.long	343597384
	.long	1077462958
	.long	171798692
	.long	1079047127
	.long	515396076
	.long	1078283141
	.long	-1546188227
	.long	1079078256
	.long	1374389535
	.long	1077272248
	.long	515396076
	.long	1078725509
	.long	858993459
	.long	1078375219
	.long	515396076
	.long	1079323525
	.long	0
	.long	1078624256
	.long	858993459
	.long	1079464755
	.long	515396076
	.long	1076095877
	.long	-515396076
	.long	1078023290
	.long	687194767
	.long	1079091036
	.long	1717986918
	.long	1079690854
	.long	-687194767
	.long	1077489827
	.long	-343597384
	.long	1078736977
	.long	-1202590843
	.long	1077691678
	.long	-1030792151
	.long	1078741237
	.long	687194767
	.long	1077579612
	.long	858993459
	.long	1078375219
	.long	515396076
	.long	1077226373
	.long	1202590843
	.long	1078401761
	.long	-858993459
	.long	1079131340
	.long	-858993459
	.long	1079991500
	.long	-1717986918
	.long	1078098329
	.long	1374389535
	.long	1079291576
	.long	687194767
	.long	1078030172
	.long	-1889785610
	.long	1078973890
	.long	1030792151
	.long	1077597962
	.long	171798692
	.long	1079215063
	.long	1202590843
	.long	1075280609
	.long	1546188227
	.long	1078100623
	.long	-1717986918
	.long	1079269785
	.long	171798692
	.long	1079808983
	.long	1374389535
	.long	1078402744
	.long	-1889785610
	.long	1079035330
	.long	-343597384
	.long	1076803665
	.long	687194767
	.long	1077727068
	.long	0
	.long	1079144448
	.long	-1717986918
	.long	1079916953
	.long	515396076
	.long	1077291909
	.long	515396076
	.long	1078692741
	.long	1717986918
	.long	1077782118
	.long	1202590843
	.long	1078885089
	.long	-1717986918
	.long	1078548889
	.long	858993459
	.long	1079173939
	.long	-2061584302
	.long	1078686187
	.long	-687194767
	.long	1079234723
	.long	1717986918
	.long	1079256678
	.long	-515396076
	.long	1080149114
	.long	1374389535
	.long	1077452472
	.long	1889785610
	.long	1079028285
	.long	1374389535
	.long	1073553080
	.long	687194767
	.long	1077186396
	.long	-1889785610
	.long	1079055810
	.long	1374389535
	.long	1079701176
	.long	-171798692
	.long	1079495720
	.long	343597384
	.long	1080313774
	.long	1889785610
	.long	1075939901
	.long	-1202590843
	.long	1078191390
	.long	515396076
	.long	1079552901
	.long	-2061584302
	.long	1080252907
	.long	-343597384
	.long	1078351953
	.long	1889785610
	.long	1079220797
	.long	1717986918
	.long	1078806118
	.long	0
	.long	1079320576
	.long	-171798692
	.long	1079290920
	.long	515396076
	.long	1080044421
	.long	1546188227
	.long	1079181967
	.long	-858993459
	.long	1080138956
	.long	687194767
	.long	1077202780
	.long	-515396076
	.long	1078072442
	.long	171798692
	.long	1079473111
	.long	-858993459
	.long	1080171724
	.long	343597384
	.long	1079076782
	.long	1546188227
	.long	1079755407
	.long	0
	.long	1079062528
	.long	-1889785610
	.long	1079563714
	.long	0
	.long	1077264384
	.long	171798692
	.long	1078117335
	.long	-171798692
	.long	1078516776
	.long	687194767
	.long	1079254876
	.long	1202590843
	.long	1078139617
	.long	-1374389535
	.long	1078608199
	.long	-1374389535
	.long	1078935879
	.long	-2061584302
	.long	1079640555
	.long	1374389535
	.long	1075977912
	.long	-1030792151
	.long	1077938421
	.long	-1717986918
	.long	1075976601
	.long	1717986918
	.long	1078355558
	.long	-343597384
	.long	1079388241
	.long	171798692
	.long	1080153047
	.long	-1030792151
	.long	1078274293
	.long	687194767
	.long	1079594844
	.long	-858993459
	.long	1077775564
	.long	1202590843
	.long	1078532833
	.long	-1374389535
	.long	1077469511
	.long	343597384
	.long	1078618030
	.long	1889785610
	.long	1079564861
	.long	171798692
	.long	1080237015
	.long	515396076
	.long	1078586245
	.long	171798692
	.long	1079571415
	.long	-1717986918
	.long	1078409625
	.long	-343597384
	.long	1079547985
	.long	-2061584302
	.long	1078129131
	.long	-515396076
	.long	1079104634
	.long	171798692
	.long	1079526359
	.long	1030792151
	.long	1080299274
	.long	-1546188227
	.long	1077394800
	.long	-1202590843
	.long	1079096606
	.long	515396076
	.long	1079352197
	.long	-171798692
	.long	1080183848
	.long	2061584302
	.long	1077407252
	.long	-858993459
	.long	1078316236
	.long	0
	.long	1078018048
	.long	343597384
	.long	1079179182
	.long	515396076
	.long	1073867653
	.long	-858993459
	.long	1077169356
	.long	515396076
	.long	1079212933
	.long	0
	.long	1080119296
	.long	1717986918
	.long	1079154278
	.long	1202590843
	.long	1079769825
	.long	2061584302
	.long	1079397908
	.long	171798692
	.long	1080142807
	.long	343597384
	.long	1078519726
	.long	171798692
	.long	1079423959
	.long	-1546188227
	.long	1079102832
	.long	-1030792151
	.long	1079642357
	.long	171798692
	.long	1077191639
	.long	-343597384
	.long	1078319185
	.long	343597384
	.long	1079031726
	.long	171798692
	.long	1079759831
	.long	2061584302
	.long	1079172628
	.long	1202590843
	.long	1079839457
	.long	-2061584302
	.long	1077449195
	.long	687194767
	.long	1078759260
	.long	2061584302
	.long	1079041556
	.long	-515396076
	.long	1079551098
	.long	-1030792151
	.long	1079335157
	.long	-1889785610
	.long	1080075714
	.long	687194767
	.long	1078366044
	.long	687194767
	.long	1079394140
	.long	343597384
	.long	1077528494
	.long	-343597384
	.long	1078220881
	.long	0
	.long	1075937280
	.long	-1546188227
	.long	1078345072
	.long	2061584302
	.long	1076669972
	.long	-171798692
	.long	1079008296
	.long	-515396076
	.long	1079542906
	.long	-1202590843
	.long	1080290590
	.long	1030792151
	.long	1078986506
	.long	-2061584302
	.long	1079607787
	.long	0
	.long	1077264384
	.long	858993459
	.long	1079083827
	.long	-2061584302
	.long	1079456235
	.long	-1202590843
	.long	1080225054
	.long	2061584302
	.long	1079107092
	.long	-1030792151
	.long	1079945461
	.long	-515396076
	.long	1079108730
	.long	-1717986918
	.long	1080002969
	.long	1374389535
	.long	1079045816
	.long	1717986918
	.long	1079842406
	.long	1202590843
	.long	1078811361
	.long	-1546188227
	.long	1079590256
	.long	0
	.long	1077985280
	.long	-1717986918
	.long	1078827417
	.long	1030792151
	.long	1077057290
	.long	0
	.long	1079029760
	.long	687194767
	.long	1079226204
	.long	0
	.long	1079836672
	.long	1546188227
	.long	1077707407
	.long	2061584302
	.long	1079217684
	.long	1202590843
	.long	1075018465
	.long	2061584302
	.long	1078357524
	.long	171798692
	.long	1077306327
	.long	2061584302
	.long	1078234644
	.long	171798692
	.long	1077986263
	.long	-515396076
	.long	1078948986
	.long	-1030792151
	.long	1077684469
	.long	515396076
	.long	1078971269
	.long	-858993459
	.long	1079524556
	.long	-343597384
	.long	1080201297
	.long	515396076
	.long	1079548805
	.long	-515396076
	.long	1080169594
	.long	-1546188227
	.long	1079352688
	.long	-515396076
	.long	1080261754
	.long	1374389535
	.long	1079279288
	.long	1030792151
	.long	1080096522
	.long	687194767
	.long	1079566172
	.long	-1717986918
	.long	1080244633
	.long	-858993459
	.long	1078856908
	.long	-858993459
	.long	1079696588
	.long	858993459
	.long	1078678323
	.long	-2061584302
	.long	1079505387
	.long	1202590843
	.long	1074821857
	.long	515396076
	.long	1077799813
	.long	-687194767
	.long	1079455907
	.long	1889785610
	.long	1080222269
	.long	687194767
	.long	1077088092
	.long	687194767
	.long	1078456156
	.long	687194767
	.long	1079160668
	.long	1030792151
	.long	1079817994
	.long	1546188227
	.long	1078747791
	.long	-858993459
	.long	1079184588
	.long	171798692
	.long	1078895575
	.long	1202590843
	.long	1079692001
	.long	-1546188227
	.long	1078517104
	.long	515396076
	.long	1079425925
	.long	1374389535
	.long	1077911224
	.long	1202590843
	.long	1079302881
	.long	2061584302
	.long	1079119380
	.long	343597384
	.long	1080063918
	.long	-171798692
	.long	1078475816
	.long	-1202590843
	.long	1079325982
	.long	-1889785610
	.long	1079408066
	.long	2061584302
	.long	1079983636
	.long	1889785610
	.long	1079179837
	.long	858993459
	.long	1079792435
	.long	515396076
	.long	1075440517
	.long	0
	.long	1076232192
	.long	0
	.long	1079091200
	.long	687194767
	.long	1079865180
	.long	-1030792151
	.long	1078102261
	.long	1374389535
	.long	1079221944
	.long	1889785610
	.long	1078594109
	.long	1374389535
	.long	1079582392
	.long	-1374389535
	.long	1079497031
	.long	-2061584302
	.long	1080222187
	.long	1546188227
	.long	1079247503
	.long	1889785610
	.long	1080015421
	.long	0
	.long	1079558144
	.long	-858993459
	.long	1080214732
	.long	-1374389535
	.long	1077469511
	.long	-2061584302
	.long	1078325739
	.long	-858993459
	.long	1076612300
	.long	1717986918
	.long	1077913190
	.long	1546188227
	.long	1076347535
	.long	-1889785610
	.long	1078162882
	.long	-1202590843
	.long	1075905822
	.long	343597384
	.long	1077962670
	.long	171798692
	.long	1079079895
	.long	-1717986918
	.long	1079855513
	.long	-1374389535
	.long	1079566663
	.long	-171798692
	.long	1080181800
	.long	-1202590843
	.long	1078813982
	.long	-2061584302
	.long	1079378411
	.long	1717986918
	.long	1074947686
	.long	-171798692
	.long	1076845608
	.long	1030792151
	.long	1078122250
	.long	-1374389535
	.long	1079222599
	.long	-1717986918
	.long	1078180249
	.long	-1717986918
	.long	1079060889
	.long	-1374389535
	.long	1073668423
	.long	687194767
	.long	1077792604
	.long	-858993459
	.long	1079057612
	.long	1889785610
	.long	1079814717
	.long	515396076
	.long	1078963077
	.long	-1202590843
	.long	1079858462
	.long	1030792151
	.long	1078064906
	.long	1889785610
	.long	1079196221
	.long	1374389535
	.long	1079410360
	.long	-1546188227
	.long	1080186224
	.long	2061584302
	.long	1078185492
	.long	2061584302
	.long	1079193108
	.long	-1374389535
	.long	1079468359
	.long	-1889785610
	.long	1080053186
	.long	-343597384
	.long	1079457873
	.long	1030792151
	.long	1080117002
	.long	-858993459
	.long	1078406348
	.long	1717986918
	.long	1079756390
	.long	-343597384
	.long	1079457873
	.long	1374389535
	.long	1080141496
	.long	-515396076
	.long	1079088250
	.long	-1030792151
	.long	1079806197
	.long	-1030792151
	.long	1076177141
	.long	171798692
	.long	1077535703
	.long	0
	.long	1079398400
	.long	-343597384
	.long	1080223825
	.long	171798692
	.long	1079423959
	.long	515396076
	.long	1080054661
	.long	-171798692
	.long	1079471144
	.long	-1546188227
	.long	1080073584
	.long	1374389535
	.long	1078427320
	.long	-858993459
	.long	1079237836
	.long	-515396076
	.long	1079432314
	.long	1030792151
	.long	1080121098
	.long	1717986918
	.long	1073899110
	.long	515396076
	.long	1076849541
	.long	0
	.long	1073872896
	.long	-1030792151
	.long	1077848309
	.long	-2061584302
	.long	1077383659
	.long	-1717986918
	.long	1078704537
	.long	-1202590843
	.long	1076397342
	.long	-687194767
	.long	1077850275
	.long	-1546188227
	.long	1075068272
	.long	687194767
	.long	1078071132
	.long	-1374389535
	.long	1078542663
	.long	-1889785610
	.long	1079670210
	.long	-687194767
	.long	1079345315
	.long	-687194767
	.long	1080066211
	.long	-1202590843
	.long	1079194910
	.long	-2061584302
	.long	1079947755
	.long	-343597384
	.long	1074575441
	.long	-515396076
	.long	1077695610
	.long	171798692
	.long	1078346711
	.long	1889785610
	.long	1079343677
	.long	-515396076
	.long	1077965946
	.long	2061584302
	.long	1079221780
	.long	515396076
	.long	1077767045
	.long	-1717986918
	.long	1079003545
	.long	1717986918
	.long	1075668582
	.long	1030792151
	.long	1077303050
	.long	515396076
	.long	1077291909
	.long	-1374389535
	.long	1077977415
	.long	-1202590843
	.long	1079252254
	.long	-1202590843
	.long	1080120606
	.long	2061584302
	.long	1076899348
	.long	1546188227
	.long	1078444687
	.long	-858993459
	.long	1077316812
	.long	-343597384
	.long	1079068753
	.long	1717986918
	.long	1078830694
	.long	-1202590843
	.long	1079637278
	.long	1030792151
	.long	1077106442
	.long	-1546188227
	.long	1078779248
	.long	1546188227
	.long	1077068431
	.long	515396076
	.long	1078840197
	.long	343597384
	.long	1079248814
	.long	-343597384
	.long	1079924817
	.long	-343597384
	.long	1079425105
	.long	-1717986918
	.long	1080175001
	.long	-1546188227
	.long	1076313456
	.long	1374389535
	.long	1078509240
	.long	-1202590843
	.long	1079342366
	.long	-171798692
	.long	1080159272
	.long	1889785610
	.long	1079278141
	.long	-515396076
	.long	1080081530
	.long	-858993459
	.long	1078127820
	.long	-1889785610
	.long	1079174594
	.long	0
	.long	1076920320
	.long	-343597384
	.long	1077966929
	.long	-1374389535
	.long	1079058759
	.long	-343597384
	.long	1079867473
	.long	-515396076
	.long	1078596730
	.long	-1546188227
	.long	1079496048
	.long	1030792151
	.long	1077139210
	.long	-1546188227
	.long	1078951280
	.long	-1546188227
	.long	1078877552
	.long	343597384
	.long	1079855022
	.long	858993459
	.long	1078981427
	.long	515396076
	.long	1079753605
	.long	171798692
	.long	1076863959
	.long	2061584302
	.long	1078341140
	.long	687194767
	.long	1079463772
	.long	858993459
	.long	1080228659
	.long	-515396076
	.long	1076139130
	.long	-1030792151
	.long	1077897461
	.long	-687194767
	.long	1079062691
	.long	1889785610
	.long	1079958077
	.long	1546188227
	.long	1077658255
	.long	-1030792151
	.long	1079048437
	.long	687194767
	.long	1078390620
	.long	1546188227
	.long	1079198351
	.long	-858993459
	.long	1078709452
	.long	1202590843
	.long	1079515873
	.long	-1374389535
	.long	1078534471
	.long	-858993459
	.long	1079454924
	.long	-1374389535
	.long	1078673735
	.long	0
	.long	1079447552
	.long	-687194767
	.long	1077162147
	.long	1030792151
	.long	1078408970
	.long	-1889785610
	.long	1079481794
	.long	515396076
	.long	1080138629
	.long	-687194767
	.long	1079369891
	.long	1374389535
	.long	1080065720
	.long	-343597384
	.long	1073789009
	.long	1717986918
	.long	1078003302
	.long	687194767
	.long	1079189340
	.long	-515396076
	.long	1080083578
	.long	1717986918
	.long	1079195238
	.long	-1889785610
	.long	1080006082
	.long	1546188227
	.long	1079079567
	.long	515396076
	.long	1079708549
	.long	343597384
	.long	1079539630
	.long	0
	.long	1080367104
	.long	687194767
	.long	1078103900
	.long	-2061584302
	.long	1078702571
	.long	-1030792151
	.long	1077913845
	.long	1889785610
	.long	1079155261
	.long	-1202590843
	.long	1079051550
	.long	1546188227
	.long	1079612047
	.long	858993459
	.long	1078121267
	.long	-1202590843
	.long	1079076126
	.long	-1889785610
	.long	1079530946
	.long	-1202590843
	.long	1080151326
	.long	343597384
	.long	1078650798
	.long	1030792151
	.long	1079588618
	.long	0
	.long	1078681600
	.long	515396076
	.long	1079581573
	.long	171798692
	.long	1075094487
	.long	-515396076
	.long	1077941370
	.long	343597384
	.long	1079080878
	.long	1889785610
	.long	1079900733
	.long	343597384
	.long	1077962670
	.long	1717986918
	.long	1078961766
	.long	-2061584302
	.long	1078194667
	.long	-858993459
	.long	1079368908
	.long	-1030792151
	.long	1079134453
	.long	1546188227
	.long	1080025743
	.long	-1374389535
	.long	1077387591
	.long	1030792151
	.long	1078994698
	.long	1030792151
	.long	1076745994
	.long	1030792151
	.long	1078875914
	.long	-1202590843
	.long	1079555358
	.long	171798692
	.long	1080251351
	.long	1889785610
	.long	1079208509
	.long	0
	.long	1079980032
	.long	-2061584302
	.long	1079460331
	.long	687194767
	.long	1080262492
	.long	-515396076
	.long	1078432890
	.long	-515396076
	.long	1079002234
	.long	1202590843
	.long	1077263073
	.long	-1889785610
	.long	1078252994
	.long	343597384
	.long	1078790062
	.long	-343597384
	.long	1079605329
	.long	-2061584302
	.long	1078981099
	.long	515396076
	.long	1079790469
	.long	2061584302
	.long	1079213588
	.long	-1374389535
	.long	1079959879
	.long	-1030792151
	.long	1077782773
	.long	1374389535
	.long	1078435512
	.long	-1889785610
	.long	1079223746
	.long	343597384
	.long	1079949230
	.long	-171798692
	.long	1078156328
	.long	2061584302
	.long	1078890004
	.long	-1717986918
	.long	1078237593
	.long	0
	.long	1079017472
	.long	-1030792151
	.long	1078880501
	.long	-515396076
	.long	1079493754
	.long	1202590843
	.long	1074821857
	.long	-515396076
	.long	1077384314
	.long	-1030792151
	.long	1079175413
	.long	-687194767
	.long	1079861411
	.long	-687194767
	.long	1079365795
	.long	1889785610
	.long	1080173117
	.long	-687194767
	.long	1079185571
	.long	-1202590843
	.long	1080126750
	.long	-1546188227
	.long	1078386032
	.long	1546188227
	.long	1079444111
	.long	515396076
	.long	1079012229
	.long	-1030792151
	.long	1079810293
	.long	1202590843
	.long	1079012065
	.long	-1374389535
	.long	1079976263
	.long	687194767
	.long	1077104476
	.long	-515396076
	.long	1078785146
	.long	1030792151
	.long	1078081290
	.long	2061584302
	.long	1078988308
	.long	343597384
	.long	1079568302
	.long	-171798692
	.long	1080335400
	.long	-515396076
	.long	1078531194
	.long	-1717986918
	.long	1079114137
	.long	-1717986918
	.long	1078516121
	.long	1030792151
	.long	1079564042
	.long	-1030792151
	.long	1078544629
	.long	515396076
	.long	1079270277
	.long	-343597384
	.long	1078646865
	.long	-515396076
	.long	1079227514
	.long	-1374389535
	.long	1078862151
	.long	-858993459
	.long	1079594188
	.long	-1889785610
	.long	1079342530
	.long	-858993459
	.long	1080097996
	.long	1374389535
	.long	1079496376
	.long	343597384
	.long	1080307630
	.long	-1717986918
	.long	1078630809
	.long	-171798692
	.long	1079397416
	.long	1030792151
	.long	1079432970
	.long	687194767
	.long	1080125276
	.long	-858993459
	.long	1077791948
	.long	1202590843
	.long	1078893281
	.long	-858993459
	.long	1078881484
	.long	-171798692
	.long	1079831592
	.long	-687194767
	.long	1073967267
	.long	-1374389535
	.long	1077551431
	.long	-2061584302
	.long	1077170667
	.long	-171798692
	.long	1078787112
	.long	687194767
	.long	1077792604
	.long	-515396076
	.long	1079096442
	.long	1889785610
	.long	1078094397
	.long	343597384
	.long	1079195566
	.long	687194767
	.long	1079500636
	.long	-515396076
	.long	1080196218
	.long	858993459
	.long	1077621555
	.long	-1374389535
	.long	1079095623
	.long	1374389535
	.long	1075977912
	.long	343597384
	.long	1078118318
	.long	858993459
	.long	1076048691
	.long	0
	.long	1077559296
	.long	1202590843
	.long	1078024929
	.long	-2061584302
	.long	1079538155
	.long	343597384
	.long	1078454190
	.long	-858993459
	.long	1079344332
	.long	2061584302
	.long	1078365716
	.long	-343597384
	.long	1079392337
	.long	515396076
	.long	1079438213
	.long	1717986918
	.long	1080383078
	.long	687194767
	.long	1078914908
	.long	0
	.long	1079635968
	.long	-1717986918
	.long	1077238169
	.long	1374389535
	.long	1078378168
	.long	-1202590843
	.long	1077839134
	.long	858993459
	.long	1079169843
	.long	687194767
	.long	1079537500
	.long	1889785610
	.long	1080203837
	.long	-171798692
	.long	1078574120
	.long	-515396076
	.long	1079493754
	.long	1546188227
	.long	1077346959
	.long	171798692
	.long	1078535127
	.long	-171798692
	.long	1079372840
	.long	-858993459
	.long	1080243404
	.long	-171798692
	.long	1077697576
	.long	-1374389535
	.long	1079062855
	.long	-687194767
	.long	1075212451
	.long	1889785610
	.long	1078233661
	.long	858993459
	.long	1079272243
	.long	858993459
	.long	1079771955
	.long	-687194767
	.long	1078546595
	.long	-858993459
	.long	1079315660
	.long	-1202590843
	.long	1074496798
	.long	-1717986918
	.long	1078393241
	.long	-858993459
	.long	1077464268
	.long	-343597384
	.long	1078835281
	.long	858993459
	.long	1074082611
	.long	2061584302
	.long	1076768276
	.long	515396076
	.long	1078856581
	.long	-1546188227
	.long	1079717232
	.long	1202590843
	.long	1077820129
	.long	-687194767
	.long	1078612131
	.long	171798692
	.long	1078289367
	.long	1030792151
	.long	1079453450
	.long	1546188227
	.long	1078149775
	.long	515396076
	.long	1079204741
	.long	-687194767
	.long	1079124131
	.long	-1889785610
	.long	1079883202
	.long	1030792151
	.long	1075173130
	.long	-1202590843
	.long	1077994782
	.long	-687194767
	.long	1079218339
	.long	1374389535
	.long	1080063672
	.long	-1030792151
	.long	1079204085
	.long	515396076
	.long	1079962501
	.long	1546188227
	.long	1073332879
	.long	1202590843
	.long	1078008545
	.long	687194767
	.long	1079525212
	.long	-858993459
	.long	1080296652
	.long	-2061584302
	.long	1076892139
	.long	-515396076
	.long	1078506618
	.long	-1374389535
	.long	1078567239
	.long	-1546188227
	.long	1079487856
	.long	171798692
	.long	1077322711
	.long	858993459
	.long	1079067443
	.long	-1374389535
	.long	1078616391
	.long	0
	.long	1079463936
	.long	171798692
	.long	1077928919
	.long	1374389535
	.long	1079078584
	.long	-171798692
	.long	1077140520
	.long	-343597384
	.long	1078237265
	.long	-687194767
	.long	1079488675
	.long	1717986918
	.long	1080131174
	.long	-1889785610
	.long	1079109058
	.long	-1717986918
	.long	1080027545
	.long	1030792151
	.long	1079293706
	.long	1717986918
	.long	1080002150
	.long	1374389535
	.long	1078804152
	.long	1546188227
	.long	1079419535
	.long	-858993459
	.long	1077382348
	.long	-1889785610
	.long	1078449602
	.long	-1374389535
	.long	1075831111
	.long	-515396076
	.long	1078260858
	.long	-687194767
	.long	1077194915
	.long	1374389535
	.long	1078492856
	.long	1889785610
	.long	1077578301
	.long	2061584302
	.long	1078398484
	.long	-1717986918
	.long	1079445913
	.long	1374389535
	.long	1079815864
	.long	171798692
	.long	1079075799
	.long	2061584302
	.long	1079434772
	.long	1889785610
	.long	1078815293
	.long	1889785610
	.long	1079822909
	.long	0
	.long	1078788096
	.long	1889785610
	.long	1079605821
	.long	171798692
	.long	1078207447
	.long	1889785610
	.long	1079228989
	.long	-1202590843
	.long	1077331230
	.long	-1374389535
	.long	1078976839
	.long	-171798692
	.long	1078680616
	.long	-1717986918
	.long	1079663001
	.long	-1374389535
	.long	1079513415
	.long	-1202590843
	.long	1080186142
	.long	-1717986918
	.long	1079220633
	.long	1717986918
	.long	1080075878
	.long	2061584302
	.long	1078693396
	.long	515396076
	.long	1079192453
	.long	-2061584302
	.long	1077531115
	.long	1546188227
	.long	1079120527
	.long	1717986918
	.long	1077814886
	.long	-1717986918
	.long	1079163289
	.long	-515396076
	.long	1078703226
	.long	1717986918
	.long	1079592550
	.long	-515396076
	.long	1078219898
	.long	-858993459
	.long	1079368908
	.long	687194767
	.long	1077890908
	.long	-1030792151
	.long	1079154933
	.long	-1889785610
	.long	1079469506
	.long	1202590843
	.long	1080345313
	.long	-1717986918
	.long	1079351705
	.long	687194767
	.long	1079910236
	.long	171798692
	.long	1078977495
	.long	-1374389535
	.long	1079886151
	.long	858993459
	.long	1078063923
	.long	1202590843
	.long	1079139041
	.long	1889785610
	.long	1078782525
	.long	-1374389535
	.long	1079415111
	.long	1374389535
	.long	1077599928
	.long	1546188227
	.long	1078911631
	.long	-687194767
	.long	1078235299
	.long	1030792151
	.long	1079072522
	.long	1202590843
	.long	1079102177
	.long	2061584302
	.long	1080213012
	.long	-1374389535
	.long	1079116103
	.long	-343597384
	.long	1079986257
	.long	2061584302
	.long	1079512596
	.long	1374389535
	.long	1080192696
	.long	1717986918
	.long	1076880998
	.long	858993459
	.long	1078317875
	.long	-1374389535
	.long	1079402823
	.long	-1889785610
	.long	1080145346
	.long	0
	.long	1079349248
	.long	-515396076
	.long	1080200314
	.long	343597384
	.long	1079183278
	.long	-1889785610
	.long	1079809474
	.long	-1717986918
	.long	1079114137
	.long	-1374389535
	.long	1079869767
	.long	-1889785610
	.long	1079293378
	.long	1717986918
	.long	1079912038
	.long	1030792151
	.long	1078986506
	.long	687194767
	.long	1079955292
	.long	-1546188227
	.long	1079463280
	.long	-2061584302
	.long	1080185323
	.long	1717986918
	.long	1078847078
	.long	171798692
	.long	1079632855
	.long	-1889785610
	.long	1076983234
	.long	-171798692
	.long	1077861416
	.long	-1889785610
	.long	1077491138
	.long	0
	.long	1078304768
	.long	1030792151
	.long	1077647114
	.long	0
	.long	1079087104
	.long	1546188227
	.long	1075856015
	.long	343597384
	.long	1077823406
	.long	343597384
	.long	1079166894
	.long	515396076
	.long	1079696261
	.long	343597384
	.long	1076955054
	.long	171798692
	.long	1078526935
	.long	-1717986918
	.long	1078253977
	.long	-171798692
	.long	1079389224
	.long	-343597384
	.long	1078827089
	.long	171798692
	.long	1079522263
	.long	-1889785610
	.long	1077327298
	.long	-1546188227
	.long	1078492528
	.long	687194767
	.long	1079316316
	.long	-171798692
	.long	1079688232
	.long	1374389535
	.long	1076010680
	.long	1374389535
	.long	1078165176
	.long	0
	.long	1078452224
	.long	-1546188227
	.long	1079418224
	.long	-515396076
	.long	1077318778
	.long	-1717986918
	.long	1078073753
	.long	687194767
	.long	1079508828
	.long	515396076
	.long	1080230789
	.long	-1889785610
	.long	1079096770
	.long	-343597384
	.long	1079822417
	.long	-1202590843
	.long	1077945630
	.long	-858993459
	.long	1079016652
	.long	-1202590843
	.long	1078043934
	.long	-858993459
	.long	1079360716
	.long	-1546188227
	.long	1076542832
	.long	-1889785610
	.long	1078212034
	.long	-858993459
	.long	1074449612
	.long	-1717986918
	.long	1077729689
	.long	1030792151
	.long	1079465738
	.long	1030792151
	.long	1080094474
	.long	1202590843
	.long	1079532257
	.long	-515396076
	.long	1080296570
	.long	0
	.long	1079099392
	.long	-858993459
	.long	1080050892
	.long	1546188227
	.long	1078174351
	.long	-343597384
	.long	1079347281
	.long	2061584302
	.long	1078742548
	.long	-2061584302
	.long	1079697899
	.long	858993459
	.long	1079227187
	.long	1546188227
	.long	1079964303
	.long	-171798692
	.long	1077632040
	.long	-1030792151
	.long	1079011573
	.long	-343597384
	.long	1075951697
	.long	-2061584302
	.long	1077383659
	.long	2061584302
	.long	1079459348
	.long	1030792151
	.long	1080160010
	.long	-171798692
	.long	1076550696
	.long	-343597384
	.long	1077737553
	.long	-343597384
	.long	1077540945
	.long	-2061584302
	.long	1078505963
	.long	-687194767
	.long	1077276835
	.long	-1717986918
	.long	1078532505
	.long	-343597384
	.long	1079552081
	.long	-515396076
	.long	1080157306
	.long	-343597384
	.long	1074182225
	.long	-171798692
	.long	1077140520
	.long	515396076
	.long	1079565189
	.long	-1030792151
	.long	1080295669
	.long	171798692
	.long	1078641623
	.long	343597384
	.long	1079363502
	.long	-858993459
	.long	1077562572
	.long	1374389535
	.long	1079082680
	.long	-343597384
	.long	1079048273
	.long	-171798692
	.long	1079569448
	.long	343597384
	.long	1077962670
	.long	1546188227
	.long	1079030415
	.long	858993459
	.long	1078285107
	.long	1889785610
	.long	1079048765
	.long	171798692
	.long	1079047127
	.long	515396076
	.long	1079810949
	.long	1374389535
	.long	1078230712
	.long	1030792151
	.long	1079224074
	.long	1202590843
	.long	1079261921
	.long	-171798692
	.long	1079974952
	.long	-687194767
	.long	1077014691
	.long	-687194767
	.long	1078497443
	.long	-1717986918
	.long	1078581657
	.long	-1374389535
	.long	1079357767
	.long	-343597384
	.long	1077426257
	.long	515396076
	.long	1078651781
	.long	1202590843
	.long	1079401185
	.long	-1374389535
	.long	1080062279
	.long	-1717986918
	.long	1079085465
	.long	-1717986918
	.long	1080015257
	.long	858993459
	.long	1077015347
	.long	-1374389535
	.long	1078649159
	.long	1546188227
	.long	1079231119
	.long	-515396076
	.long	1079952506
	.long	-1889785610
	.long	1077786050
	.long	0
	.long	1078902784
	.long	687194767
	.long	1079533404
	.long	-515396076
	.long	1080319098
	.long	-171798692
	.long	1075469352
	.long	0
	.long	1077346304
	.long	1374389535
	.long	1075191480
	.long	343597384
	.long	1078421422
	.long	-1546188227
	.long	1079127408
	.long	1546188227
	.long	1079911055
	.long	-1546188227
	.long	1079393648
	.long	1717986918
	.long	1080233574
	.long	-171798692
	.long	1072913448
	.long	-858993459
	.long	1078021324
	.long	1202590843
	.long	1075215073
	.long	-1717986918
	.long	1078172057
	.long	-171798692
	.long	1078066216
	.long	-343597384
	.long	1079011409
	.long	-1717986918
	.long	1077500313
	.long	2061584302
	.long	1079021076
	.long	-1202590843
	.long	1079117086
	.long	-2061584302
	.long	1080132075
	.long	1202590843
	.long	1077992161
	.long	1546188227
	.long	1079153295
	.long	-515396076
	.long	1079129210
	.long	1374389535
	.long	1079873208
	.long	858993459
	.long	1076114227
	.long	1030792151
	.long	1078073098
	.long	515396076
	.long	1079364485
	.long	-2061584302
	.long	1080078827
	.long	687194767
	.long	1079103324
	.long	-2061584302
	.long	1079804395
	.long	171798692
	.long	1079464919
	.long	1030792151
	.long	1080094474
	.long	171798692
	.long	1074963415
	.long	-1546188227
	.long	1077706096
	.long	-1202590843
	.long	1079358750
	.long	687194767
	.long	1080278876
	.long	1030792151
	.long	1078769418
	.long	-171798692
	.long	1079381032
	.long	-2061584302
	.long	1079529963
	.long	-515396076
	.long	1080257658
	.long	-687194767
	.long	1079455907
	.long	-1030792151
	.long	1080137973
	.long	-1546188227
	.long	1078910320
	.long	-1374389535
	.long	1079509319
	.long	-515396076
	.long	1079280762
	.long	858993459
	.long	1080118067
	.long	-1546188227
	.long	1078951280
	.long	171798692
	.long	1079727063
	.long	858993459
	.long	1079210803
	.long	343597384
	.long	1079928750
	.long	-1889785610
	.long	1077671362
	.long	1717986918
	.long	1079076454
	.long	-1889785610
	.long	1078621634
	.long	-1374389535
	.long	1079497031
	.long	2061584302
	.long	1078545940
	.long	1546188227
	.long	1079583375
	.long	0
	.long	1079271424
	.long	-1717986918
	.long	1079949721
	.long	-1202590843
	.long	1078101278
	.long	1717986918
	.long	1079244390
	.long	343597384
	.long	1078208430
	.long	-1202590843
	.long	1079158046
	.long	0
	.long	1078337536
	.long	2061584302
	.long	1079234068
	.long	171798692
	.long	1076175831
	.long	-1546188227
	.long	1078214000
	.long	-171798692
	.long	1078901800
	.long	171798692
	.long	1079530455
	.long	-1889785610
	.long	1079182786
	.long	858993459
	.long	1080073011
	.long	2061584302
	.long	1079209492
	.long	858993459
	.long	1079817011
	.long	-1717986918
	.long	1079179673
	.long	858993459
	.long	1080083251
	.long	1889785610
	.long	1079065149
	.long	-1717986918
	.long	1079990681
	.long	515396076
	.long	1078176645
	.long	1889785610
	.long	1078987325
	.long	1546188227
	.long	1079399055
	.long	1546188227
	.long	1080111759
	.long	1202590843
	.long	1074821857
	.long	-1030792151
	.long	1077192949
	.long	-1030792151
	.long	1079167221
	.long	343597384
	.long	1079977902
	.long	1717986918
	.long	1076717158
	.long	1374389535
	.long	1078722232
	.long	1202590843
	.long	1079032545
	.long	-171798692
	.long	1079634984
	.long	-1030792151
	.long	1079474421
	.long	1546188227
	.long	1080187535
	.long	-2061584302
	.long	1079259627
	.long	858993459
	.long	1080075059
	.long	-1546188227
	.long	1078590832
	.long	-687194767
	.long	1079308451
	.long	-687194767
	.long	1078382755
	.long	-171798692
	.long	1079430184
	.long	0
	.long	1078730752
	.long	-1546188227
	.long	1079688560
	.long	-1374389535
	.long	1079120199
	.long	0
	.long	1079857152
	.long	-515396076
	.long	1079383162
	.long	-687194767
	.long	1080156323
	.long	687194767
	.long	1079246684
	.long	-1202590843
	.long	1080120606
	.long	-171798692
	.long	1076993064
	.long	1374389535
	.long	1077632696
	.long	171798692
	.long	1078903767
	.long	1030792151
	.long	1079625482
	.long	1202590843
	.long	1079388897
	.long	1030792151
	.long	1080125194
	.long	-1717986918
	.long	1075845529
	.long	0
	.long	1077510144
	.long	2061584302
	.long	1078840852
	.long	-171798692
	.long	1079700520
	.long	0
	.long	1075838976
	.long	0
	.long	1078476800
	.long	-515396076
	.long	1077843066
	.long	1202590843
	.long	1078909665
	.long	-687194767
	.long	1079357603
	.long	1202590843
	.long	1080120033
	.long	-343597384
	.long	1079253073
	.long	-343597384
	.long	1080172625
	.long	1202590843
	.long	1079016161
	.long	343597384
	.long	1079912366
	.long	-1546188227
	.long	1078771056
	.long	-1030792151
	.long	1079474421
	.long	515396076
	.long	1079122821
	.long	515396076
	.long	1079729029
	.long	2061584302
	.long	1079324180
	.long	1717986918
	.long	1080036966
	.long	-1546188227
	.long	1077411184
	.long	-171798692
	.long	1078664232
	.long	1374389535
	.long	1078591160
	.long	-343597384
	.long	1079081041
	.long	-687194767
	.long	1079079075
	.long	-687194767
	.long	1080062115
	.long	343597384
	.long	1077069742
	.long	858993459
	.long	1078547251
	.long	1202590843
	.long	1079196385
	.long	-687194767
	.long	1080076451
	.long	-171798692
	.long	1077156904
	.long	171798692
	.long	1078551511
	.long	1717986918
	.long	1077012070
	.long	0
	.long	1078853632
	.long	-1717986918
	.long	1079540121
	.long	-515396076
	.long	1080228986
	.long	171798692
	.long	1078936535
	.long	-2061584302
	.long	1079468523
	.long	171798692
	.long	1079473111
	.long	1889785610
	.long	1080201789
	.long	-1546188227
	.long	1075789168
	.long	0
	.long	1077641216
	.long	2061584302
	.long	1077702164
	.long	-1030792151
	.long	1078659317
	.long	-1889785610
	.long	1078269378
	.long	-858993459
	.long	1078848716
	.long	0
	.long	1078075392
	.long	0
	.long	1079037952
	.long	515396076
	.long	1073605509
	.long	-171798692
	.long	1077484584
	.long	-1030792151
	.long	1078348021
	.long	343597384
	.long	1079338926
	.long	1030792151
	.long	1078368010
	.long	2061584302
	.long	1079377428
	.long	-1374389535
	.long	1076715847
	.long	858993459
	.long	1078350643
	.long	1374389535
	.long	1076895416
	.long	1889785610
	.long	1078422077
	.long	343597384
	.long	1078912942
	.long	171798692
	.long	1079804887
	.long	687194767
	.long	1078153052
	.long	-1717986918
	.long	1079228825
	.long	2061584302
	.long	1077079572
	.long	-2061584302
	.long	1078776299
	.long	1374389535
	.long	1078255288
	.long	-858993459
	.long	1079073996
	.long	-1374389535
	.long	1079402823
	.long	-171798692
	.long	1080048680
	.long	1889785610
	.long	1079233085
	.long	1717986918
	.long	1079772774
	.long	-687194767
	.long	1079292067
	.long	1374389535
	.long	1080067768
	.long	0
	.long	1076559872
	.long	-1030792151
	.long	1078356213
	.long	-858993459
	.long	1076186316
	.long	-1889785610
	.long	1078515138
	.long	-1374389535
	.long	1079058759
	.long	-687194767
	.long	1079480483
	.long	-1717986918
	.long	1077729689
	.long	-171798692
	.long	1079172136
	.long	1889785610
	.long	1079224893
	.long	-171798692
	.long	1080038440
	.long	1889785610
	.long	1076136509
	.long	1717986918
	.long	1078371942
	.long	-1889785610
	.long	1077163458
	.long	343597384
	.long	1078192046
	.long	687194767
	.long	1079344988
	.long	687194767
	.long	1080057692
	.long	1202590843
	.long	1078549217
	.long	1202590843
	.long	1079106273
	.long	1546188227
	.long	1077985935
	.long	1030792151
	.long	1079297802
	.long	1546188227
	.long	1078264463
	.long	2061584302
	.long	1079430676
	.long	-858993459
	.long	1079278796
	.long	-687194767
	.long	1080078499
	.long	0
	.long	1078263808
	.long	-858993459
	.long	1079385292
	.long	-2061584302
	.long	1079464427
	.long	-1374389535
	.long	1080164679
	.long	-687194767
	.long	1079439523
	.long	171798692
	.long	1080196055
	.long	687194767
	.long	1078669148
	.long	1202590843
	.long	1079876321
	.long	343597384
	.long	1078847406
	.long	343597384
	.long	1079216046
	.long	-1374389535
	.long	1078280519
	.long	343597384
	.long	1079216046
	.long	515396076
	.long	1076718469
	.long	687194767
	.long	1078349660
	.long	1546188227
	.long	1078067855
	.long	-1889785610
	.long	1078744514
	.long	-1546188227
	.long	1079491952
	.long	-1030792151
	.long	1080201461
	.long	1374389535
	.long	1079574200
	.long	-1546188227
	.long	1080096112
	.long	-1717986918
	.long	1076304281
	.long	1717986918
	.long	1078068838
	.long	-1546188227
	.long	1077427568
	.long	171798692
	.long	1078952919
	.long	1374389535
	.long	1078689464
	.long	2061584302
	.long	1079430676
	.long	0
	.long	1077968896
	.long	-1717986918
	.long	1079437721
	.long	1889785610
	.long	1079167549
	.long	515396076
	.long	1080167301
	.long	-687194767
	.long	1079390371
	.long	-1374389535
	.long	1080152391
	.long	-1546188227
	.long	1078525296
	.long	1717986918
	.long	1079367270
	.long	2061584302
	.long	1078062612
	.long	1717986918
	.long	1078888038
	.long	-1717986918
	.long	1079277977
	.long	-1202590843
	.long	1080147230
	.long	-1889785610
	.long	1077917122
	.long	-1717986918
	.long	1078933913
	.long	-515396076
	.long	1077531770
	.long	171798692
	.long	1078887383
	.long	1202590843
	.long	1075903201
	.long	-1717986918
	.long	1078057369
	.long	-171798692
	.long	1079176232
	.long	-1717986918
	.long	1080035737
	.long	343597384
	.long	1079306158
	.long	1030792151
	.long	1080172298
	.long	-1717986918
	.long	1077582233
	.long	-1374389535
	.long	1078526279
	.long	1030792151
	.long	1076614922
	.long	-343597384
	.long	1077950545
	.long	171798692
	.long	1079014359
	.long	-858993459
	.long	1079909580
	.long	687194767
	.long	1079455580
	.long	1374389535
	.long	1080221368
	.long	858993459
	.long	1078858547
	.long	515396076
	.long	1079618437
	.long	-687194767
	.long	1079427235
	.long	343597384
	.long	1080182702
	.long	-858993459
	.long	1078013132
	.long	1889785610
	.long	1078880829
	.long	-1374389535
	.long	1078329671
	.long	515396076
	.long	1079266181
	.long	171798692
	.long	1079006167
	.long	1374389535
	.long	1079680696
	.long	-1717986918
	.long	1079052697
	.long	2061584302
	.long	1079967252
	.long	-515396076
	.long	1079174266
	.long	-687194767
	.long	1079746723
	.long	858993459
	.long	1079010099
	.long	343597384
	.long	1079670702
	.long	-171798692
	.long	1076681768
	.long	-2061584302
	.long	1078104555
	.long	1717986918
	.long	1077519974
	.long	-2061584302
	.long	1078530539
	.long	1374389535
	.long	1079402168
	.long	-2061584302
	.long	1080166891
	.long	343597384
	.long	1078831022
	.long	-687194767
	.long	1079939235
	.long	343597384
	.long	1077528494
	.long	-515396076
	.long	1079243898
	.long	171798692
	.long	1079120855
	.long	-1889785610
	.long	1079940546
	.long	2061584302
	.long	1079246356
	.long	515396076
	.long	1080054661
	.long	-2061584302
	.long	1077400043
	.long	687194767
	.long	1079091036
	.long	-1717986918
	.long	1078073753
	.long	1546188227
	.long	1079255695
	.long	171798692
	.long	1077060567
	.long	1717986918
	.long	1078306406
	.long	-1546188227
	.long	1076903280
	.long	-1889785610
	.long	1078744514
	.long	687194767
	.long	1075482460
	.long	171798692
	.long	1077634007
	.long	515396076
	.long	1079540613
	.long	687194767
	.long	1080262492
	.long	1374389535
	.long	1077173944
	.long	1889785610
	.long	1078757949
	.long	1030792151
	.long	1077999370
	.long	1030792151
	.long	1079187210
	.long	687194767
	.long	1078505308
	.long	-171798692
	.long	1079483432
	.long	1374389535
	.long	1078992568
	.long	-171798692
	.long	1079753768
	.long	171798692
	.long	1078461399
	.long	1546188227
	.long	1079435919
	.long	-343597384
	.long	1077278801
	.long	-1717986918
	.long	1078892953
	.long	-1202590843
	.long	1077282078
	.long	-515396076
	.long	1078908026
	.long	-687194767
	.long	1078530211
	.long	-1030792151
	.long	1079498997
	.long	-1889785610
	.long	1078490562
	.long	-171798692
	.long	1079659560
	.long	1546188227
	.long	1076675215
	.long	-1202590843
	.long	1078330654
	.long	-1030792151
	.long	1079208181
	.long	1202590843
	.long	1079622369
	.long	687194767
	.long	1078169436
	.long	2061584302
	.long	1079582228
	.long	-687194767
	.long	1075966115
	.long	-687194767
	.long	1077784739
	.long	-171798692
	.long	1079032872
	.long	0
	.long	1079816192
	.long	-1889785610
	.long	1078547906
	.long	0
	.long	1079332864
	.long	-1202590843
	.long	1078158622
	.long	-1889785610
	.long	1079281090
	.long	-1030792151
	.long	1078479093
	.long	687194767
	.long	1079156572
	.long	-171798692
	.long	1079077928
	.long	-1374389535
	.long	1079808327
	.long	-858993459
	.long	1079278796
	.long	858993459
	.long	1080046387
	.long	-687194767
	.long	1079328931
	.long	171798692
	.long	1079956439
	.long	687194767
	.long	1078992732
	.long	-858993459
	.long	1079868620
	.long	687194767
	.long	1078284124
	.long	-858993459
	.long	1079368908
	.long	-343597384
	.long	1074706513
	.long	-2061584302
	.long	1077858795
	.long	-515396076
	.long	1076974714
	.long	343597384
	.long	1078708142
	.long	687194767
	.long	1079021404
	.long	-1374389535
	.long	1079488839
	.long	171798692
	.long	1071686615
	.long	858993459
	.long	1077900083
	.long	-2061584302
	.long	1078825451
	.long	1202590843
	.long	1079843553
	.long	343597384
	.long	1079236526
	.long	343597384
	.long	1079863214
	.long	-515396076
	.long	1078031482
	.long	-1889785610
	.long	1079145922
	.long	-1030792151
	.long	1077766389
	.long	343597384
	.long	1078970286
	.long	-1889785610
	.long	1079248322
	.long	-2061584302
	.long	1080121835
	.long	515396076
	.long	1078635397
	.long	-1546188227
	.long	1079414128
	.long	171798692
	.long	1078215639
	.long	1889785610
	.long	1079441981
	.long	1546188227
	.long	1077346959
	.long	171798692
	.long	1078805463
	.long	1889785610
	.long	1077955133
	.long	1374389535
	.long	1079172792
	.long	-858993459
	.long	1076874444
	.long	-1546188227
	.long	1078459760
	.long	-2061584302
	.long	1075204587
	.long	171798692
	.long	1077421015
	.long	343597384
	.long	1078822830
	.long	515396076
	.long	1079835525
	.long	515396076
	.long	1079040901
	.long	1202590843
	.long	1079974625
	.long	-343597384
	.long	1078802513
	.long	-1546188227
	.long	1079504240
	.long	-858993459
	.long	1079237836
	.long	1030792151
	.long	1079944970
	.long	-515396076
	.long	1079026810
	.long	-1030792151
	.long	1079560437
	.long	1717986918
	.long	1077225062
	.long	1374389535
	.long	1078632120
	.long	1202590843
	.long	1078418145
	.long	858993459
	.long	1079481139
	.long	-1717986918
	.long	1077467545
	.long	171798692
	.long	1077969879
	.long	-171798692
	.long	1078139944
	.long	-1374389535
	.long	1079185735
	.long	-1889785610
	.long	1077245378
	.long	-1546188227
	.long	1078779248
	.long	1546188227
	.long	1077084815
	.long	343597384
	.long	1078667182
	.long	1889785610
	.long	1078118973
	.long	-1202590843
	.long	1079325982
	.long	-1374389535
	.long	1079419207
	.long	-343597384
	.long	1080164433
	.long	515396076
	.long	1068624773
	.long	0
	.long	1077379072
	.long	-515396076
	.long	1079563386
	.long	2061584302
	.long	1080262164
	.long	343597384
	.long	1079289774
	.long	171798692
	.long	1080017879
	.long	1030792151
	.long	1072420618
	.long	-1374389535
	.long	1077764423
	.long	-1546188227
	.long	1076280688
	.long	1889785610
	.long	1078503997
	.long	-1546188227
	.long	1078795632
	.long	-1889785610
	.long	1079420354
	.long	515396076
	.long	1074654085
	.long	343597384
	.long	1078118318
	.long	171798692
	.long	1075979223
	.long	687194767
	.long	1077808988
	.long	-1202590843
	.long	1078568222
	.long	2061584302
	.long	1079483924
	.long	-2061584302
	.long	1078604267
	.long	0
	.long	1079402496
	.long	343597384
	.long	1079547822
	.long	-1202590843
	.long	1080288542
	.long	-1889785610
	.long	1077974466
	.long	1546188227
	.long	1079177871
	.long	1717986918
	.long	1078806118
	.long	1374389535
	.long	1079746232
	.long	-1030792151
	.long	1077766389
	.long	1030792151
	.long	1079170826
	.long	-858993459
	.long	1074187468
	.long	-171798692
	.long	1077009448
	.long	-2061584302
	.long	1076941291
	.long	1030792151
	.long	1078466314
	.long	0
	.long	1075707904
	.long	687194767
	.long	1078128476
	.long	-858993459
	.long	1079102668
	.long	1546188227
	.long	1080035983
	.long	1717986918
	.long	1079207526
	.long	-1717986918
	.long	1080060313
	.long	1374389535
	.long	1078247096
	.long	515396076
	.long	1079171973
	.long	858993459
	.long	1078661939
	.long	1717986918
	.long	1079518822
	.long	1202590843
	.long	1079503585
	.long	858993459
	.long	1080298291
	.long	-687194767
	.long	1078227107
	.long	-1717986918
	.long	1079122329
	.long	-171798692
	.long	1077533736
	.long	1030792151
	.long	1078540042
	.long	1374389535
	.long	1078353592
	.long	-687194767
	.long	1079517347
	.long	0
	.long	1079091200
	.long	1546188227
	.long	1079931535
	.long	-858993459
	.long	1074842828
	.long	1202590843
	.long	1076853473
	.long	515396076
	.long	1071770501
	.long	858993459
	.long	1077211955
	.long	1374389535
	.long	1078828728
	.long	-343597384
	.long	1079568465
	.long	-1717986918
	.long	1079490969
	.long	1546188227
	.long	1080312463
	.long	-1374389535
	.long	1077338439
	.long	-1374389535
	.long	1078255943
	.long	515396076
	.long	1078340485
	.long	-858993459
	.long	1079143628
	.long	858993459
	.long	1077965619
	.long	-2061584302
	.long	1078997483
	.long	-1889785610
	.long	1079444930
	.long	-1374389535
	.long	1080168775
	.long	0
	.long	1078992896
	.long	1717986918
	.long	1079952998
	.long	-1717986918
	.long	1079425433
	.long	687194767
	.long	1080147804
	.long	1030792151
	.long	1078966026
	.long	1374389535
	.long	1079619256
	.long	1546188227
	.long	1078723215
	.long	1717986918
	.long	1079391846
	.long	2061584302
	.long	1079074324
	.long	-515396076
	.long	1080044666
	.long	-1717986918
	.long	1076271513
	.long	-858993459
	.long	1078332620
	.long	1202590843
	.long	1072462561
	.long	1546188227
	.long	1072546447
	.long	1717986918
	.long	1078183526
	.long	-171798692
	.long	1079163944
	.long	-515396076
	.long	1076991098
	.long	-1030792151
	.long	1078356213
	.long	-1202590843
	.long	1078060318
	.long	171798692
	.long	1078952919
	.long	-343597384
	.long	1078220881
	.long	-858993459
	.long	1079512268
	.long	1202590843
	.long	1079315169
	.long	-858993459
	.long	1080134860
	.long	-1889785610
	.long	1076524482
	.long	1889785610
	.long	1078364733
	.long	1546188227
	.long	1078559375
	.long	858993459
	.long	1079698227
	.long	343597384
	.long	1078871982
	.long	-1717986918
	.long	1079572889
	.long	-858993459
	.long	1078619340
	.long	1030792151
	.long	1079502602
	.long	-515396076
	.long	1079121018
	.long	858993459
	.long	1079722803
	.long	-1374389535
	.long	1078264135
	.long	-2061584302
	.long	1079276011
	.long	1374389535
	.long	1078607544
	.long	1546188227
	.long	1079136911
	.long	858993459
	.long	1079345971
	.long	-1374389535
	.long	1080283463
	.long	-858993459
	.long	1078848716
	.long	-1374389535
	.long	1079566663
	.long	1374389535
	.long	1078378168
	.long	-858993459
	.long	1079053516
	.long	-2061584302
	.long	1077498347
	.long	-858993459
	.long	1078742220
	.long	858993459
	.long	1079223091
	.long	1030792151
	.long	1079654154
	.long	-1030792151
	.long	1078741237
	.long	-171798692
	.long	1079553064
	.long	343597384
	.long	1079560110
	.long	-2061584302
	.long	1080050155
	.long	1374389535
	.long	1072766648
	.long	1202590843
	.long	-1076593951
	.long	1546188227
	.long	1078624911
	.long	515396076
	.long	1079372677
	.long	1374389535
	.long	1079033528
	.long	-1546188227
	.long	1079844208
	.long	0
	.long	1078951936
	.long	-858993459
	.long	1079717068
	.long	687194767
	.long	1079394140
	.long	-515396076
	.long	1080087674
	.long	687194767
	.long	1078636380
	.long	-1717986918
	.long	1079437721
	.long	1546188227
	.long	1076118159
	.long	-1717986918
	.long	1078180249
	.long	-515396076
	.long	1079526522
	.long	1202590843
	.long	1080210145
	.long	0
	.long	1079336960
	.long	-687194767
	.long	1080150179
	.long	-515396076
	.long	1077810298
	.long	858993459
	.long	1079132979
	.long	-1374389535
	.long	1074913607
	.long	-1889785610
	.long	1078162882
	.long	-2061584302
	.long	1078415851
	.long	858993459
	.long	1079419699
	.long	-1889785610
	.long	1079326146
	.long	-171798692
	.long	1080073256
	.long	1374389535
	.long	1075912376
	.long	-1030792151
	.long	1078225141
	.long	2061584302
	.long	1077997076
	.long	-1374389535
	.long	1078739271
	.long	-1546188227
	.long	1078320496
	.long	1374389535
	.long	1079291576
	.long	-1889785610
	.long	1078711746
	.long	-858993459
	.long	1079516364
	.long	1202590843
	.long	1076034273
	.long	-515396076
	.long	1077875834
	.long	1546188227
	.long	1079075471
	.long	-687194767
	.long	1079959715
	.long	515396076
	.long	1078348677
	.long	343597384
	.long	1079224238
	.long	1030792151
	.long	1078204170
	.long	1030792151
	.long	1079387914
	.long	343597384
	.long	1076447150
	.long	0
	.long	1078525952
	.long	-687194767
	.long	1078603939
	.long	-1030792151
	.long	1079417077
	.long	-343597384
	.long	1078237265
	.long	1717986918
	.long	1079658086
	.long	1030792151
	.long	1079510794
	.long	-1202590843
	.long	1080347934
	.long	-1546188227
	.long	1077656944
	.long	1202590843
	.long	1078360801
	.long	-1202590843
	.long	1078093086
	.long	1889785610
	.long	1079110205
	.long	515396076
	.long	1074850693
	.long	1374389535
	.long	1077239480
	.long	-343597384
	.long	1077655633
	.long	-1889785610
	.long	1078547906
	.long	-1202590843
	.long	1076036894
	.long	858993459
	.long	1078088499
	.long	687194767
	.long	1077890908
	.long	858993459
	.long	1078801203
	.long	1717986918
	.long	1079379558
	.long	1889785610
	.long	1080033853
	.long	-1374389535
	.long	1077731655
	.long	343597384
	.long	1078831022
	.long	-1889785610
	.long	1079018946
	.long	515396076
	.long	1079643013
	.long	-1202590843
	.long	1079399710
	.long	-1546188227
	.long	1080155504
	.long	2061584302
	.long	1078332948
	.long	1717986918
	.long	1078912614
	.long	-1889785610
	.long	1073018306
	.long	1202590843
	.long	1077770977
	.long	687194767
	.long	1079414620
	.long	-1546188227
	.long	1080247664
	.long	-687194767
	.long	1078440099
	.long	-687194767
	.long	1079505059
	.long	-2061584302
	.long	1077678571
	.long	1202590843
	.long	1078696673
	.long	-1202590843
	.long	1078600990
	.long	171798692
	.long	1079591895
	.long	-2061584302
	.long	1078956523
	.long	-1717986918
	.long	1079597465
	.long	-1717986918
	.long	1079228825
	.long	515396076
	.long	1080034181
	.long	1546188227
	.long	1077166735
	.long	-858993459
	.long	1078029516
	.long	343597384
	.long	1078306734
	.long	1374389535
	.long	1079402168
	.long	-343597384
	.long	1078753361
	.long	-1889785610
	.long	1079576002
	.long	-1030792151
	.long	1078470901
	.long	-1374389535
	.long	1079206215
	.long	-1546188227
	.long	1079393648
	.long	-1889785610
	.long	1080184258
	.long	1030792151
	.long	1079342858
	.long	-343597384
	.long	1079879761
	.long	1717986918
	.long	1073768038
	.long	1202590843
	.long	1077115617
	.long	171798692
	.long	1079391191
	.long	-343597384
	.long	1080129617
	.long	-687194767
	.long	1077981347
	.long	-171798692
	.long	1078918184
	.long	-1546188227
	.long	1079352688
	.long	1546188227
	.long	1080240783
	.long	-1546188227
	.long	1079086448
	.long	-687194767
	.long	1079992483
	.long	1889785610
	.long	1078864445
	.long	1030792151
	.long	1079813898
	.long	-858993459
	.long	1078201548
	.long	1889785610
	.long	1079347773
	.long	-1889785610
	.long	1078687170
	.long	-2061584302
	.long	1079558635
	.long	-1546188227
	.long	1077001584
	.long	-1546188227
	.long	1078476144
	.long	-1374389535
	.long	1077748039
	.long	1889785610
	.long	1079274045
	.long	0
	.long	1078149120
	.long	1889785610
	.long	1079441981
	.long	-343597384
	.long	1078523985
	.long	-1202590843
	.long	1079346462
	.long	-1202590843
	.long	1078093086
	.long	-171798692
	.long	1079036968
	.long	-343597384
	.long	1079093329
	.long	-1374389535
	.long	1079750983
	.long	1717986918
	.long	1078552166
	.long	-1030792151
	.long	1079326965
	.long	-1717986918
	.long	1079163289
	.long	-1717986918
	.long	1080078745
	.long	1030792151
	.long	1077696266
	.long	-858993459
	.long	1078922444
	.long	-1030792151
	.long	1074276597
	.long	343597384
	.long	1076348846
	.long	-687194767
	.long	1076392099
	.long	2061584302
	.long	1078504980
	.long	171798692
	.long	1079546839
	.long	1374389535
	.long	1080280760
	.long	-687194767
	.long	1079546019
	.long	-1374389535
	.long	1080187207
	.long	-343597384
	.long	1078540369
	.long	1889785610
	.long	1079245373
	.long	1717986918
	.long	1079195238
	.long	-1717986918
	.long	1079806361
	.long	-858993459
	.long	1078660300
	.long	-2061584302
	.long	1079456235
	.long	-687194767
	.long	1078341795
	.long	1546188227
	.long	1079206543
	.long	-1889785610
	.long	1079055810
	.long	-1374389535
	.long	1079976263
	.long	-1030792151
	.long	1079138549
	.long	1374389535
	.long	1080028856
	.long	343597384
	.long	1079469998
	.long	1374389535
	.long	1080164024
	.long	1546188227
	.long	1079349903
	.long	343597384
	.long	1080168366
	.long	-343597384
	.long	1076705361
	.long	-858993459
	.long	1078742220
	.long	-1202590843
	.long	1079260446
	.long	-1546188227
	.long	1079827824
	.long	-343597384
	.long	1079056465
	.long	-2061584302
	.long	1079841259
	.long	-2061584302
	.long	1079382507
	.long	-1374389535
	.long	1080107335
	.long	343597384
	.long	1079211950
	.long	687194767
	.long	1080016732
	.long	687194767
	.long	1079304028
	.long	1374389535
	.long	1080176312
	.long	-1717986918
	.long	1077303705
	.long	-1374389535
	.long	1078935879
	.long	-687194767
	.long	1078595747
	.long	1717986918
	.long	1079223910
	.long	-515396076
	.long	1073091706
	.long	2061584302
	.long	1077603860
	.long	-1202590843
	.long	1078347038
	.long	-1374389535
	.long	1079411015
	.long	687194767
	.long	1078570844
	.long	-1374389535
	.long	1079279943
	.long	-1374389535
	.long	1079116103
	.long	-687194767
	.long	1080029347
	.long	1546188227
	.long	1077330575
	.long	1202590843
	.long	1078409953
	.long	2061584302
	.long	1079545364
	.long	515396076
	.long	1080189829
	.long	-1889785610
	.long	1077294530
	.long	1889785610
	.long	1078929981
	.long	1546188227
	.long	1079562895
	.long	-2061584302
	.long	1080281579
	.long	-343597384
	.long	1078466641
	.long	-1374389535
	.long	1079398727
	.long	1546188227
	.long	1079456399
	.long	2061584302
	.long	1080020500
	.long	-1546188227
	.long	1079000432
	.long	171798692
	.long	1079473111
	.long	687194767
	.long	1074564956
	.long	1202590843
	.long	1076935393
	.long	1546188227
	.long	1079263887
	.long	-1546188227
	.long	1080069488
	.long	-1546188227
	.long	1079151984
	.long	-515396076
	.long	1079768186
	.long	-515396076
	.long	1076073594
	.long	343597384
	.long	1078110126
	.long	-171798692
	.long	1074813992
	.long	-1889785610
	.long	1075901890
	.long	515396076
	.long	1075964805
	.long	-171798692
	.long	1077173288
	.long	858993459
	.long	1077850931
	.long	-1546188227
	.long	1078705520
	.long	-515396076
	.long	1076073594
	.long	-171798692
	.long	1078008872
	.long	-687194767
	.long	1079406755
	.long	0
	.long	1080117248
	.long	1546188227
	.long	1079128719
	.long	-343597384
	.long	1079949393
	.long	-1717986918
	.long	1078303129
	.long	-515396076
	.long	1079370874
	.long	-1889785610
	.long	1078105538
	.long	2061584302
	.long	1079180820
	.long	-171798692
	.long	1076681768
	.long	-2061584302
	.long	1078071787
	.long	171798692
	.long	1076831191
	.long	2061584302
	.long	1078226452
	.long	-1717986918
	.long	1073846681
	.long	-171798692
	.long	1077386280
	.long	171798692
	.long	1073914839
	.long	515396076
	.long	1077988229
	.long	-1030792151
	.long	1077913845
	.long	687194767
	.long	1079308124
	.long	687194767
	.long	1078521692
	.long	-1889785610
	.long	1079150018
	.long	515396076
	.long	1078283141
	.long	-687194767
	.long	1079115939
	.long	343597384
	.long	1075660718
	.long	343597384
	.long	1077249966
	.long	515396076
	.long	1079421829
	.long	1374389535
	.long	1080141496
	.long	687194767
	.long	1077071708
	.long	-1202590843
	.long	1078461726
	.long	1546188227
	.long	1077101199
	.long	1717986918
	.long	1078953574
	.long	-1374389535
	.long	1077993799
	.long	1717986918
	.long	1078748774
	.long	-1546188227
	.long	1079246192
	.long	0
	.long	1080045568
	.long	-687194767
	.long	1079226531
	.long	1374389535
	.long	1080098488
	.long	343597384
	.long	1079465902
	.long	-1030792151
	.long	1079978229
	.long	-1889785610
	.long	1076458946
	.long	1202590843
	.long	1078385377
	.long	-1546188227
	.long	1077116272
	.long	1717986918
	.long	1079002726
	.long	-343597384
	.long	1078048849
	.long	1546188227
	.long	1079112335
	.long	1202590843
	.long	1079376609
	.long	0
	.long	1080174592
	.long	-1030792151
	.long	1077979381
	.long	-343597384
	.long	1079175249
	.long	858993459
	.long	1076048691
	.long	1030792151
	.long	1077679882
	.long	2061584302
	.long	1078734356
	.long	687194767
	.long	1079652188
	.long	-1717986918
	.long	1078040985
	.long	-343597384
	.long	1078917201
	.long	-1889785610
	.long	1078015426
	.long	-687194767
	.long	1079201955
	.long	-1374389535
	.long	1079185735
	.long	-858993459
	.long	1079880908
	.long	1202590843
	.long	1079241441
	.long	-687194767
	.long	1079836835
	.long	687194767
	.long	1079279452
	.long	171798692
	.long	1079972823
	.long	-1030792151
	.long	1076603125
	.long	-1889785610
	.long	1078564290
	.long	-687194767
	.long	1077670051
	.long	1202590843
	.long	1079012065
	.long	858993459
	.long	1079247667
	.long	687194767
	.long	1080033116
	.long	171798692
	.long	1076339671
	.long	-2061584302
	.long	1078399467
	.long	-1202590843
	.long	1076397342
	.long	343597384
	.long	1078175662
	.long	-1374389535
	.long	1076584775
	.long	-1374389535
	.long	1078141255
	.long	1202590843
	.long	1077443297
	.long	-171798692
	.long	1078729768
	.long	-1889785610
	.long	1075508674
	.long	1889785610
	.long	1078233661
	.long	1717986918
	.long	1078167142
	.long	171798692
	.long	1079079895
	.long	-1546188227
	.long	1074543984
	.long	343597384
	.long	1078208430
	.long	171798692
	.long	1078903767
	.long	1546188227
	.long	1079517839
	.long	-515396076
	.long	1078310010
	.long	1889785610
	.long	1079212605
	.long	515396076
	.long	1079520133
	.long	515396076
	.long	1080273797
	.long	1717986918
	.long	1078953574
	.long	-2061584302
	.long	1079587307
	.long	-515396076
	.long	1078301818
	.long	1889785610
	.long	1079155261
	.long	1889785610
	.long	1079347773
	.long	-1889785610
	.long	1079989698
	.long	343597384
	.long	1079469998
	.long	-343597384
	.long	1080191057
	.long	-1030792151
	.long	1079007477
	.long	-687194767
	.long	1079865507
	.long	-2061584302
	.long	1079124459
	.long	-1374389535
	.long	1079705927
	.long	-1374389535
	.long	1075503431
	.long	858993459
	.long	1078129459
	.long	343597384
	.long	1079502766
	.long	-1202590843
	.long	1080204574
	.long	171798692
	.long	1078600663
	.long	687194767
	.long	1079717724
	.long	1030792151
	.long	1079138058
	.long	2061584302
	.long	1079987732
	.long	687194767
	.long	1076334428
	.long	1717986918
	.long	1078216294
	.long	-1889785610
	.long	1076098498
	.long	-1889785610
	.long	1077958082
	.long	-1374389535
	.long	1079230791
	.long	-1546188227
	.long	1080081776
	.long	0
	.long	1076035584
	.long	0
	.long	1078149120
	.long	-1889785610
	.long	1076786626
	.long	171798692
	.long	1078240215
	.long	-515396076
	.long	1077449850
	.long	1717986918
	.long	1078945382
	.long	1889785610
	.long	1078991421
	.long	-343597384
	.long	1079724113
	.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
.LC21:
	.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>



/*
To compile:
nvcc -o SantosLinear SantosLinear.cu

./SantosLinear
*/


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

int n_data = 1000;
__device__ int d_n_data = 1000;


point_t data[] = {
  {82.54,145.92},{79.13,125.54},{72.66,120.05},{65.59,100.38},
  {78.27,136.17},{77.25,117.81},{65.84,107.17},{76.12,134.15},
  {76.49,96.78},{47.94,64.98},{61.80,103.60},{84.45,111.95},
  {50.00,92.64},{99.96,147.10},{ 7.92,40.72},{20.36,38.90},
  {53.22,81.07},{30.32,73.57},{82.38,132.77},{60.41,98.29},
  { 3.74,35.90},{79.72,117.61},{21.55,71.41},{20.81,58.80},
  { 6.85,29.40},{48.20,54.46},{62.51,100.88},{ 2.89,40.58},
  {79.90,122.81},{84.94,137.16},{88.95,160.50},{47.00,70.95},
  {78.86,143.59},{62.79,104.83},{20.29,65.93},{83.78,123.76},
  {15.71,41.14},{49.35,89.02},{43.99,95.64},{24.12,70.60},
  {36.86,68.70},{ 3.49,23.95},{37.43,69.28},{70.55,95.36},
  {53.58,79.61},{55.79,101.29},{16.39,58.31},{91.65,115.29},
  {82.65,130.89},{48.78,105.63},{82.92,131.99},{64.86,110.09},
  {64.75,93.89},{ 4.83,25.91},{ 0.59,30.17},{ 0.72,28.41},
  {16.47,46.15},{40.42,70.11},{ 3.18,25.76},{59.02,113.49},
  {32.52,65.72},{42.65,87.74},{70.58,124.61},{ 0.09,30.33},
  {23.24,64.44},{75.05,125.90},{24.16,49.25},{37.75,76.66},
  {81.47,137.19},{59.58,108.26},{59.56,114.79},{76.89,128.06},
  { 9.76,44.84},{18.39,51.23},{58.29,120.09},{80.81,119.03},
  {77.93,132.71},{97.30,135.73},{69.14,92.52},{22.42,50.10},
  {41.90,59.59},{33.67,54.58},{94.44,155.64},{50.51,92.26},
  {50.57,70.49},{59.20,103.78},{57.09,110.74},{79.47,124.25},
  {79.64,117.26},{42.89,89.97},{64.89,108.26},{65.02,107.66},
  {99.94,163.00},{38.56,81.90},{95.17,147.58},{59.96,113.55},
  {18.25,44.49},{10.60,19.67},{33.68,76.62},{96.42,149.59},
  {25.47,40.35},{29.78,73.31},{32.59,62.29},{33.87,69.54},
  {54.15,102.50},{14.19,44.72},{10.55,47.75},{82.20,111.38},
  {15.58,43.53},{71.47,102.98},{15.31,46.36},{ 1.72,12.58},
  {27.67,59.35},{83.63,147.60},{44.36,57.03},{17.88,46.07},
  {38.27,66.44},{89.79,141.09},{54.56,84.84},{ 8.92,56.82},
  {11.71,23.04},{69.04,119.32},{70.99,119.46},{ 8.12,35.45},
  {26.97,62.04},{76.27,143.28},{27.19,52.66},{ 7.48,35.88},
  {26.28,46.29},{15.86,49.31},{52.24,70.69},{72.77,129.40},
  { 3.20,30.89},{72.60,126.43},{59.68,96.52},{87.72,134.59},
  {66.32,118.14},{63.10,110.15},{89.28,141.58},{57.83,98.06},
  {39.40,92.51},{86.62,133.71},{37.79,59.83},{93.50,139.06},
  {60.27,109.60},{31.32,78.75},{72.14,122.61},{ 6.94,38.40},
  {28.59,73.61},{73.17,114.77},{32.10,60.83},{45.15,86.50},
  {60.53,108.41},{31.27,57.00},{39.38,68.36},{73.19,135.10},
  {46.73,78.33},{16.52,49.96},{34.43,60.80},{33.31,70.69},
  {82.59,119.24},{62.32,109.02},{14.59,39.11},{85.50,148.34},
  { 4.70,15.17},{77.38,132.34},{38.08,79.30},{43.28,81.24},
  {50.76,85.11},{ 6.10,44.28},{17.37,39.34},{53.23,102.51},
  {46.97,84.96},{82.34,121.44},{82.82,135.65},{14.95,46.46},
  {34.92,55.96},{76.50,121.39},{33.96,82.71},{33.81,75.71},
  {85.97,145.58},{54.93,107.02},{35.84,74.14},{31.25,72.02},
  {45.30,83.04},{36.90,78.48},{72.33,114.85},{ 9.26,45.11},
  {38.16,79.84},{75.62,122.58},{46.35,80.75},{59.38,84.45},
  {80.25,144.44},{74.87,129.35},{78.57,138.28},{67.79,109.42},
  {56.63,89.32},{87.37,154.45},{24.78,67.81},{42.59,69.71},
  {21.87,56.09},{45.40,84.68},{53.00,93.30},{ 9.96,34.66},
  {70.49,107.10},{25.19,56.44},{28.27,56.57},{26.56,45.40},
  {21.17,46.21},{72.95,125.45},{36.95,82.73},{34.87,63.67},
  {26.84,78.06},{ 5.87,37.02},{81.40,114.31},{46.24,67.09},
  {15.36,28.81},{73.75,120.90},{22.17,55.09},{29.65,60.96},
  {50.70,75.55},{54.89,79.26},{80.60,142.14},{24.62,66.66},
  { 1.82,20.56},{68.34,107.73},{95.19,162.24},{ 8.77,39.79},
  {98.68,154.81},{44.69,78.41},{58.55,84.50},{82.69,129.36},
  {76.04,140.90},{20.81,36.16},{93.81,144.90},{69.62,111.04},
  {68.75,99.34},{21.75,37.53},{49.72,80.49},{38.21,52.51},
  {62.51,104.03},{ 9.06,32.07},{ 9.05,44.80},{88.63,142.62},
  {42.32,101.24},{29.55,50.21},{24.88,52.81},{99.41,152.87},
  {51.84,99.81},{46.45,98.38},{37.89,71.32},{97.06,160.47},
  {23.74,70.83},{86.43,146.38},{23.93,43.60},{34.50,75.87},
  { 2.24,20.30},{77.93,138.50},{74.35,111.92},{89.22,141.37},
  {49.81,90.81},{71.21,104.14},{20.64,43.69},{66.87,111.31},
  {75.47,116.17},{24.57,57.12},{67.47,98.57},{85.39,133.18},
  {45.12,88.99},{25.78,40.69},{ 8.75,44.48},{14.34,65.44},
  {98.07,159.41},{64.11,102.03},{21.75,70.05},{92.78,151.41},
  {71.47,122.64},{71.57,126.15},{67.73,116.35},{58.71,100.96},
  {33.50,59.20},{18.59,66.75},{78.74,116.00},{28.51,78.22},
  { 4.87,44.86},{22.39,41.11},{33.53,62.91},{28.16,63.59},
  {96.95,148.51},{98.43,144.64},{86.46,155.89},{81.98,135.72},
  {99.49,153.80},{60.10,107.45},{54.65,95.78},{ 4.12,29.92},
  {92.76,151.07},{19.06,47.87},{74.74,114.86},{56.77,76.20},
  {61.28,107.17},{49.73,90.93},{31.62,83.42},{72.22,131.74},
  {48.47,84.83},{89.84,124.97},{75.91,113.30},{ 6.48,11.00},
  {70.50,117.74},{37.07,78.48},{52.08,100.48},{95.27,151.06},
  {80.04,126.91},{99.00,150.15},{24.88,43.89},{13.90,31.65},
  {11.88,38.92},{ 8.51,32.81},{69.81,117.15},{99.52,146.13},
  {58.79,88.03},{ 4.60,15.68},{37.68,78.52},{39.45,68.65},
  { 1.93,29.81},{68.45,114.66},{63.34,117.33},{35.93,76.91},
  {89.98,146.67},{39.61,76.72},{93.52,130.43},{92.88,138.22},
  {46.35,111.10},{92.88,141.21},{70.32,114.14},{10.58,25.89},
  {89.25,151.26},{90.81,130.61},{93.69,132.92},{46.99,79.45},
  {91.32,138.72},{ 2.30,15.71},{ 2.25,30.66},{23.57,55.45},
  {12.26,30.69},{ 5.06,36.12},{50.51,105.84},{86.01,132.02},
  {76.83,122.78},{ 3.59,28.33},{44.53,85.91},{32.91,78.47},
  {29.42,65.15},{ 7.35,22.34},{22.17,33.26},{80.33,138.66},
  {16.18,47.52},{22.55,69.13},{59.30,103.83},{19.34,57.73},
  {18.76,59.59},{80.12,121.38},{90.88,145.30},{11.62,49.49},
  {85.83,143.38},{81.91,133.89},{37.85,75.59},{16.50,32.94},
  {68.52,117.88},{52.16,95.21},{19.84,62.98},{60.73,117.12},
  {63.90,110.93},{15.82,44.36},{93.24,151.85},{10.29,31.41},
  {68.76,123.41},{27.76,67.89},{45.87,77.04},{55.60,96.42},
  {50.26,92.70},{54.51,92.25},{20.19,46.43},{94.34,140.86},
  {87.51,131.96},{ 2.09,34.05},{76.49,134.14},{76.85,126.34},
  {69.79,108.18},{97.87,168.75},{37.12,55.39},{31.66,74.41},
  {68.08,102.29},{37.65,69.58},{97.34,142.41},{53.81,100.86},
  {54.75,100.43},{ 5.16,32.16},{69.87,119.91},{32.81,63.30},
  {39.89,87.45},{73.14,127.54},{23.63,64.61},{14.92,60.68},
  {98.83,154.62},{77.66,124.75},{93.03,155.98},{47.16,65.07},
  {21.73,41.67},{58.06,101.88},{63.89,113.18},{77.97,123.52},
  {29.66,47.24},{78.59,122.87},{38.72,61.11},{41.20,66.00},
  {60.82,95.07},{ 4.12,23.58},{75.64,117.51},{87.26,145.07},
  {76.26,139.41},{45.73,92.04},{65.68,114.39},{65.67,124.52},
  {19.31,57.91},{36.43,64.22},{99.62,164.88},{50.16,71.90},
  {49.70,99.36},{50.57,81.43},{53.69,78.82},{60.26,101.20},
  {85.84,135.90},{95.23,161.49},{53.20,89.19},{91.36,139.23},
  {29.80,61.21},{60.85,115.69},{ 2.43,26.13},{20.32,57.97},
  {29.81,70.82},{36.83,76.87},{95.49,147.89},{27.20,70.77},
  { 9.06,37.56},{ 9.60,26.25},{34.71,97.78},{47.81,85.95},
  {45.11,88.88},{91.68,170.70},{61.87,103.75},{21.35,45.49},
  {30.52,75.30},{97.74,148.82},{51.47,95.07},{23.01,50.28},
  {87.69,153.65},{28.36,68.77},{ 5.61,41.08},{81.55,112.05},
  {50.63,84.20},{ 3.44,45.95},{24.80,59.44},{ 2.65,15.09},
  {60.09,108.71},{30.23,52.63},{42.78,92.61},{38.52,77.43},
  {72.51,118.84},{ 5.46,33.79},{78.26,131.71},{77.39,123.68},
  { 1.61,34.21},{96.99,160.15},{16.07,49.41},{51.26,94.71},
  {22.64,69.05},{52.76,93.25},{31.89,69.73},{19.86,41.19},
  {94.76,139.95},{71.59,127.65},{82.86,126.10},{58.49,90.54},
  {23.55,47.67},{ 7.97,41.91},{20.69,48.99},{26.54,46.11},
  {92.15,114.73},{69.56,91.47},{58.83,115.16},{58.00,101.91},
  {40.28,78.91},{22.77,63.76},{54.72,105.40},{96.27,146.66},
  {78.40,133.20},{55.11,76.68},{25.82,72.29},{30.15,74.90},
  {55.41,101.10},{40.66,87.45},{31.31,74.39},{93.59,166.09},
  {86.40,120.49},{63.78,119.02},{35.90,73.42},{57.83,90.27},
  {26.87,61.77},{41.13,69.36},{71.17,149.94},{72.02,125.13},
  {96.22,147.46},{15.95,43.65},{89.52,141.68},{86.25,148.39},
  {76.12,114.34},{71.90,118.02},{82.84,120.60},{64.11,123.24},
  {93.21,146.56},{59.80,103.56},{17.46,30.86},{25.21,43.25},
  {27.59,70.25},{ 8.13,30.28},{75.12,107.43},{17.03,50.03},
  {41.70,88.69},{59.19,96.81},{22.71,48.98},{84.24,106.94},
  { 9.31,38.99},{47.75,90.46},{22.58,36.20},{95.99,152.11},
  {70.84,115.13},{32.29,65.95},{35.29,86.95},{13.37,40.42},
  { 3.35,28.85},{93.36,135.47},{97.42,160.14},{71.00,130.15},
  {39.27,86.13},{56.61,107.53},{78.80,123.79},{27.36,65.64},
  { 8.86,23.57},{92.97,143.47},{13.43,28.97},{25.97,49.39},
  {21.94,50.20},{98.63,143.14},{ 2.84,19.86},{99.43,160.03},
  {53.53,87.12},{26.30,69.98},{67.88,99.69},{32.81,66.79},
  {42.65,67.91},{67.81,114.43},{40.99,78.61},{80.92,124.44},
  {17.94,49.13},{51.70,86.77},{24.22,53.84},{89.42,131.54},
  {70.15,126.90},{17.95,53.76},{79.04,123.07},{29.71,61.50},
  {97.49,162.89},{ 6.59,23.00},{ 5.53,46.81},{72.71,120.54},
  {88.96,152.45},{ 1.21,34.60},{ 5.62,39.20},{35.97,65.63},
  {25.35,66.22},{72.08,140.06},{33.71,74.29},{72.82,118.23},
  {10.10,36.18},{87.18,133.56},{71.24,114.03},{93.31,135.47},
  { 4.66,28.49},{86.83,157.98},{57.43,88.19},{97.28,155.39},
  {92.76,140.78},{61.73,96.02},{82.07,138.35},{62.98,109.31},
  {77.80,121.62},{27.96,69.60},{52.92,95.27},{50.61,100.54},
  {81.50,122.90},{37.04,79.85},{40.31,74.58},{44.25,79.22},
  {10.57,40.48},{61.47,97.31},{76.09,132.85},{77.72,114.80},
  {75.90,134.10},{68.91,125.40},{39.34,64.16},{89.29,137.58},
  { 4.12,20.66},{75.14,124.62},{14.70,55.99},{66.92,103.69},
  {93.89,146.83},{80.78,133.10},{51.98,83.76},{45.63,91.19},
  {56.25,106.96},{72.27,117.25},{88.32,143.02},{79.99,138.66},
  {17.61,27.37},{61.53,103.11},{88.67,139.22},{ 8.05,25.50},
  {59.61,107.69},{ 8.00,48.50},{30.58,61.71},{86.76,138.59},
  {80.38,145.01},{65.92,120.62},{57.48,93.89},{72.43,109.43},
  {84.72,128.45},{23.99,54.22},{51.99,69.88},{69.76,131.52},
  {18.78,50.65},{76.92,133.27},{20.11,50.78},{17.90,60.00},
  {97.90,151.89},{62.53,93.53},{93.81,148.57},{ 7.81,27.50},
  {28.43,54.07},{42.17,59.85},{36.25,67.25},{ 1.87,25.11},
  {44.57,85.62},{45.18,87.97},{14.69,44.65},{16.12,46.83},
  {61.81,114.06},{38.62,78.90},{18.93,57.64},{41.74,69.45},
  {89.52,129.88},{79.16,112.10},{82.76,132.21},{13.50,44.82},
  {10.65,49.67},{68.52,94.26},{28.85,75.44},{78.66,128.63},
  {10.27,45.30},{20.21,39.81},{85.99,130.98},{50.71,71.42},
  {33.52,83.11},{42.02,91.22},{81.95,133.52},{42.00,88.45},
  {93.28,144.04},{91.76,147.87},{54.37,118.42},{59.81,78.12},
  {42.51,78.12},{14.71,44.62},{36.02,56.67},{94.96,148.53},
  {99.98,135.67},{11.55,36.05},{24.24,63.03},{54.99,91.22},
  {33.00,91.65},{75.16,144.36},{88.76,142.54},{49.98,87.35},
  {35.86,61.05},{81.90,141.91},{31.71,62.45},{25.83,61.03},
  { 8.49,35.70},{75.69,128.30},{83.62,144.97},{26.60,50.01},
  {13.92,32.44},{65.81,120.45},{92.74,150.96},{60.15,102.68},
  {91.01,146.24},{34.35,60.83},{44.01,81.18},{65.31,106.48},
  {68.15,123.97},{75.57,110.51},{65.55,105.87},{14.43,37.14},
  {25.65,50.14},{89.48,144.31},{59.31,122.26},{25.78,79.82},
  {72.31,122.34},{79.97,130.61},{23.82,70.49},{36.20,80.54},
  {18.64,43.30},{16.24,56.67},{ 6.64,27.39},{97.93,155.98},
  {20.37,57.08},{33.93,76.36},{49.37,94.44},{64.48,110.94},
  {48.03,91.54},{21.97,61.20},{22.02,61.66},{50.13,95.39},
  {48.92,105.19},{14.38,44.04},{77.64,102.92},{39.12,100.47},
  { 8.97,29.69},{66.94,114.75},{50.67,85.25},{38.79,82.09},
  {48.57,74.49},{69.69,114.27},{81.95,129.60},{85.01,123.31},
  {64.49,117.95},{42.62,87.45},{ 3.84,30.82},{17.33,55.56},
  {66.24,94.77},{ 0.52,31.45},{59.14,116.42},{79.37,117.62},
  {34.91,73.84},{29.41,63.56},{80.09,138.81},{53.34,90.21},
  {40.53,91.91},{23.01,58.53},{32.58,75.48},{15.90,47.98},
  { 5.58,24.14},{59.06,115.93},{67.43,124.42},{58.44,95.71},
  {79.45,122.61},{66.57,99.14},{21.15,53.24},{46.71,94.30},
  {24.85,33.03},{38.22,76.27},{21.46,57.73},{19.01,54.31},
  {37.58,84.83},{90.52,144.01},{ 0.07,23.50},{99.32,155.94},
  {82.62,127.06},{ 0.87,29.38},{11.37,49.33},{58.23,90.59},
  { 3.74,37.56},{ 9.07,30.06},{51.29,94.47},{52.39,89.50},
  {98.37,159.16},{33.17,75.79},{58.55,110.48},{29.41,75.36},
  { 2.85,17.86},{16.82,48.18},{ 7.50,37.87},{71.20,128.33},
  {77.60,131.30},{41.49,75.43},{54.15,96.60},{95.67,160.35},
  {40.88,72.40},{25.86,50.43},{44.74,96.51},{70.50,121.79},
  { 4.20,15.74},{ 0.56,20.95},{59.24,99.63},{94.90,162.08},
  {22.88,41.76},{44.34,73.70},{32.90,64.78},{92.09,144.54},
  {64.50,123.10},{90.90,141.98},{63.43,102.73},{56.02,88.85},
  {69.47,129.39},{11.30,44.10},{ 0.89, 0.93},{39.55,74.94},
  {17.58,44.82},{35.79,63.03},{40.69,96.20},{84.17,140.40},
  {13.23,45.08},{51.02,107.55},{60.56,99.90},{52.85,95.61},
  {72.32,109.05},{42.01,81.78},{52.49,73.29},{86.05,158.54},
  {59.85,99.52},{45.49,68.20},{25.32,56.60},{78.55,104.86},
  {56.57,98.69},{99.12,130.06},{ 1.07,-0.32},{53.02,87.68},
  {66.98,116.46},{63.00,108.70},{88.99,134.64},{53.37,91.65},
  {10.13,39.45},{97.07,149.59},{85.50,142.27},{30.08,73.05},
  { 4.47,38.92},{46.64,90.55},{84.84,132.88},{ 8.56,40.82},
  {33.86,56.51},{43.73,82.73},{55.67,96.45},{ 9.49,31.08},
  {69.54,123.51},{44.59,78.62},{40.18,88.61},{12.64,50.00},
  {52.38,90.39},{41.19,105.10},{96.11,166.41},{27.74,44.96},
  {36.79,71.66},{ 4.23,21.37},{27.72,50.67},{ 9.51,36.65},
  {31.31,58.40},{88.10,128.07},{28.88,59.31},{66.09,104.18},
  {89.33,142.92},{44.11,61.80},{ 1.31,29.48},{90.24,154.17},
  {47.38,95.76},{28.07,55.21},{52.29,101.06},{63.14,101.40},
  {78.90,128.11},{20.26,34.85},{43.31,89.48},{56.94,100.09},
  {48.32,77.52},{88.96,146.43},{85.86,118.63},{ 2.05,19.48},
  {88.81,139.76},{33.38,61.97},{86.46,153.33},{70.21,125.51},
  {60.33,114.61},{40.10,86.16},{54.92,99.03},{17.74,48.48},
  {29.13,81.66},{38.50,91.91},{49.94,86.08},{36.79,67.19},
  {70.63,110.77},{50.80,84.89},{74.90,133.55},{28.34,62.10},
  { 3.02,11.89},{12.22,49.36},{98.31,158.21},{98.26,146.79},
  {50.44,79.91},{76.85,114.15},{54.10,92.78},{44.38,77.54},
  {68.34,124.52},{73.39,127.73},{93.62,143.96},{86.29,144.49},
  {14.61,56.60},{80.83,115.46},{68.38,116.28},{88.28,137.04},
  {77.87,126.99},{83.49,145.46},{22.35,62.51},{52.13,78.60},
  { 1.38,26.93},{44.54,90.02},{51.37,82.02},{72.02,127.76},
  {22.76,46.46},{98.22,147.11},{22.21,62.33},{99.29,158.31},
  {48.19,89.27},{92.79,127.22},{64.96,93.81},{ 3.57,16.73},
  {81.04,132.42},{74.21,111.82},{ 9.79,37.31},{ 4.09, 8.48},
  { 8.96,20.36},{30.70,55.48},{ 9.79,34.22},{89.76,138.25},
  {72.79,122.88},{43.20,87.57},{37.17,75.97},{14.43,36.14},
  {15.57,40.86},{ 2.20,23.61},{ 2.33,33.59},{31.66,83.74},
  {49.87,74.09},{42.59,72.01},{ 7.32,21.53},{90.68,141.21},
  {18.81,48.04},{19.26,63.05},{33.76,56.80},{79.96,129.50},
  {78.76,135.96},{93.37,124.64},{12.73,45.71},{19.49,65.10},
  {35.44,71.79},{87.92,145.25},{33.32,75.63},{ 9.60,28.09},
  {56.36,104.74},{35.20,61.94},{34.42,77.26},{76.27,118.70},
  {79.67,116.01},{81.99,124.31},{13.83,51.17},{27.94,65.67},
  {80.05,127.99},{11.82,46.14},{12.26,39.31},{13.69,38.26},
  {24.48,56.22},{ 6.74,41.08},{39.05,69.81},{ 3.53,40.31},
  {61.53,96.54},{43.41,77.91},{96.68,157.36},{63.05,100.78},
  {43.16,74.41},{86.16,125.34},{93.62,147.26},{65.39,117.76},
  {72.53,108.02},{ 6.72,37.90},{95.62,148.91},{52.28,108.74},
  {73.36,125.22},{11.78,40.55},{ 9.98,32.67},{79.02,133.92},
  { 9.50,38.50},{15.23,41.28},{24.58,62.80},{64.41,109.13}
};






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

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


__device__ double d_residual_error(double x, double y, double m, double c) {
  double e = (m * x) + c - y;
  return e * e;
}
__global__ void d_rms_error(double *m, double *c, double *error_sum_arr, point_t *d_data) {
	
	int i = threadIdx.x + blockIdx.x * blockDim.x;

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



int 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++) {
				//Add each error sum to the error sum total.
    		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;
      }

			//Reset the error sum total.
			error_sum_total = 0;
    }
   
     printf("best m,c is %lf,%lf with error %lf in direction %d\n", 
     dm[best_error_i], dc[best_error_i], best_error, best_error_i);
  

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

	//Free memory for d_dm
	error = hipFree(d_dm);
	if(error){
		fprintf(stderr, "hipFree on d_dm returned %d %s\n", error,
	  	hipGetErrorString(error));
		exit(1);
	}
	
	//Free memory for d_dc
	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	"SantosLinear.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	_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_end2:
	.size	_Z15time_differenceP8timespecS0_Px, .Lfunc_end2-_Z15time_differenceP8timespecS0_Px
	.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_end3:
	.size	_Z26__device_stub__d_rms_errorPdS_S_P7point_t, .Lfunc_end3-_Z26__device_stub__d_rms_errorPdS_S_P7point_t
	.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:                               # %.preheader153
                                        #   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
	xorps	%xmm2, %xmm2
	sqrtsd	%xmm0, %xmm2
	jmp	.LBB4_26
.LBB4_25:                               # %call.sqrt
                                        #   in Loop: Header=BB4_18 Depth=2
	callq	sqrt
	movapd	%xmm0, %xmm2
.LBB4_26:                               # %._crit_edge.split
                                        #   in Loop: Header=BB4_18 Depth=2
	movsd	(%rsp), %xmm0                   # 8-byte Reload
                                        # xmm0 = mem[0],zero
	ucomisd	%xmm2, %xmm0
	cmoval	%ebx, %r15d
	minsd	%xmm0, %xmm2
	incq	%rbx
	movsd	%xmm2, (%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
	movslq	%r15d, %rbp
	movsd	272(%rsp,%rbp,8), %xmm0         # xmm0 = mem[0],zero
	movsd	208(%rsp,%rbp,8), %xmm1         # xmm1 = mem[0],zero
	movl	$.L.str.8, %edi
	movl	%ebp, %esi
	movb	$3, %al
	movsd	%xmm2, (%rsp)                   # 8-byte Spill
	callq	printf
	movsd	(%rsp), %xmm3                   # 8-byte Reload
                                        # xmm3 = mem[0],zero
	movsd	8(%rsp), %xmm0                  # 8-byte Reload
                                        # xmm0 = mem[0],zero
	ucomisd	%xmm3, %xmm0
	jbe	.LBB4_31
# %bb.28:                               #   in Loop: Header=BB4_9 Depth=1
	movsd	272(%rsp,%rbp,8), %xmm1         # xmm1 = mem[0],zero
	movsd	208(%rsp,%rbp,8), %xmm2         # xmm2 = mem[0],zero
	movsd	%xmm3, 8(%rsp)                  # 8-byte Spill
	movsd	%xmm3, (%rsp)                   # 8-byte Spill
	movsd	.LCPI4_3(%rip), %xmm3           # xmm3 = mem[0],zero
	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.13, %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.14, %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.9, %esi
	jmp	.LBB4_2
.LBB4_34:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.10, %esi
	jmp	.LBB4_2
.LBB4_36:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.11, %esi
	jmp	.LBB4_2
.LBB4_38:
	movl	%eax, %ebx
	movq	stderr(%rip), %r14
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.12, %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	0x4054a28f5c28f5c3              # double 82.540000000000006
	.quad	0x40623d70a3d70a3d              # double 145.91999999999999
	.quad	0x4053c851eb851eb8              # double 79.129999999999995
	.quad	0x405f628f5c28f5c3              # double 125.54000000000001
	.quad	0x40522a3d70a3d70a              # double 72.659999999999997
	.quad	0x405e033333333333              # double 120.05
	.quad	0x405065c28f5c28f6              # double 65.590000000000003
	.quad	0x40591851eb851eb8              # double 100.38
	.quad	0x40539147ae147ae1              # double 78.269999999999996
	.quad	0x40610570a3d70a3d              # double 136.16999999999999
	.quad	0x4053500000000000              # double 77.25
	.quad	0x405d73d70a3d70a4              # double 117.81
	.quad	0x405075c28f5c28f6              # double 65.840000000000003
	.quad	0x405acae147ae147b              # double 107.17
	.quad	0x405307ae147ae148              # double 76.120000000000005
	.quad	0x4060c4cccccccccd              # double 134.15000000000001
	.quad	0x40531f5c28f5c28f              # double 76.489999999999994
	.quad	0x405831eb851eb852              # double 96.780000000000001
	.quad	0x4047f851eb851eb8              # double 47.939999999999998
	.quad	0x40503eb851eb851f              # double 64.980000000000004
	.quad	0x404ee66666666666              # double 61.799999999999997
	.quad	0x4059e66666666666              # double 103.59999999999999
	.quad	0x40551ccccccccccd              # double 84.450000000000002
	.quad	0x405bfccccccccccd              # double 111.95
	.quad	0x4049000000000000              # double 50
	.quad	0x405728f5c28f5c29              # double 92.64
	.quad	0x4058fd70a3d70a3d              # double 99.959999999999993
	.quad	0x4062633333333333              # double 147.09999999999999
	.quad	0x401fae147ae147ae              # double 7.9199999999999999
	.quad	0x40445c28f5c28f5c              # double 40.719999999999999
	.quad	0x40345c28f5c28f5c              # double 20.359999999999999
	.quad	0x4043733333333333              # double 38.899999999999999
	.quad	0x404a9c28f5c28f5c              # double 53.219999999999999
	.quad	0x4054447ae147ae14              # double 81.069999999999993
	.quad	0x403e51eb851eb852              # double 30.32
	.quad	0x4052647ae147ae14              # double 73.569999999999993
	.quad	0x40549851eb851eb8              # double 82.379999999999995
	.quad	0x406098a3d70a3d71              # double 132.77000000000001
	.quad	0x404e347ae147ae14              # double 60.409999999999997
	.quad	0x4058928f5c28f5c3              # double 98.290000000000006
	.quad	0x400deb851eb851ec              # double 3.7400000000000002
	.quad	0x4041f33333333333              # double 35.899999999999999
	.quad	0x4053ee147ae147ae              # double 79.719999999999999
	.quad	0x405d670a3d70a3d7              # double 117.61
	.quad	0x40358ccccccccccd              # double 21.550000000000001
	.quad	0x4051da3d70a3d70a              # double 71.409999999999997
	.quad	0x4034cf5c28f5c28f              # double 20.809999999999999
	.quad	0x404d666666666666              # double 58.799999999999997
	.quad	0x401b666666666666              # double 6.8499999999999996
	.quad	0x403d666666666666              # double 29.399999999999999
	.quad	0x404819999999999a              # double 48.200000000000003
	.quad	0x404b3ae147ae147b              # double 54.460000000000001
	.quad	0x404f4147ae147ae1              # double 62.509999999999998
	.quad	0x40593851eb851eb8              # double 100.88
	.quad	0x40071eb851eb851f              # double 2.8900000000000001
	.quad	0x40444a3d70a3d70a              # double 40.579999999999998
	.quad	0x4053f9999999999a              # double 79.900000000000006
	.quad	0x405eb3d70a3d70a4              # double 122.81
	.quad	0x40553c28f5c28f5c              # double 84.939999999999998
	.quad	0x4061251eb851eb85              # double 137.16
	.quad	0x40563ccccccccccd              # double 88.950000000000002
	.quad	0x4064100000000000              # double 160.5
	.quad	0x4047800000000000              # double 47
	.quad	0x4051bccccccccccd              # double 70.950000000000003
	.quad	0x4053b70a3d70a3d7              # double 78.859999999999999
	.quad	0x4061f2e147ae147b              # double 143.59
	.quad	0x404f651eb851eb85              # double 62.789999999999999
	.quad	0x405a351eb851eb85              # double 104.83
	.quad	0x40344a3d70a3d70a              # double 20.289999999999999
	.quad	0x40507b851eb851ec              # double 65.930000000000007
	.quad	0x4054f1eb851eb852              # double 83.780000000000001
	.quad	0x405ef0a3d70a3d71              # double 123.76000000000001
	.quad	0x402f6b851eb851ec              # double 15.710000000000001
	.quad	0x404491eb851eb852              # double 41.140000000000001
	.quad	0x4048accccccccccd              # double 49.350000000000001
	.quad	0x40564147ae147ae1              # double 89.019999999999996
	.quad	0x4045feb851eb851f              # double 43.990000000000002
	.quad	0x4057e8f5c28f5c29              # double 95.64
	.quad	0x40381eb851eb851f              # double 24.120000000000001
	.quad	0x4051a66666666666              # double 70.599999999999994
	.quad	0x40426e147ae147ae              # double 36.859999999999999
	.quad	0x40512ccccccccccd              # double 68.700000000000003
	.quad	0x400beb851eb851ec              # double 3.4900000000000002
	.quad	0x4037f33333333333              # double 23.949999999999999
	.quad	0x4042b70a3d70a3d7              # double 37.43
	.quad	0x405151eb851eb852              # double 69.280000000000001
	.quad	0x4051a33333333333              # double 70.549999999999997
	.quad	0x4057d70a3d70a3d7              # double 95.359999999999999
	.quad	0x404aca3d70a3d70a              # double 53.579999999999998
	.quad	0x4053e70a3d70a3d7              # double 79.609999999999999
	.quad	0x404be51eb851eb85              # double 55.789999999999999
	.quad	0x4059528f5c28f5c3              # double 101.29000000000001
	.quad	0x403063d70a3d70a4              # double 16.390000000000001
	.quad	0x404d27ae147ae148              # double 58.310000000000002
	.quad	0x4056e9999999999a              # double 91.650000000000005
	.quad	0x405cd28f5c28f5c3              # double 115.29000000000001
	.quad	0x4054a9999999999a              # double 82.650000000000006
	.quad	0x40605c7ae147ae14              # double 130.88999999999999
	.quad	0x404863d70a3d70a4              # double 48.780000000000001
	.quad	0x405a6851eb851eb8              # double 105.63
	.quad	0x4054bae147ae147b              # double 82.920000000000001
	.quad	0x40607fae147ae148              # double 131.99000000000001
	.quad	0x4050370a3d70a3d7              # double 64.859999999999999
	.quad	0x405b85c28f5c28f6              # double 110.09
	.quad	0x4050300000000000              # double 64.75
	.quad	0x405778f5c28f5c29              # double 93.89
	.quad	0x401351eb851eb852              # double 4.8300000000000001
	.quad	0x4039e8f5c28f5c29              # double 25.91
	.quad	0x3fe2e147ae147ae1              # double 0.58999999999999997
	.quad	0x403e2b851eb851ec              # double 30.170000000000002
	.quad	0x3fe70a3d70a3d70a              # double 0.71999999999999997
	.quad	0x403c68f5c28f5c29              # double 28.41
	.quad	0x40307851eb851eb8              # double 16.469999999999999
	.quad	0x4047133333333333              # double 46.149999999999999
	.quad	0x404435c28f5c28f6              # double 40.420000000000002
	.quad	0x4051870a3d70a3d7              # double 70.109999999999999
	.quad	0x400970a3d70a3d71              # double 3.1800000000000002
	.quad	0x4039c28f5c28f5c3              # double 25.760000000000002
	.quad	0x404d828f5c28f5c3              # double 59.020000000000003
	.quad	0x405c5f5c28f5c28f              # double 113.48999999999999
	.quad	0x4040428f5c28f5c3              # double 32.520000000000003
	.quad	0x40506e147ae147ae              # double 65.719999999999999
	.quad	0x4045533333333333              # double 42.649999999999999
	.quad	0x4055ef5c28f5c28f              # double 87.739999999999994
	.quad	0x4051a51eb851eb85              # double 70.579999999999998
	.quad	0x405f270a3d70a3d7              # double 124.61
	.quad	0x3fb70a3d70a3d70a              # double 0.089999999999999996
	.quad	0x403e547ae147ae14              # double 30.329999999999998
	.quad	0x40373d70a3d70a3d              # double 23.239999999999998
	.quad	0x40501c28f5c28f5c              # double 64.439999999999998
	.quad	0x4052c33333333333              # double 75.049999999999997
	.quad	0x405f79999999999a              # double 125.90000000000001
	.quad	0x403828f5c28f5c29              # double 24.16
	.quad	0x4048a00000000000              # double 49.25
	.quad	0x4042e00000000000              # double 37.75
	.quad	0x40532a3d70a3d70a              # double 76.659999999999997
	.quad	0x40545e147ae147ae              # double 81.469999999999999
	.quad	0x406126147ae147ae              # double 137.19
	.quad	0x404dca3d70a3d70a              # double 59.579999999999998
	.quad	0x405b10a3d70a3d71              # double 108.26000000000001
	.quad	0x404dc7ae147ae148              # double 59.560000000000002
	.quad	0x405cb28f5c28f5c3              # double 114.79000000000001
	.quad	0x405338f5c28f5c29              # double 76.89
	.quad	0x406001eb851eb852              # double 128.06
	.quad	0x4023851eb851eb85              # double 9.7599999999999997
	.quad	0x40466b851eb851ec              # double 44.840000000000003
	.quad	0x403263d70a3d70a4              # double 18.390000000000001
	.quad	0x40499d70a3d70a3d              # double 51.229999999999997
	.quad	0x404d251eb851eb85              # double 58.289999999999999
	.quad	0x405e05c28f5c28f6              # double 120.09
	.quad	0x405433d70a3d70a4              # double 80.810000000000002
	.quad	0x405dc1eb851eb852              # double 119.03
	.quad	0x40537b851eb851ec              # double 77.930000000000007
	.quad	0x406096b851eb851f              # double 132.71000000000001
	.quad	0x4058533333333333              # double 97.299999999999997
	.quad	0x4060f75c28f5c28f              # double 135.72999999999999
	.quad	0x405148f5c28f5c29              # double 69.140000000000001
	.quad	0x40572147ae147ae1              # double 92.519999999999996
	.quad	0x40366b851eb851ec              # double 22.420000000000002
	.quad	0x40490ccccccccccd              # double 50.100000000000001
	.quad	0x4044f33333333333              # double 41.899999999999999
	.quad	0x404dcb851eb851ec              # double 59.590000000000003
	.quad	0x4040d5c28f5c28f6              # double 33.670000000000002
	.quad	0x404b4a3d70a3d70a              # double 54.579999999999998
	.quad	0x40579c28f5c28f5c              # double 94.439999999999998
	.quad	0x4063747ae147ae14              # double 155.63999999999999
	.quad	0x40494147ae147ae1              # double 50.509999999999998
	.quad	0x405710a3d70a3d71              # double 92.260000000000005
	.quad	0x404948f5c28f5c29              # double 50.57
	.quad	0x40519f5c28f5c28f              # double 70.489999999999995
	.quad	0x404d99999999999a              # double 59.200000000000003
	.quad	0x4059f1eb851eb852              # double 103.78
	.quad	0x404c8b851eb851ec              # double 57.090000000000003
	.quad	0x405baf5c28f5c28f              # double 110.73999999999999
	.quad	0x4053de147ae147ae              # double 79.469999999999999
	.quad	0x405f100000000000              # double 124.25
	.quad	0x4053e8f5c28f5c29              # double 79.64
	.quad	0x405d50a3d70a3d71              # double 117.26000000000001
	.quad	0x404571eb851eb852              # double 42.890000000000001
	.quad	0x40567e147ae147ae              # double 89.969999999999999
	.quad	0x405038f5c28f5c29              # double 64.890000000000001
	.quad	0x405b10a3d70a3d71              # double 108.26000000000001
	.quad	0x40504147ae147ae1              # double 65.019999999999996
	.quad	0x405aea3d70a3d70a              # double 107.66
	.quad	0x4058fc28f5c28f5c              # double 99.939999999999998
	.quad	0x4064600000000000              # double 163
	.quad	0x404347ae147ae148              # double 38.560000000000002
	.quad	0x405479999999999a              # double 81.900000000000006
	.quad	0x4057cae147ae147b              # double 95.170000000000001
	.quad	0x4062728f5c28f5c3              # double 147.58000000000001
	.quad	0x404dfae147ae147b              # double 59.960000000000001
	.quad	0x405c633333333333              # double 113.55
	.quad	0x4032400000000000              # double 18.25
	.quad	0x40463eb851eb851f              # double 44.490000000000002
	.quad	0x4025333333333333              # double 10.6
	.quad	0x4033ab851eb851ec              # double 19.670000000000002
	.quad	0x4040d70a3d70a3d7              # double 33.68
	.quad	0x405327ae147ae148              # double 76.620000000000005
	.quad	0x40581ae147ae147b              # double 96.420000000000001
	.quad	0x4062b2e147ae147b              # double 149.59
	.quad	0x40397851eb851eb8              # double 25.469999999999999
	.quad	0x40442ccccccccccd              # double 40.350000000000001
	.quad	0x403dc7ae147ae148              # double 29.780000000000001
	.quad	0x405253d70a3d70a4              # double 73.310000000000002
	.quad	0x40404b851eb851ec              # double 32.590000000000003
	.quad	0x404f251eb851eb85              # double 62.289999999999999
	.quad	0x4040ef5c28f5c28f              # double 33.869999999999997
	.quad	0x4051628f5c28f5c3              # double 69.540000000000006
	.quad	0x404b133333333333              # double 54.149999999999999
	.quad	0x4059a00000000000              # double 102.5
	.quad	0x402c6147ae147ae1              # double 14.19
	.quad	0x40465c28f5c28f5c              # double 44.719999999999999
	.quad	0x402519999999999a              # double 10.550000000000001
	.quad	0x4047e00000000000              # double 47.75
	.quad	0x40548ccccccccccd              # double 82.200000000000002
	.quad	0x405bd851eb851eb8              # double 111.38
	.quad	0x402f28f5c28f5c29              # double 15.58
	.quad	0x4045c3d70a3d70a4              # double 43.530000000000001
	.quad	0x4051de147ae147ae              # double 71.469999999999999
	.quad	0x4059beb851eb851f              # double 102.98
	.quad	0x402e9eb851eb851f              # double 15.31
	.quad	0x40472e147ae147ae              # double 46.359999999999999
	.quad	0x3ffb851eb851eb85              # double 1.72
	.quad	0x402928f5c28f5c29              # double 12.58
	.quad	0x403bab851eb851ec              # double 27.670000000000002
	.quad	0x404daccccccccccd              # double 59.350000000000001
	.quad	0x4054e851eb851eb8              # double 83.629999999999995
	.quad	0x4062733333333333              # double 147.59999999999999
	.quad	0x40462e147ae147ae              # double 44.359999999999999
	.quad	0x404c83d70a3d70a4              # double 57.030000000000001
	.quad	0x4031e147ae147ae1              # double 17.879999999999999
	.quad	0x404708f5c28f5c29              # double 46.07
	.quad	0x4043228f5c28f5c3              # double 38.270000000000003
	.quad	0x40509c28f5c28f5c              # double 66.439999999999998
	.quad	0x4056728f5c28f5c3              # double 89.790000000000006
	.quad	0x4061a2e147ae147b              # double 141.09
	.quad	0x404b47ae147ae148              # double 54.560000000000002
	.quad	0x405535c28f5c28f6              # double 84.840000000000003
	.quad	0x4021d70a3d70a3d7              # double 8.9199999999999999
	.quad	0x404c68f5c28f5c29              # double 56.82
	.quad	0x40276b851eb851ec              # double 11.710000000000001
	.quad	0x40370a3d70a3d70a              # double 23.039999999999999
	.quad	0x4051428f5c28f5c3              # double 69.040000000000006
	.quad	0x405dd47ae147ae14              # double 119.31999999999999
	.quad	0x4051bf5c28f5c28f              # double 70.989999999999995
	.quad	0x405ddd70a3d70a3d              # double 119.45999999999999
	.quad	0x40203d70a3d70a3d              # double 8.1199999999999992
	.quad	0x4041b9999999999a              # double 35.450000000000003
	.quad	0x403af851eb851eb8              # double 26.969999999999999
	.quad	0x404f051eb851eb85              # double 62.039999999999999
	.quad	0x40531147ae147ae1              # double 76.269999999999996
	.quad	0x4061e8f5c28f5c29              # double 143.28
	.quad	0x403b30a3d70a3d71              # double 27.190000000000001
	.quad	0x404a547ae147ae14              # double 52.659999999999997
	.quad	0x401deb851eb851ec              # double 7.4800000000000004
	.quad	0x4041f0a3d70a3d71              # double 35.880000000000003
	.quad	0x403a47ae147ae148              # double 26.280000000000001
	.quad	0x4047251eb851eb85              # double 46.289999999999999
	.quad	0x402fb851eb851eb8              # double 15.859999999999999
	.quad	0x4048a7ae147ae148              # double 49.310000000000002
	.quad	0x404a1eb851eb851f              # double 52.240000000000002
	.quad	0x4051ac28f5c28f5c              # double 70.689999999999998
	.quad	0x40523147ae147ae1              # double 72.769999999999996
	.quad	0x40602ccccccccccd              # double 129.40000000000001
	.quad	0x400999999999999a              # double 3.2000000000000002
	.quad	0x403ee3d70a3d70a4              # double 30.890000000000001
	.quad	0x4052266666666666              # double 72.599999999999994
	.quad	0x405f9b851eb851ec              # double 126.43000000000001
	.quad	0x404dd70a3d70a3d7              # double 59.68
	.quad	0x40582147ae147ae1              # double 96.519999999999996
	.quad	0x4055ee147ae147ae              # double 87.719999999999999
	.quad	0x4060d2e147ae147b              # double 134.59
	.quad	0x4050947ae147ae14              # double 66.319999999999993
	.quad	0x405d88f5c28f5c29              # double 118.14
	.quad	0x404f8ccccccccccd              # double 63.100000000000001
	.quad	0x405b89999999999a              # double 110.15000000000001
	.quad	0x405651eb851eb852              # double 89.280000000000001
	.quad	0x4061b28f5c28f5c3              # double 141.58000000000001
	.quad	0x404cea3d70a3d70a              # double 57.829999999999998
	.quad	0x405883d70a3d70a4              # double 98.060000000000002
	.quad	0x4043b33333333333              # double 39.399999999999999
	.quad	0x405720a3d70a3d71              # double 92.510000000000005
	.quad	0x4055a7ae147ae148              # double 86.620000000000005
	.quad	0x4060b6b851eb851f              # double 133.71000000000001
	.quad	0x4042e51eb851eb85              # double 37.789999999999999
	.quad	0x404dea3d70a3d70a              # double 59.829999999999998
	.quad	0x4057600000000000              # double 93.5
	.quad	0x406161eb851eb852              # double 139.06
	.quad	0x404e228f5c28f5c3              # double 60.270000000000003
	.quad	0x405b666666666666              # double 109.59999999999999
	.quad	0x403f51eb851eb852              # double 31.32
	.quad	0x4053b00000000000              # double 78.75
	.quad	0x405208f5c28f5c29              # double 72.140000000000001
	.quad	0x405ea70a3d70a3d7              # double 122.61
	.quad	0x401bc28f5c28f5c3              # double 6.9400000000000004
	.quad	0x4043333333333333              # double 38.399999999999999
	.quad	0x403c970a3d70a3d7              # double 28.59
	.quad	0x4052670a3d70a3d7              # double 73.609999999999999
	.quad	0x40524ae147ae147b              # double 73.170000000000001
	.quad	0x405cb147ae147ae1              # double 114.77
	.quad	0x40400ccccccccccd              # double 32.100000000000001
	.quad	0x404e6a3d70a3d70a              # double 60.829999999999998
	.quad	0x4046933333333333              # double 45.149999999999999
	.quad	0x4055a00000000000              # double 86.5
	.quad	0x404e43d70a3d70a4              # double 60.530000000000001
	.quad	0x405b1a3d70a3d70a              # double 108.41
	.quad	0x403f451eb851eb85              # double 31.27
	.quad	0x404c800000000000              # double 57
	.quad	0x4043b0a3d70a3d71              # double 39.380000000000003
	.quad	0x4051170a3d70a3d7              # double 68.359999999999999
	.quad	0x40524c28f5c28f5c              # double 73.189999999999998
	.quad	0x4060e33333333333              # double 135.09999999999999
	.quad	0x40475d70a3d70a3d              # double 46.729999999999997
	.quad	0x4053951eb851eb85              # double 78.329999999999998
	.quad	0x4030851eb851eb85              # double 16.52
	.quad	0x4048fae147ae147b              # double 49.960000000000001
	.quad	0x4041370a3d70a3d7              # double 34.43
	.quad	0x404e666666666666              # double 60.799999999999997
	.quad	0x4040a7ae147ae148              # double 33.310000000000002
	.quad	0x4051ac28f5c28f5c              # double 70.689999999999998
	.quad	0x4054a5c28f5c28f6              # double 82.590000000000003
	.quad	0x405dcf5c28f5c28f              # double 119.23999999999999
	.quad	0x404f28f5c28f5c29              # double 62.32
	.quad	0x405b4147ae147ae1              # double 109.02
	.quad	0x402d2e147ae147ae              # double 14.59
	.quad	0x40438e147ae147ae              # double 39.109999999999999
	.quad	0x4055600000000000              # double 85.5
	.quad	0x40628ae147ae147b              # double 148.34
	.quad	0x4012cccccccccccd              # double 4.7000000000000002
	.quad	0x402e570a3d70a3d7              # double 15.17
	.quad	0x40535851eb851eb8              # double 77.379999999999995
	.quad	0x40608ae147ae147b              # double 132.34
	.quad	0x40430a3d70a3d70a              # double 38.079999999999998
	.quad	0x4053d33333333333              # double 79.299999999999997
	.quad	0x4045a3d70a3d70a4              # double 43.280000000000001
	.quad	0x40544f5c28f5c28f              # double 81.239999999999994
	.quad	0x40496147ae147ae1              # double 50.759999999999998
	.quad	0x4055470a3d70a3d7              # double 85.109999999999999
	.quad	0x4018666666666666              # double 6.0999999999999996
	.quad	0x404623d70a3d70a4              # double 44.280000000000001
	.quad	0x40315eb851eb851f              # double 17.370000000000001
	.quad	0x4043ab851eb851ec              # double 39.340000000000003
	.quad	0x404a9d70a3d70a3d              # double 53.229999999999997
	.quad	0x4059a0a3d70a3d71              # double 102.51000000000001
	.quad	0x40477c28f5c28f5c              # double 46.969999999999999
	.quad	0x40553d70a3d70a3d              # double 84.959999999999993
	.quad	0x405495c28f5c28f6              # double 82.340000000000003
	.quad	0x405e5c28f5c28f5c              # double 121.44
	.quad	0x4054b47ae147ae14              # double 82.819999999999993
	.quad	0x4060f4cccccccccd              # double 135.65000000000001
	.quad	0x402de66666666666              # double 14.949999999999999
	.quad	0x40473ae147ae147b              # double 46.460000000000001
	.quad	0x404175c28f5c28f6              # double 34.920000000000002
	.quad	0x404bfae147ae147b              # double 55.960000000000001
	.quad	0x4053200000000000              # double 76.5
	.quad	0x405e58f5c28f5c29              # double 121.39
	.quad	0x4040fae147ae147b              # double 33.960000000000001
	.quad	0x4054ad70a3d70a3d              # double 82.709999999999993
	.quad	0x4040e7ae147ae148              # double 33.810000000000002
	.quad	0x4052ed70a3d70a3d              # double 75.709999999999993
	.quad	0x40557e147ae147ae              # double 85.969999999999999
	.quad	0x4062328f5c28f5c3              # double 145.58000000000001
	.quad	0x404b770a3d70a3d7              # double 54.93
	.quad	0x405ac147ae147ae1              # double 107.02
	.quad	0x4041eb851eb851ec              # double 35.840000000000003
	.quad	0x405288f5c28f5c29              # double 74.14
	.quad	0x403f400000000000              # double 31.25
	.quad	0x40520147ae147ae1              # double 72.019999999999996
	.quad	0x4046a66666666666              # double 45.299999999999997
	.quad	0x4054c28f5c28f5c3              # double 83.040000000000006
	.quad	0x4042733333333333              # double 36.899999999999999
	.quad	0x40539eb851eb851f              # double 78.480000000000003
	.quad	0x4052151eb851eb85              # double 72.329999999999998
	.quad	0x405cb66666666666              # double 114.84999999999999
	.quad	0x4022851eb851eb85              # double 9.2599999999999998
	.quad	0x40468e147ae147ae              # double 45.109999999999999
	.quad	0x4043147ae147ae14              # double 38.159999999999997
	.quad	0x4053f5c28f5c28f6              # double 79.840000000000003
	.quad	0x4052e7ae147ae148              # double 75.620000000000005
	.quad	0x405ea51eb851eb85              # double 122.58
	.quad	0x40472ccccccccccd              # double 46.350000000000001
	.quad	0x4054300000000000              # double 80.75
	.quad	0x404db0a3d70a3d71              # double 59.380000000000003
	.quad	0x40551ccccccccccd              # double 84.450000000000002
	.quad	0x4054100000000000              # double 80.25
	.quad	0x40620e147ae147ae              # double 144.44
	.quad	0x4052b7ae147ae148              # double 74.870000000000005
	.quad	0x40602b3333333333              # double 129.34999999999999
	.quad	0x4053a47ae147ae14              # double 78.569999999999993
	.quad	0x406148f5c28f5c29              # double 138.28
	.quad	0x4050f28f5c28f5c3              # double 67.790000000000006
	.quad	0x405b5ae147ae147b              # double 109.42
	.quad	0x404c50a3d70a3d71              # double 56.630000000000003
	.quad	0x4056547ae147ae14              # double 89.319999999999993
	.quad	0x4055d7ae147ae148              # double 87.370000000000005
	.quad	0x40634e6666666666              # double 154.44999999999999
	.quad	0x4038c7ae147ae148              # double 24.780000000000001
	.quad	0x4050f3d70a3d70a4              # double 67.810000000000002
	.quad	0x40454b851eb851ec              # double 42.590000000000003
	.quad	0x40516d70a3d70a3d              # double 69.709999999999994
	.quad	0x4035deb851eb851f              # double 21.870000000000001
	.quad	0x404c0b851eb851ec              # double 56.090000000000003
	.quad	0x4046b33333333333              # double 45.399999999999999
	.quad	0x40552b851eb851ec              # double 84.680000000000007
	.quad	0x404a800000000000              # double 53
	.quad	0x4057533333333333              # double 93.299999999999997
	.quad	0x4023eb851eb851ec              # double 9.9600000000000008
	.quad	0x4041547ae147ae14              # double 34.659999999999997
	.quad	0x40519f5c28f5c28f              # double 70.489999999999995
	.quad	0x405ac66666666666              # double 107.09999999999999
	.quad	0x403930a3d70a3d71              # double 25.190000000000001
	.quad	0x404c3851eb851eb8              # double 56.439999999999998
	.quad	0x403c451eb851eb85              # double 28.27
	.quad	0x404c48f5c28f5c29              # double 56.57
	.quad	0x403a8f5c28f5c28f              # double 26.559999999999999
	.quad	0x4046b33333333333              # double 45.399999999999999
	.quad	0x40352b851eb851ec              # double 21.170000000000002
	.quad	0x40471ae147ae147b              # double 46.210000000000001
	.quad	0x40523ccccccccccd              # double 72.950000000000003
	.quad	0x405f5ccccccccccd              # double 125.45
	.quad	0x404279999999999a              # double 36.950000000000003
	.quad	0x4054aeb851eb851f              # double 82.730000000000003
	.quad	0x40416f5c28f5c28f              # double 34.869999999999997
	.quad	0x404fd5c28f5c28f6              # double 63.670000000000002
	.quad	0x403ad70a3d70a3d7              # double 26.84
	.quad	0x405383d70a3d70a4              # double 78.060000000000002
	.quad	0x40177ae147ae147b              # double 5.8700000000000001
	.quad	0x4042828f5c28f5c3              # double 37.020000000000003
	.quad	0x405459999999999a              # double 81.400000000000006
	.quad	0x405c93d70a3d70a4              # double 114.31
	.quad	0x40471eb851eb851f              # double 46.240000000000002
	.quad	0x4050c5c28f5c28f6              # double 67.090000000000003
	.quad	0x402eb851eb851eb8              # double 15.359999999999999
	.quad	0x403ccf5c28f5c28f              # double 28.809999999999999
	.quad	0x4052700000000000              # double 73.75
	.quad	0x405e39999999999a              # double 120.90000000000001
	.quad	0x40362b851eb851ec              # double 22.170000000000002
	.quad	0x404b8b851eb851ec              # double 55.090000000000003
	.quad	0x403da66666666666              # double 29.649999999999999
	.quad	0x404e7ae147ae147b              # double 60.960000000000001
	.quad	0x404959999999999a              # double 50.700000000000003
	.quad	0x4052e33333333333              # double 75.549999999999997
	.quad	0x404b71eb851eb852              # double 54.890000000000001
	.quad	0x4053d0a3d70a3d71              # double 79.260000000000005
	.quad	0x4054266666666666              # double 80.599999999999994
	.quad	0x4061c47ae147ae14              # double 142.13999999999999
	.quad	0x40389eb851eb851f              # double 24.620000000000001
	.quad	0x4050aa3d70a3d70a              # double 66.659999999999997
	.quad	0x3ffd1eb851eb851f              # double 1.8200000000000001
	.quad	0x40348f5c28f5c28f              # double 20.559999999999999
	.quad	0x405115c28f5c28f6              # double 68.340000000000003
	.quad	0x405aeeb851eb851f              # double 107.73
	.quad	0x4057cc28f5c28f5c              # double 95.189999999999998
	.quad	0x406447ae147ae148              # double 162.24000000000001
	.quad	0x40218a3d70a3d70a              # double 8.7699999999999996
	.quad	0x4043e51eb851eb85              # double 39.789999999999999
	.quad	0x4058ab851eb851ec              # double 98.680000000000007
	.quad	0x406359eb851eb852              # double 154.81
	.quad	0x40465851eb851eb8              # double 44.689999999999998
	.quad	0x40539a3d70a3d70a              # double 78.409999999999997
	.quad	0x404d466666666666              # double 58.549999999999997
	.quad	0x4055200000000000              # double 84.5
	.quad	0x4054ac28f5c28f5c              # double 82.689999999999998
	.quad	0x40602b851eb851ec              # double 129.36000000000001
	.quad	0x4053028f5c28f5c3              # double 76.040000000000006
	.quad	0x40619ccccccccccd              # double 140.90000000000001
	.quad	0x4034cf5c28f5c28f              # double 20.809999999999999
	.quad	0x4042147ae147ae14              # double 36.159999999999997
	.quad	0x405773d70a3d70a4              # double 93.810000000000002
	.quad	0x40621ccccccccccd              # double 144.90000000000001
	.quad	0x405167ae147ae148              # double 69.620000000000005
	.quad	0x405bc28f5c28f5c3              # double 111.04000000000001
	.quad	0x4051300000000000              # double 68.75
	.quad	0x4058d5c28f5c28f6              # double 99.340000000000003
	.quad	0x4035c00000000000              # double 21.75
	.quad	0x4042c3d70a3d70a4              # double 37.530000000000001
	.quad	0x4048dc28f5c28f5c              # double 49.719999999999999
	.quad	0x40541f5c28f5c28f              # double 80.489999999999994
	.quad	0x40431ae147ae147b              # double 38.210000000000001
	.quad	0x404a4147ae147ae1              # double 52.509999999999998
	.quad	0x404f4147ae147ae1              # double 62.509999999999998
	.quad	0x405a01eb851eb852              # double 104.03
	.quad	0x40221eb851eb851f              # double 9.0600000000000005
	.quad	0x404008f5c28f5c29              # double 32.07
	.quad	0x402219999999999a              # double 9.0500000000000007
	.quad	0x4046666666666666              # double 44.799999999999997
	.quad	0x40562851eb851eb8              # double 88.629999999999995
	.quad	0x4061d3d70a3d70a4              # double 142.62
	.quad	0x404528f5c28f5c29              # double 42.32
	.quad	0x40594f5c28f5c28f              # double 101.23999999999999
	.quad	0x403d8ccccccccccd              # double 29.550000000000001
	.quad	0x40491ae147ae147b              # double 50.210000000000001
	.quad	0x4038e147ae147ae1              # double 24.879999999999999
	.quad	0x404a67ae147ae148              # double 52.810000000000002
	.quad	0x4058da3d70a3d70a              # double 99.409999999999996
	.quad	0x40631bd70a3d70a4              # double 152.87
	.quad	0x4049eb851eb851ec              # double 51.840000000000003
	.quad	0x4058f3d70a3d70a4              # double 99.810000000000002
	.quad	0x404739999999999a              # double 46.450000000000003
	.quad	0x40589851eb851eb8              # double 98.379999999999995
	.quad	0x4042f1eb851eb852              # double 37.890000000000001
	.quad	0x4051d47ae147ae14              # double 71.319999999999993
	.quad	0x405843d70a3d70a4              # double 97.060000000000002
	.quad	0x40640f0a3d70a3d7              # double 160.47
	.quad	0x4037bd70a3d70a3d              # double 23.739999999999998
	.quad	0x4051b51eb851eb85              # double 70.829999999999998
	.quad	0x40559b851eb851ec              # double 86.430000000000007
	.quad	0x40624c28f5c28f5c              # double 146.38
	.quad	0x4037ee147ae147ae              # double 23.93
	.quad	0x4045cccccccccccd              # double 43.600000000000001
	.quad	0x4041400000000000              # double 34.5
	.quad	0x4052f7ae147ae148              # double 75.870000000000005
	.quad	0x4001eb851eb851ec              # double 2.2400000000000002
	.quad	0x40344ccccccccccd              # double 20.300000000000001
	.quad	0x40537b851eb851ec              # double 77.930000000000007
	.quad	0x4061500000000000              # double 138.5
	.quad	0x4052966666666666              # double 74.349999999999994
	.quad	0x405bfae147ae147b              # double 111.92
	.quad	0x40564e147ae147ae              # double 89.219999999999999
	.quad	0x4061abd70a3d70a4              # double 141.37
	.quad	0x4048e7ae147ae148              # double 49.810000000000002
	.quad	0x4056b3d70a3d70a4              # double 90.810000000000002
	.quad	0x4051cd70a3d70a3d              # double 71.209999999999994
	.quad	0x405a08f5c28f5c29              # double 104.14
	.quad	0x4034a3d70a3d70a4              # double 20.640000000000001
	.quad	0x4045d851eb851eb8              # double 43.689999999999998
	.quad	0x4050b7ae147ae148              # double 66.870000000000005
	.quad	0x405bd3d70a3d70a4              # double 111.31
	.quad	0x4052de147ae147ae              # double 75.469999999999999
	.quad	0x405d0ae147ae147b              # double 116.17
	.quad	0x403891eb851eb852              # double 24.57
	.quad	0x404c8f5c28f5c28f              # double 57.119999999999997
	.quad	0x4050de147ae147ae              # double 67.469999999999999
	.quad	0x4058a47ae147ae14              # double 98.569999999999993
	.quad	0x405558f5c28f5c29              # double 85.39
	.quad	0x4060a5c28f5c28f6              # double 133.18000000000001
	.quad	0x40468f5c28f5c28f              # double 45.119999999999997
	.quad	0x40563f5c28f5c28f              # double 88.989999999999994
	.quad	0x4039c7ae147ae148              # double 25.780000000000001
	.quad	0x40445851eb851eb8              # double 40.689999999999998
	.quad	0x4021800000000000              # double 8.75
	.quad	0x40463d70a3d70a3d              # double 44.479999999999997
	.quad	0x402cae147ae147ae              # double 14.34
	.quad	0x40505c28f5c28f5c              # double 65.439999999999998
	.quad	0x4058847ae147ae14              # double 98.069999999999993
	.quad	0x4063ed1eb851eb85              # double 159.41
	.quad	0x4050070a3d70a3d7              # double 64.109999999999999
	.quad	0x405981eb851eb852              # double 102.03
	.quad	0x4035c00000000000              # double 21.75
	.quad	0x4051833333333333              # double 70.049999999999997
	.quad	0x405731eb851eb852              # double 92.780000000000001
	.quad	0x4062ed1eb851eb85              # double 151.41
	.quad	0x4051de147ae147ae              # double 71.469999999999999
	.quad	0x405ea8f5c28f5c29              # double 122.64
	.quad	0x4051e47ae147ae14              # double 71.569999999999993
	.quad	0x405f89999999999a              # double 126.15000000000001
	.quad	0x4050eeb851eb851f              # double 67.730000000000004
	.quad	0x405d166666666666              # double 116.34999999999999
	.quad	0x404d5ae147ae147b              # double 58.710000000000001
	.quad	0x40593d70a3d70a3d              # double 100.95999999999999
	.quad	0x4040c00000000000              # double 33.5
	.quad	0x404d99999999999a              # double 59.200000000000003
	.quad	0x4032970a3d70a3d7              # double 18.59
	.quad	0x4050b00000000000              # double 66.75
	.quad	0x4053af5c28f5c28f              # double 78.739999999999994
	.quad	0x405d000000000000              # double 116
	.quad	0x403c828f5c28f5c3              # double 28.510000000000002
	.quad	0x40538e147ae147ae              # double 78.219999999999999
	.quad	0x40137ae147ae147b              # double 4.8700000000000001
	.quad	0x40466e147ae147ae              # double 44.859999999999999
	.quad	0x403663d70a3d70a4              # double 22.390000000000001
	.quad	0x40448e147ae147ae              # double 41.109999999999999
	.quad	0x4040c3d70a3d70a4              # double 33.530000000000001
	.quad	0x404f747ae147ae14              # double 62.909999999999997
	.quad	0x403c28f5c28f5c29              # double 28.16
	.quad	0x404fcb851eb851ec              # double 63.590000000000003
	.quad	0x40583ccccccccccd              # double 96.950000000000002
	.quad	0x40629051eb851eb8              # double 148.50999999999999
	.quad	0x40589b851eb851ec              # double 98.430000000000007
	.quad	0x4062147ae147ae14              # double 144.63999999999999
	.quad	0x40559d70a3d70a3d              # double 86.459999999999993
	.quad	0x40637c7ae147ae14              # double 155.88999999999999
	.quad	0x40547eb851eb851f              # double 81.980000000000003
	.quad	0x4060f70a3d70a3d7              # double 135.72
	.quad	0x4058df5c28f5c28f              # double 99.489999999999994
	.quad	0x406339999999999a              # double 153.80000000000001
	.quad	0x404e0ccccccccccd              # double 60.100000000000001
	.quad	0x405adccccccccccd              # double 107.45
	.quad	0x404b533333333333              # double 54.649999999999999
	.quad	0x4057f1eb851eb852              # double 95.780000000000001
	.quad	0x40107ae147ae147b              # double 4.1200000000000001
	.quad	0x403deb851eb851ec              # double 29.920000000000002
	.quad	0x405730a3d70a3d71              # double 92.760000000000005
	.quad	0x4062e23d70a3d70a              # double 151.06999999999999
	.quad	0x40330f5c28f5c28f              # double 19.059999999999999
	.quad	0x4047ef5c28f5c28f              # double 47.869999999999997
	.quad	0x4052af5c28f5c28f              # double 74.739999999999994
	.quad	0x405cb70a3d70a3d7              # double 114.86
	.quad	0x404c628f5c28f5c3              # double 56.770000000000003
	.quad	0x40530ccccccccccd              # double 76.200000000000002
	.quad	0x404ea3d70a3d70a4              # double 61.280000000000001
	.quad	0x405acae147ae147b              # double 107.17
	.quad	0x4048dd70a3d70a3d              # double 49.729999999999997
	.quad	0x4056bb851eb851ec              # double 90.930000000000007
	.quad	0x403f9eb851eb851f              # double 31.620000000000001
	.quad	0x4054dae147ae147b              # double 83.420000000000001
	.quad	0x40520e147ae147ae              # double 72.219999999999999
	.quad	0x406077ae147ae148              # double 131.74000000000001
	.quad	0x40483c28f5c28f5c              # double 48.469999999999999
	.quad	0x4055351eb851eb85              # double 84.829999999999998
	.quad	0x405675c28f5c28f6              # double 89.840000000000003
	.quad	0x405f3e147ae147ae              # double 124.97
	.quad	0x4052fa3d70a3d70a              # double 75.909999999999997
	.quad	0x405c533333333333              # double 113.3
	.quad	0x4019eb851eb851ec              # double 6.4800000000000004
	.quad	0x4026000000000000              # double 11
	.quad	0x4051a00000000000              # double 70.5
	.quad	0x405d6f5c28f5c28f              # double 117.73999999999999
	.quad	0x404288f5c28f5c29              # double 37.07
	.quad	0x40539eb851eb851f              # double 78.480000000000003
	.quad	0x404a0a3d70a3d70a              # double 52.079999999999998
	.quad	0x40591eb851eb851f              # double 100.48
	.quad	0x4057d147ae147ae1              # double 95.269999999999996
	.quad	0x4062e1eb851eb852              # double 151.06
	.quad	0x4054028f5c28f5c3              # double 80.040000000000006
	.quad	0x405fba3d70a3d70a              # double 126.91
	.quad	0x4058c00000000000              # double 99
	.quad	0x4062c4cccccccccd              # double 150.15000000000001
	.quad	0x4038e147ae147ae1              # double 24.879999999999999
	.quad	0x4045f1eb851eb852              # double 43.890000000000001
	.quad	0x402bcccccccccccd              # double 13.9
	.quad	0x403fa66666666666              # double 31.649999999999999
	.quad	0x4027c28f5c28f5c3              # double 11.880000000000001
	.quad	0x404375c28f5c28f6              # double 38.920000000000002
	.quad	0x4021051eb851eb85              # double 8.5099999999999998
	.quad	0x404067ae147ae148              # double 32.810000000000002
	.quad	0x405173d70a3d70a4              # double 69.810000000000002
	.quad	0x405d49999999999a              # double 117.15000000000001
	.quad	0x4058e147ae147ae1              # double 99.519999999999996
	.quad	0x40624428f5c28f5c              # double 146.13
	.quad	0x404d651eb851eb85              # double 58.789999999999999
	.quad	0x405601eb851eb852              # double 88.030000000000001
	.quad	0x4012666666666666              # double 4.5999999999999996
	.quad	0x402f5c28f5c28f5c              # double 15.68
	.quad	0x4042d70a3d70a3d7              # double 37.68
	.quad	0x4053a147ae147ae1              # double 78.519999999999996
	.quad	0x4043b9999999999a              # double 39.450000000000003
	.quad	0x405129999999999a              # double 68.650000000000006
	.quad	0x3ffee147ae147ae1              # double 1.9299999999999999
	.quad	0x403dcf5c28f5c28f              # double 29.809999999999999
	.quad	0x40511ccccccccccd              # double 68.450000000000003
	.quad	0x405caa3d70a3d70a              # double 114.66
	.quad	0x404fab851eb851ec              # double 63.340000000000003
	.quad	0x405d551eb851eb85              # double 117.33
	.quad	0x4041f70a3d70a3d7              # double 35.93
	.quad	0x40533a3d70a3d70a              # double 76.909999999999997
	.quad	0x40567eb851eb851f              # double 89.980000000000003
	.quad	0x40625570a3d70a3d              # double 146.66999999999999
	.quad	0x4043ce147ae147ae              # double 39.609999999999999
	.quad	0x40532e147ae147ae              # double 76.719999999999999
	.quad	0x40576147ae147ae1              # double 93.519999999999996
	.quad	0x40604dc28f5c28f6              # double 130.43000000000001
	.quad	0x40573851eb851eb8              # double 92.879999999999995
	.quad	0x4061470a3d70a3d7              # double 138.22
	.quad	0x40472ccccccccccd              # double 46.350000000000001
	.quad	0x405bc66666666666              # double 111.09999999999999
	.quad	0x40573851eb851eb8              # double 92.879999999999995
	.quad	0x4061a6b851eb851f              # double 141.21000000000001
	.quad	0x4051947ae147ae14              # double 70.319999999999993
	.quad	0x405c88f5c28f5c29              # double 114.14
	.quad	0x402528f5c28f5c29              # double 10.58
	.quad	0x4039e3d70a3d70a4              # double 25.890000000000001
	.quad	0x4056500000000000              # double 89.25
	.quad	0x4062e851eb851eb8              # double 151.25999999999999
	.quad	0x4056b3d70a3d70a4              # double 90.810000000000002
	.quad	0x406053851eb851ec              # double 130.61000000000001
	.quad	0x40576c28f5c28f5c              # double 93.689999999999998
	.quad	0x40609d70a3d70a3d              # double 132.91999999999999
	.quad	0x40477eb851eb851f              # double 46.990000000000002
	.quad	0x4053dccccccccccd              # double 79.450000000000002
	.quad	0x4056d47ae147ae14              # double 91.319999999999993
	.quad	0x4061570a3d70a3d7              # double 138.72
	.quad	0x4002666666666666              # double 2.2999999999999998
	.quad	0x402f6b851eb851ec              # double 15.710000000000001
	.quad	0x4002000000000000              # double 2.25
	.quad	0x403ea8f5c28f5c29              # double 30.66
	.quad	0x403791eb851eb852              # double 23.57
	.quad	0x404bb9999999999a              # double 55.450000000000003
	.quad	0x4028851eb851eb85              # double 12.26
	.quad	0x403eb0a3d70a3d71              # double 30.690000000000001
	.quad	0x40143d70a3d70a3d              # double 5.0599999999999996
	.quad	0x40420f5c28f5c28f              # double 36.119999999999997
	.quad	0x40494147ae147ae1              # double 50.509999999999998
	.quad	0x405a75c28f5c28f6              # double 105.84
	.quad	0x405580a3d70a3d71              # double 86.010000000000005
	.quad	0x406080a3d70a3d71              # double 132.02000000000001
	.quad	0x4053351eb851eb85              # double 76.829999999999998
	.quad	0x405eb1eb851eb852              # double 122.78
	.quad	0x400cb851eb851eb8              # double 3.5899999999999999
	.quad	0x403c547ae147ae14              # double 28.329999999999998
	.quad	0x404643d70a3d70a4              # double 44.530000000000001
	.quad	0x40557a3d70a3d70a              # double 85.909999999999997
	.quad	0x4040747ae147ae14              # double 32.909999999999997
	.quad	0x40539e147ae147ae              # double 78.469999999999999
	.quad	0x403d6b851eb851ec              # double 29.420000000000002
	.quad	0x405049999999999a              # double 65.150000000000006
	.quad	0x401d666666666666              # double 7.3499999999999996
	.quad	0x4036570a3d70a3d7              # double 22.34
	.quad	0x40362b851eb851ec              # double 22.170000000000002
	.quad	0x4040a147ae147ae1              # double 33.259999999999998
	.quad	0x4054151eb851eb85              # double 80.329999999999998
	.quad	0x4061551eb851eb85              # double 138.66
	.quad	0x40302e147ae147ae              # double 16.18
	.quad	0x4047c28f5c28f5c3              # double 47.520000000000003
	.quad	0x40368ccccccccccd              # double 22.550000000000001
	.quad	0x40514851eb851eb8              # double 69.129999999999995
	.quad	0x404da66666666666              # double 59.299999999999997
	.quad	0x4059f51eb851eb85              # double 103.83
	.quad	0x4033570a3d70a3d7              # double 19.34
	.quad	0x404cdd70a3d70a3d              # double 57.729999999999997
	.quad	0x4032c28f5c28f5c3              # double 18.760000000000002
	.quad	0x404dcb851eb851ec              # double 59.590000000000003
	.quad	0x405407ae147ae148              # double 80.120000000000005
	.quad	0x405e5851eb851eb8              # double 121.38
	.quad	0x4056b851eb851eb8              # double 90.879999999999995
	.quad	0x406229999999999a              # double 145.30000000000001
	.quad	0x40273d70a3d70a3d              # double 11.619999999999999
	.quad	0x4048beb851eb851f              # double 49.490000000000002
	.quad	0x4055751eb851eb85              # double 85.829999999999998
	.quad	0x4061ec28f5c28f5c              # double 143.38
	.quad	0x40547a3d70a3d70a              # double 81.909999999999997
	.quad	0x4060bc7ae147ae14              # double 133.88999999999999
	.quad	0x4042eccccccccccd              # double 37.850000000000001
	.quad	0x4052e5c28f5c28f6              # double 75.590000000000003
	.quad	0x4030800000000000              # double 16.5
	.quad	0x40407851eb851eb8              # double 32.939999999999998
	.quad	0x40512147ae147ae1              # double 68.519999999999996
	.quad	0x405d7851eb851eb8              # double 117.88
	.quad	0x404a147ae147ae14              # double 52.159999999999997
	.quad	0x4057cd70a3d70a3d              # double 95.209999999999993
	.quad	0x4033d70a3d70a3d7              # double 19.84
	.quad	0x404f7d70a3d70a3d              # double 62.979999999999997
	.quad	0x404e5d70a3d70a3d              # double 60.729999999999997
	.quad	0x405d47ae147ae148              # double 117.12
	.quad	0x404ff33333333333              # double 63.899999999999999
	.quad	0x405bbb851eb851ec              # double 110.93000000000001
	.quad	0x402fa3d70a3d70a4              # double 15.82
	.quad	0x40462e147ae147ae              # double 44.359999999999999
	.quad	0x40574f5c28f5c28f              # double 93.239999999999994
	.quad	0x4062fb3333333333              # double 151.84999999999999
	.quad	0x4024947ae147ae14              # double 10.289999999999999
	.quad	0x403f68f5c28f5c29              # double 31.41
	.quad	0x405130a3d70a3d71              # double 68.760000000000005
	.quad	0x405eda3d70a3d70a              # double 123.41
	.quad	0x403bc28f5c28f5c3              # double 27.760000000000002
	.quad	0x4050f8f5c28f5c29              # double 67.890000000000001
	.quad	0x4046ef5c28f5c28f              # double 45.869999999999997
	.quad	0x4053428f5c28f5c3              # double 77.040000000000006
	.quad	0x404bcccccccccccd              # double 55.600000000000001
	.quad	0x40581ae147ae147b              # double 96.420000000000001
	.quad	0x40492147ae147ae1              # double 50.259999999999998
	.quad	0x40572ccccccccccd              # double 92.700000000000002
	.quad	0x404b4147ae147ae1              # double 54.509999999999998
	.quad	0x4057100000000000              # double 92.25
	.quad	0x403430a3d70a3d71              # double 20.190000000000001
	.quad	0x4047370a3d70a3d7              # double 46.43
	.quad	0x405795c28f5c28f6              # double 94.340000000000003
	.quad	0x40619b851eb851ec              # double 140.86000000000001
	.quad	0x4055e0a3d70a3d71              # double 87.510000000000005
	.quad	0x40607eb851eb851f              # double 131.96000000000001
	.quad	0x4000b851eb851eb8              # double 2.0899999999999999
	.quad	0x4041066666666666              # double 34.049999999999997
	.quad	0x40531f5c28f5c28f              # double 76.489999999999994
	.quad	0x4060c47ae147ae14              # double 134.13999999999999
	.quad	0x4053366666666666              # double 76.849999999999994
	.quad	0x405f95c28f5c28f6              # double 126.34
	.quad	0x4051728f5c28f5c3              # double 69.790000000000006
	.quad	0x405b0b851eb851ec              # double 108.18000000000001
	.quad	0x405877ae147ae148              # double 97.870000000000005
	.quad	0x4065180000000000              # double 168.75
	.quad	0x40428f5c28f5c28f              # double 37.119999999999997
	.quad	0x404bb1eb851eb852              # double 55.390000000000001
	.quad	0x403fa8f5c28f5c29              # double 31.66
	.quad	0x40529a3d70a3d70a              # double 74.409999999999997
	.quad	0x4051051eb851eb85              # double 68.079999999999998
	.quad	0x4059928f5c28f5c3              # double 102.29000000000001
	.quad	0x4042d33333333333              # double 37.649999999999999
	.quad	0x4051651eb851eb85              # double 69.579999999999998
	.quad	0x405855c28f5c28f6              # double 97.340000000000003
	.quad	0x4061cd1eb851eb85              # double 142.41
	.quad	0x404ae7ae147ae148              # double 53.810000000000002
	.quad	0x4059370a3d70a3d7              # double 100.86
	.quad	0x404b600000000000              # double 54.75
	.quad	0x40591b851eb851ec              # double 100.43000000000001
	.quad	0x4014a3d70a3d70a4              # double 5.1600000000000001
	.quad	0x4040147ae147ae14              # double 32.159999999999997
	.quad	0x405177ae147ae148              # double 69.870000000000005
	.quad	0x405dfa3d70a3d70a              # double 119.91
	.quad	0x404067ae147ae148              # double 32.810000000000002
	.quad	0x404fa66666666666              # double 63.299999999999997
	.quad	0x4043f1eb851eb852              # double 39.890000000000001
	.quad	0x4055dccccccccccd              # double 87.450000000000002
	.quad	0x405248f5c28f5c29              # double 73.14
	.quad	0x405fe28f5c28f5c3              # double 127.54000000000001
	.quad	0x4037a147ae147ae1              # double 23.629999999999999
	.quad	0x4050270a3d70a3d7              # double 64.609999999999999
	.quad	0x402dd70a3d70a3d7              # double 14.92
	.quad	0x404e570a3d70a3d7              # double 60.68
	.quad	0x4058b51eb851eb85              # double 98.829999999999998
	.quad	0x406353d70a3d70a4              # double 154.62
	.quad	0x40536a3d70a3d70a              # double 77.659999999999997
	.quad	0x405f300000000000              # double 124.75
	.quad	0x405741eb851eb852              # double 93.030000000000001
	.quad	0x40637f5c28f5c28f              # double 155.97999999999999
	.quad	0x4047947ae147ae14              # double 47.159999999999997
	.quad	0x4050447ae147ae14              # double 65.069999999999993
	.quad	0x4035bae147ae147b              # double 21.73
	.quad	0x4044d5c28f5c28f6              # double 41.670000000000002
	.quad	0x404d07ae147ae148              # double 58.060000000000002
	.quad	0x40597851eb851eb8              # double 101.88
	.quad	0x404ff1eb851eb852              # double 63.890000000000001
	.quad	0x405c4b851eb851ec              # double 113.18000000000001
	.quad	0x40537e147ae147ae              # double 77.969999999999999
	.quad	0x405ee147ae147ae1              # double 123.52
	.quad	0x403da8f5c28f5c29              # double 29.66
	.quad	0x40479eb851eb851f              # double 47.240000000000002
	.quad	0x4053a5c28f5c28f6              # double 78.590000000000003
	.quad	0x405eb7ae147ae148              # double 122.87
	.quad	0x40435c28f5c28f5c              # double 38.719999999999999
	.quad	0x404e8e147ae147ae              # double 61.109999999999999
	.quad	0x404499999999999a              # double 41.200000000000003
	.quad	0x4050800000000000              # double 66
	.quad	0x404e68f5c28f5c29              # double 60.82
	.quad	0x4057c47ae147ae14              # double 95.069999999999993
	.quad	0x40107ae147ae147b              # double 4.1200000000000001
	.quad	0x4037947ae147ae14              # double 23.579999999999998
	.quad	0x4052e8f5c28f5c29              # double 75.64
	.quad	0x405d60a3d70a3d71              # double 117.51000000000001
	.quad	0x4055d0a3d70a3d71              # double 87.260000000000005
	.quad	0x4062223d70a3d70a              # double 145.06999999999999
	.quad	0x405310a3d70a3d71              # double 76.260000000000005
	.quad	0x40616d1eb851eb85              # double 139.41
	.quad	0x4046dd70a3d70a3d              # double 45.729999999999997
	.quad	0x4057028f5c28f5c3              # double 92.040000000000006
	.quad	0x40506b851eb851ec              # double 65.680000000000007
	.quad	0x405c98f5c28f5c29              # double 114.39
	.quad	0x40506ae147ae147b              # double 65.670000000000002
	.quad	0x405f2147ae147ae1              # double 124.52
	.quad	0x40334f5c28f5c28f              # double 19.309999999999999
	.quad	0x404cf47ae147ae14              # double 57.909999999999997
	.quad	0x4042370a3d70a3d7              # double 36.43
	.quad	0x40500e147ae147ae              # double 64.219999999999999
	.quad	0x4058e7ae147ae148              # double 99.620000000000005
	.quad	0x40649c28f5c28f5c              # double 164.88
	.quad	0x4049147ae147ae14              # double 50.159999999999997
	.quad	0x4051f9999999999a              # double 71.900000000000006
	.quad	0x4048d9999999999a              # double 49.700000000000003
	.quad	0x4058d70a3d70a3d7              # double 99.359999999999999
	.quad	0x404948f5c28f5c29              # double 50.57
	.quad	0x40545b851eb851ec              # double 81.430000000000007
	.quad	0x404ad851eb851eb8              # double 53.689999999999998
	.quad	0x4053b47ae147ae14              # double 78.819999999999993
	.quad	0x404e2147ae147ae1              # double 60.259999999999998
	.quad	0x40594ccccccccccd              # double 101.2
	.quad	0x405575c28f5c28f6              # double 85.840000000000003
	.quad	0x4060fccccccccccd              # double 135.90000000000001
	.quad	0x4057ceb851eb851f              # double 95.230000000000003
	.quad	0x40642fae147ae148              # double 161.49000000000001
	.quad	0x404a99999999999a              # double 53.200000000000003
	.quad	0x40564c28f5c28f5c              # double 89.189999999999998
	.quad	0x4056d70a3d70a3d7              # double 91.359999999999999
	.quad	0x4061675c28f5c28f              # double 139.22999999999999
	.quad	0x403dcccccccccccd              # double 29.800000000000001
	.quad	0x404e9ae147ae147b              # double 61.210000000000001
	.quad	0x404e6ccccccccccd              # double 60.850000000000001
	.quad	0x405cec28f5c28f5c              # double 115.69
	.quad	0x400370a3d70a3d71              # double 2.4300000000000002
	.quad	0x403a2147ae147ae1              # double 26.129999999999999
	.quad	0x403451eb851eb852              # double 20.32
	.quad	0x404cfc28f5c28f5c              # double 57.969999999999999
	.quad	0x403dcf5c28f5c28f              # double 29.809999999999999
	.quad	0x4051b47ae147ae14              # double 70.819999999999993
	.quad	0x40426a3d70a3d70a              # double 36.829999999999998
	.quad	0x405337ae147ae148              # double 76.870000000000005
	.quad	0x4057df5c28f5c28f              # double 95.489999999999994
	.quad	0x40627c7ae147ae14              # double 147.88999999999999
	.quad	0x403b333333333333              # double 27.199999999999999
	.quad	0x4051b147ae147ae1              # double 70.769999999999996
	.quad	0x40221eb851eb851f              # double 9.0600000000000005
	.quad	0x4042c7ae147ae148              # double 37.560000000000002
	.quad	0x4023333333333333              # double 9.5999999999999996
	.quad	0x403a400000000000              # double 26.25
	.quad	0x40415ae147ae147b              # double 34.710000000000001
	.quad	0x405871eb851eb852              # double 97.780000000000001
	.quad	0x4047e7ae147ae148              # double 47.810000000000002
	.quad	0x40557ccccccccccd              # double 85.950000000000002
	.quad	0x40468e147ae147ae              # double 45.109999999999999
	.quad	0x40563851eb851eb8              # double 88.879999999999995
	.quad	0x4056eb851eb851ec              # double 91.680000000000007
	.quad	0x4065566666666666              # double 170.69999999999999
	.quad	0x404eef5c28f5c28f              # double 61.869999999999997
	.quad	0x4059f00000000000              # double 103.75
	.quad	0x403559999999999a              # double 21.350000000000001
	.quad	0x4046beb851eb851f              # double 45.490000000000002
	.quad	0x403e851eb851eb85              # double 30.52
	.quad	0x4052d33333333333              # double 75.299999999999997
	.quad	0x40586f5c28f5c28f              # double 97.739999999999994
	.quad	0x40629a3d70a3d70a              # double 148.81999999999999
	.quad	0x4049bc28f5c28f5c              # double 51.469999999999999
	.quad	0x4057c47ae147ae14              # double 95.069999999999993
	.quad	0x4037028f5c28f5c3              # double 23.010000000000002
	.quad	0x404923d70a3d70a4              # double 50.280000000000001
	.quad	0x4055ec28f5c28f5c              # double 87.689999999999998
	.quad	0x406334cccccccccd              # double 153.65000000000001
	.quad	0x403c5c28f5c28f5c              # double 28.359999999999999
	.quad	0x40513147ae147ae1              # double 68.769999999999996
	.quad	0x401670a3d70a3d71              # double 5.6100000000000003
	.quad	0x40448a3d70a3d70a              # double 41.079999999999998
	.quad	0x4054633333333333              # double 81.549999999999997
	.quad	0x405c033333333333              # double 112.05
	.quad	0x404950a3d70a3d71              # double 50.630000000000003
	.quad	0x40550ccccccccccd              # double 84.200000000000002
	.quad	0x400b851eb851eb85              # double 3.4399999999999999
	.quad	0x4046f9999999999a              # double 45.950000000000003
	.quad	0x4038cccccccccccd              # double 24.800000000000001
	.quad	0x404db851eb851eb8              # double 59.439999999999998
	.quad	0x4005333333333333              # double 2.6499999999999999
	.quad	0x402e2e147ae147ae              # double 15.09
	.quad	0x404e0b851eb851ec              # double 60.090000000000003
	.quad	0x405b2d70a3d70a3d              # double 108.70999999999999
	.quad	0x403e3ae147ae147b              # double 30.23
	.quad	0x404a50a3d70a3d71              # double 52.630000000000003
	.quad	0x404563d70a3d70a4              # double 42.780000000000001
	.quad	0x4057270a3d70a3d7              # double 92.609999999999999
	.quad	0x4043428f5c28f5c3              # double 38.520000000000003
	.quad	0x40535b851eb851ec              # double 77.430000000000007
	.quad	0x405220a3d70a3d71              # double 72.510000000000005
	.quad	0x405db5c28f5c28f6              # double 118.84
	.quad	0x4015d70a3d70a3d7              # double 5.46
	.quad	0x4040e51eb851eb85              # double 33.789999999999999
	.quad	0x405390a3d70a3d71              # double 78.260000000000005
	.quad	0x406076b851eb851f              # double 131.71000000000001
	.quad	0x405358f5c28f5c29              # double 77.39
	.quad	0x405eeb851eb851ec              # double 123.68000000000001
	.quad	0x3ff9c28f5c28f5c3              # double 1.6100000000000001
	.quad	0x40411ae147ae147b              # double 34.210000000000001
	.quad	0x40583f5c28f5c28f              # double 96.989999999999994
	.quad	0x406404cccccccccd              # double 160.15000000000001
	.quad	0x403011eb851eb852              # double 16.07
	.quad	0x4048b47ae147ae14              # double 49.409999999999997
	.quad	0x4049a147ae147ae1              # double 51.259999999999998
	.quad	0x4057ad70a3d70a3d              # double 94.709999999999993
	.quad	0x4036a3d70a3d70a4              # double 22.640000000000001
	.quad	0x4051433333333333              # double 69.049999999999997
	.quad	0x404a6147ae147ae1              # double 52.759999999999998
	.quad	0x4057500000000000              # double 93.25
	.quad	0x403fe3d70a3d70a4              # double 31.890000000000001
	.quad	0x40516eb851eb851f              # double 69.730000000000004
	.quad	0x4033dc28f5c28f5c              # double 19.859999999999999
	.quad	0x40449851eb851eb8              # double 41.189999999999998
	.quad	0x4057b0a3d70a3d71              # double 94.760000000000005
	.quad	0x40617e6666666666              # double 139.94999999999999
	.quad	0x4051e5c28f5c28f6              # double 71.590000000000003
	.quad	0x405fe9999999999a              # double 127.65000000000001
	.quad	0x4054b70a3d70a3d7              # double 82.859999999999999
	.quad	0x405f866666666666              # double 126.09999999999999
	.quad	0x404d3eb851eb851f              # double 58.490000000000002
	.quad	0x4056a28f5c28f5c3              # double 90.540000000000006
	.quad	0x40378ccccccccccd              # double 23.550000000000001
	.quad	0x4047d5c28f5c28f6              # double 47.670000000000002
	.quad	0x401fe147ae147ae1              # double 7.9699999999999997
	.quad	0x4044f47ae147ae14              # double 41.909999999999997
	.quad	0x4034b0a3d70a3d71              # double 20.690000000000001
	.quad	0x40487eb851eb851f              # double 48.990000000000002
	.quad	0x403a8a3d70a3d70a              # double 26.539999999999999
	.quad	0x40470e147ae147ae              # double 46.109999999999999
	.quad	0x405709999999999a              # double 92.150000000000005
	.quad	0x405caeb851eb851f              # double 114.73
	.quad	0x405163d70a3d70a4              # double 69.560000000000002
	.quad	0x4056de147ae147ae              # double 91.469999999999998
	.quad	0x404d6a3d70a3d70a              # double 58.829999999999998
	.quad	0x405cca3d70a3d70a              # double 115.16
	.quad	0x404d000000000000              # double 58
	.quad	0x40597a3d70a3d70a              # double 101.91
	.quad	0x404423d70a3d70a4              # double 40.280000000000001
	.quad	0x4053ba3d70a3d70a              # double 78.909999999999997
	.quad	0x4036c51eb851eb85              # double 22.77
	.quad	0x404fe147ae147ae1              # double 63.759999999999998
	.quad	0x404b5c28f5c28f5c              # double 54.719999999999999
	.quad	0x405a59999999999a              # double 105.40000000000001
	.quad	0x40581147ae147ae1              # double 96.269999999999996
	.quad	0x4062551eb851eb85              # double 146.66
	.quad	0x405399999999999a              # double 78.400000000000006
	.quad	0x4060a66666666666              # double 133.19999999999999
	.quad	0x404b8e147ae147ae              # double 55.109999999999999
	.quad	0x40532b851eb851ec              # double 76.680000000000007
	.quad	0x4039d1eb851eb852              # double 25.82
	.quad	0x4052128f5c28f5c3              # double 72.290000000000006
	.quad	0x403e266666666666              # double 30.149999999999999
	.quad	0x4052b9999999999a              # double 74.900000000000006
	.quad	0x404bb47ae147ae14              # double 55.409999999999997
	.quad	0x4059466666666666              # double 101.09999999999999
	.quad	0x4044547ae147ae14              # double 40.659999999999997
	.quad	0x4055dccccccccccd              # double 87.450000000000002
	.quad	0x403f4f5c28f5c28f              # double 31.309999999999999
	.quad	0x405298f5c28f5c29              # double 74.39
	.quad	0x405765c28f5c28f6              # double 93.590000000000003
	.quad	0x4064c2e147ae147b              # double 166.09
	.quad	0x405599999999999a              # double 86.400000000000006
	.quad	0x405e1f5c28f5c28f              # double 120.48999999999999
	.quad	0x404fe3d70a3d70a4              # double 63.780000000000001
	.quad	0x405dc147ae147ae1              # double 119.02
	.quad	0x4041f33333333333              # double 35.899999999999999
	.quad	0x40525ae147ae147b              # double 73.420000000000001
	.quad	0x404cea3d70a3d70a              # double 57.829999999999998
	.quad	0x40569147ae147ae1              # double 90.269999999999996
	.quad	0x403adeb851eb851f              # double 26.870000000000001
	.quad	0x404ee28f5c28f5c3              # double 61.770000000000003
	.quad	0x404490a3d70a3d71              # double 41.130000000000003
	.quad	0x4051570a3d70a3d7              # double 69.359999999999999
	.quad	0x4051cae147ae147b              # double 71.170000000000002
	.quad	0x4062be147ae147ae              # double 149.94
	.quad	0x40520147ae147ae1              # double 72.019999999999996
	.quad	0x405f4851eb851eb8              # double 125.13
	.quad	0x40580e147ae147ae              # double 96.219999999999998
	.quad	0x40626eb851eb851f              # double 147.46000000000001
	.quad	0x402fe66666666666              # double 15.949999999999999
	.quad	0x4045d33333333333              # double 43.649999999999999
	.quad	0x40566147ae147ae1              # double 89.519999999999996
	.quad	0x4061b5c28f5c28f6              # double 141.68000000000001
	.quad	0x4055900000000000              # double 86.25
	.quad	0x40628c7ae147ae14              # double 148.38999999999999
	.quad	0x405307ae147ae148              # double 76.120000000000005
	.quad	0x405c95c28f5c28f6              # double 114.34
	.quad	0x4051f9999999999a              # double 71.900000000000006
	.quad	0x405d8147ae147ae1              # double 118.02
	.quad	0x4054b5c28f5c28f6              # double 82.840000000000003
	.quad	0x405e266666666666              # double 120.59999999999999
	.quad	0x4050070a3d70a3d7              # double 64.109999999999999
	.quad	0x405ecf5c28f5c28f              # double 123.23999999999999
	.quad	0x40574d70a3d70a3d              # double 93.209999999999993
	.quad	0x406251eb851eb852              # double 146.56
	.quad	0x404de66666666666              # double 59.799999999999997
	.quad	0x4059e3d70a3d70a4              # double 103.56
	.quad	0x403175c28f5c28f6              # double 17.460000000000001
	.quad	0x403edc28f5c28f5c              # double 30.859999999999999
	.quad	0x403935c28f5c28f6              # double 25.210000000000001
	.quad	0x4045a00000000000              # double 43.25
	.quad	0x403b970a3d70a3d7              # double 27.59
	.quad	0x4051900000000000              # double 70.25
	.quad	0x4020428f5c28f5c3              # double 8.1300000000000008
	.quad	0x403e47ae147ae148              # double 30.280000000000001
	.quad	0x4052c7ae147ae148              # double 75.120000000000005
	.quad	0x405adb851eb851ec              # double 107.43000000000001
	.quad	0x403107ae147ae148              # double 17.030000000000001
	.quad	0x404903d70a3d70a4              # double 50.030000000000001
	.quad	0x4044d9999999999a              # double 41.700000000000003
	.quad	0x40562c28f5c28f5c              # double 88.689999999999998
	.quad	0x404d9851eb851eb8              # double 59.189999999999998
	.quad	0x405833d70a3d70a4              # double 96.810000000000002
	.quad	0x4036b5c28f5c28f6              # double 22.710000000000001
	.quad	0x40487d70a3d70a3d              # double 48.979999999999997
	.quad	0x40550f5c28f5c28f              # double 84.239999999999994
	.quad	0x405abc28f5c28f5c              # double 106.94
	.quad	0x40229eb851eb851f              # double 9.3100000000000005
	.quad	0x40437eb851eb851f              # double 38.990000000000002
	.quad	0x4047e00000000000              # double 47.75
	.quad	0x40569d70a3d70a3d              # double 90.459999999999993
	.quad	0x4036947ae147ae14              # double 22.579999999999998
	.quad	0x404219999999999a              # double 36.200000000000003
	.quad	0x4057ff5c28f5c28f              # double 95.989999999999994
	.quad	0x406303851eb851ec              # double 152.11000000000001
	.quad	0x4051b5c28f5c28f6              # double 70.840000000000003
	.quad	0x405cc851eb851eb8              # double 115.13
	.quad	0x4040251eb851eb85              # double 32.289999999999999
	.quad	0x40507ccccccccccd              # double 65.950000000000003
	.quad	0x4041a51eb851eb85              # double 35.289999999999999
	.quad	0x4055bccccccccccd              # double 86.950000000000002
	.quad	0x402abd70a3d70a3d              # double 13.369999999999999
	.quad	0x404435c28f5c28f6              # double 40.420000000000002
	.quad	0x400acccccccccccd              # double 3.3500000000000001
	.quad	0x403cd9999999999a              # double 28.850000000000001
	.quad	0x4057570a3d70a3d7              # double 93.359999999999999
	.quad	0x4060ef0a3d70a3d7              # double 135.47
	.quad	0x40585ae147ae147b              # double 97.420000000000001
	.quad	0x4064047ae147ae14              # double 160.13999999999999
	.quad	0x4051c00000000000              # double 71
	.quad	0x406044cccccccccd              # double 130.15000000000001
	.quad	0x4043a28f5c28f5c3              # double 39.270000000000003
	.quad	0x40558851eb851eb8              # double 86.129999999999995
	.quad	0x404c4e147ae147ae              # double 56.609999999999999
	.quad	0x405ae1eb851eb852              # double 107.53
	.quad	0x4053b33333333333              # double 78.799999999999997
	.quad	0x405ef28f5c28f5c3              # double 123.79000000000001
	.quad	0x403b5c28f5c28f5c              # double 27.359999999999999
	.quad	0x405068f5c28f5c29              # double 65.640000000000001
	.quad	0x4021b851eb851eb8              # double 8.8599999999999994
	.quad	0x403791eb851eb852              # double 23.57
	.quad	0x40573e147ae147ae              # double 92.969999999999998
	.quad	0x4061ef0a3d70a3d7              # double 143.47
	.quad	0x402adc28f5c28f5c              # double 13.43
	.quad	0x403cf851eb851eb8              # double 28.969999999999999
	.quad	0x4039f851eb851eb8              # double 25.969999999999999
	.quad	0x4048b1eb851eb852              # double 49.390000000000001
	.quad	0x4035f0a3d70a3d71              # double 21.940000000000001
	.quad	0x404919999999999a              # double 50.200000000000003
	.quad	0x4058a851eb851eb8              # double 98.629999999999995
	.quad	0x4061e47ae147ae14              # double 143.13999999999999
	.quad	0x4006b851eb851eb8              # double 2.8399999999999999
	.quad	0x4033dc28f5c28f5c              # double 19.859999999999999
	.quad	0x4058db851eb851ec              # double 99.430000000000007
	.quad	0x406400f5c28f5c29              # double 160.03
	.quad	0x404ac3d70a3d70a4              # double 53.530000000000001
	.quad	0x4055c7ae147ae148              # double 87.120000000000005
	.quad	0x403a4ccccccccccd              # double 26.300000000000001
	.quad	0x40517eb851eb851f              # double 69.980000000000004
	.quad	0x4050f851eb851eb8              # double 67.879999999999995
	.quad	0x4058ec28f5c28f5c              # double 99.689999999999998
	.quad	0x404067ae147ae148              # double 32.810000000000002
	.quad	0x4050b28f5c28f5c3              # double 66.790000000000006
	.quad	0x4045533333333333              # double 42.649999999999999
	.quad	0x4050fa3d70a3d70a              # double 67.909999999999997
	.quad	0x4050f3d70a3d70a4              # double 67.810000000000002
	.quad	0x405c9b851eb851ec              # double 114.43000000000001
	.quad	0x40447eb851eb851f              # double 40.990000000000002
	.quad	0x4053a70a3d70a3d7              # double 78.609999999999999
	.quad	0x40543ae147ae147b              # double 80.920000000000001
	.quad	0x405f1c28f5c28f5c              # double 124.44
	.quad	0x4031f0a3d70a3d71              # double 17.940000000000001
	.quad	0x404890a3d70a3d71              # double 49.130000000000003
	.quad	0x4049d9999999999a              # double 51.700000000000003
	.quad	0x4055b147ae147ae1              # double 86.769999999999996
	.quad	0x40383851eb851eb8              # double 24.219999999999999
	.quad	0x404aeb851eb851ec              # double 53.840000000000003
	.quad	0x40565ae147ae147b              # double 89.420000000000001
	.quad	0x40607147ae147ae1              # double 131.53999999999999
	.quad	0x405189999999999a              # double 70.150000000000006
	.quad	0x405fb9999999999a              # double 126.90000000000001
	.quad	0x4031f33333333333              # double 17.949999999999999
	.quad	0x404ae147ae147ae1              # double 53.759999999999998
	.quad	0x4053c28f5c28f5c3              # double 79.040000000000006
	.quad	0x405ec47ae147ae14              # double 123.06999999999999
	.quad	0x403db5c28f5c28f6              # double 29.710000000000001
	.quad	0x404ec00000000000              # double 61.5
	.quad	0x40585f5c28f5c28f              # double 97.489999999999994
	.quad	0x40645c7ae147ae14              # double 162.88999999999999
	.quad	0x401a5c28f5c28f5c              # double 6.5899999999999999
	.quad	0x4037000000000000              # double 23
	.quad	0x40161eb851eb851f              # double 5.5300000000000002
	.quad	0x404767ae147ae148              # double 46.810000000000002
	.quad	0x40522d70a3d70a3d              # double 72.709999999999994
	.quad	0x405e228f5c28f5c3              # double 120.54000000000001
	.quad	0x40563d70a3d70a3d              # double 88.959999999999993
	.quad	0x40630e6666666666              # double 152.44999999999999
	.quad	0x3ff35c28f5c28f5c              # double 1.21
	.quad	0x40414ccccccccccd              # double 34.600000000000001
	.quad	0x40167ae147ae147b              # double 5.6200000000000001
	.quad	0x404399999999999a              # double 39.200000000000003
	.quad	0x4041fc28f5c28f5c              # double 35.969999999999999
	.quad	0x40506851eb851eb8              # double 65.629999999999995
	.quad	0x403959999999999a              # double 25.350000000000001
	.quad	0x40508e147ae147ae              # double 66.219999999999999
	.quad	0x4052051eb851eb85              # double 72.079999999999998
	.quad	0x406181eb851eb852              # double 140.06
	.quad	0x4040dae147ae147b              # double 33.710000000000001
	.quad	0x4052928f5c28f5c3              # double 74.290000000000006
	.quad	0x4052347ae147ae14              # double 72.819999999999993
	.quad	0x405d8eb851eb851f              # double 118.23
	.quad	0x4024333333333333              # double 10.1
	.quad	0x4042170a3d70a3d7              # double 36.18
	.quad	0x4055cb851eb851ec              # double 87.180000000000007
	.quad	0x4060b1eb851eb852              # double 133.56
	.quad	0x4051cf5c28f5c28f              # double 71.239999999999995
	.quad	0x405c81eb851eb852              # double 114.03
	.quad	0x405753d70a3d70a4              # double 93.310000000000002
	.quad	0x4060ef0a3d70a3d7              # double 135.47
	.quad	0x4012a3d70a3d70a4              # double 4.6600000000000001
	.quad	0x403c7d70a3d70a3d              # double 28.489999999999998
	.quad	0x4055b51eb851eb85              # double 86.829999999999998
	.quad	0x4063bf5c28f5c28f              # double 157.97999999999999
	.quad	0x404cb70a3d70a3d7              # double 57.43
	.quad	0x40560c28f5c28f5c              # double 88.189999999999998
	.quad	0x405851eb851eb852              # double 97.280000000000001
	.quad	0x40636c7ae147ae14              # double 155.38999999999999
	.quad	0x405730a3d70a3d71              # double 92.760000000000005
	.quad	0x406198f5c28f5c29              # double 140.78
	.quad	0x404edd70a3d70a3d              # double 61.729999999999997
	.quad	0x40580147ae147ae1              # double 96.019999999999996
	.quad	0x4054847ae147ae14              # double 82.069999999999993
	.quad	0x40614b3333333333              # double 138.34999999999999
	.quad	0x404f7d70a3d70a3d              # double 62.979999999999997
	.quad	0x405b53d70a3d70a4              # double 109.31
	.quad	0x4053733333333333              # double 77.799999999999997
	.quad	0x405e67ae147ae148              # double 121.62
	.quad	0x403bf5c28f5c28f6              # double 27.960000000000001
	.quad	0x4051666666666666              # double 69.599999999999994
	.quad	0x404a75c28f5c28f6              # double 52.920000000000002
	.quad	0x4057d147ae147ae1              # double 95.269999999999996
	.quad	0x40494e147ae147ae              # double 50.609999999999999
	.quad	0x4059228f5c28f5c3              # double 100.54000000000001
	.quad	0x4054600000000000              # double 81.5
	.quad	0x405eb9999999999a              # double 122.90000000000001
	.quad	0x4042851eb851eb85              # double 37.039999999999999
	.quad	0x4053f66666666666              # double 79.849999999999994
	.quad	0x404427ae147ae148              # double 40.310000000000002
	.quad	0x4052a51eb851eb85              # double 74.579999999999998
	.quad	0x4046200000000000              # double 44.25
	.quad	0x4053ce147ae147ae              # double 79.219999999999999
	.quad	0x402523d70a3d70a4              # double 10.57
	.quad	0x40443d70a3d70a3d              # double 40.479999999999997
	.quad	0x404ebc28f5c28f5c              # double 61.469999999999999
	.quad	0x405853d70a3d70a4              # double 97.310000000000002
	.quad	0x405305c28f5c28f6              # double 76.090000000000003
	.quad	0x40609b3333333333              # double 132.84999999999999
	.quad	0x40536e147ae147ae              # double 77.719999999999999
	.quad	0x405cb33333333333              # double 114.8
	.quad	0x4052f9999999999a              # double 75.900000000000006
	.quad	0x4060c33333333333              # double 134.09999999999999
	.quad	0x40513a3d70a3d70a              # double 68.909999999999997
	.quad	0x405f59999999999a              # double 125.40000000000001
	.quad	0x4043ab851eb851ec              # double 39.340000000000003
	.quad	0x40500a3d70a3d70a              # double 64.159999999999997
	.quad	0x4056528f5c28f5c3              # double 89.290000000000006
	.quad	0x4061328f5c28f5c3              # double 137.58000000000001
	.quad	0x40107ae147ae147b              # double 4.1200000000000001
	.quad	0x4034a8f5c28f5c29              # double 20.66
	.quad	0x4052c8f5c28f5c29              # double 75.14
	.quad	0x405f27ae147ae148              # double 124.62
	.quad	0x402d666666666666              # double 14.699999999999999
	.quad	0x404bfeb851eb851f              # double 55.990000000000002
	.quad	0x4050bae147ae147b              # double 66.920000000000002
	.quad	0x4059ec28f5c28f5c              # double 103.69
	.quad	0x405778f5c28f5c29              # double 93.89
	.quad	0x40625a8f5c28f5c3              # double 146.83000000000001
	.quad	0x405431eb851eb852              # double 80.780000000000001
	.quad	0x4060a33333333333              # double 133.09999999999999
	.quad	0x4049fd70a3d70a3d              # double 51.979999999999997
	.quad	0x4054f0a3d70a3d71              # double 83.760000000000005
	.quad	0x4046d0a3d70a3d71              # double 45.630000000000003
	.quad	0x4056cc28f5c28f5c              # double 91.189999999999998
	.quad	0x404c200000000000              # double 56.25
	.quad	0x405abd70a3d70a3d              # double 106.95999999999999
	.quad	0x40521147ae147ae1              # double 72.269999999999996
	.quad	0x405d500000000000              # double 117.25
	.quad	0x4056147ae147ae14              # double 88.319999999999993
	.quad	0x4061e0a3d70a3d71              # double 143.02000000000001
	.quad	0x4053ff5c28f5c28f              # double 79.989999999999994
	.quad	0x4061551eb851eb85              # double 138.66
	.quad	0x40319c28f5c28f5c              # double 17.609999999999999
	.quad	0x403b5eb851eb851f              # double 27.370000000000001
	.quad	0x404ec3d70a3d70a4              # double 61.530000000000001
	.quad	0x4059c70a3d70a3d7              # double 103.11
	.quad	0x40562ae147ae147b              # double 88.670000000000001
	.quad	0x4061670a3d70a3d7              # double 139.22
	.quad	0x402019999999999a              # double 8.0500000000000007
	.quad	0x4039800000000000              # double 25.5
	.quad	0x404dce147ae147ae              # double 59.609999999999999
	.quad	0x405aec28f5c28f5c              # double 107.69
	.quad	0x4020000000000000              # double 8
	.quad	0x4048400000000000              # double 48.5
	.quad	0x403e947ae147ae14              # double 30.579999999999998
	.quad	0x404edae147ae147b              # double 61.710000000000001
	.quad	0x4055b0a3d70a3d71              # double 86.760000000000005
	.quad	0x406152e147ae147b              # double 138.59
	.quad	0x40541851eb851eb8              # double 80.379999999999995
	.quad	0x40622051eb851eb8              # double 145.00999999999999
	.quad	0x40507ae147ae147b              # double 65.920000000000002
	.quad	0x405e27ae147ae148              # double 120.62
	.quad	0x404cbd70a3d70a3d              # double 57.479999999999997
	.quad	0x405778f5c28f5c29              # double 93.89
	.quad	0x40521b851eb851ec              # double 72.430000000000007
	.quad	0x405b5b851eb851ec              # double 109.43000000000001
	.quad	0x40552e147ae147ae              # double 84.719999999999999
	.quad	0x40600e6666666666              # double 128.44999999999999
	.quad	0x4037fd70a3d70a3d              # double 23.989999999999998
	.quad	0x404b1c28f5c28f5c              # double 54.219999999999999
	.quad	0x4049feb851eb851f              # double 51.990000000000002
	.quad	0x40517851eb851eb8              # double 69.879999999999995
	.quad	0x405170a3d70a3d71              # double 69.760000000000005
	.quad	0x406070a3d70a3d71              # double 131.52000000000001
	.quad	0x4032c7ae147ae148              # double 18.780000000000001
	.quad	0x4049533333333333              # double 50.649999999999999
	.quad	0x40533ae147ae147b              # double 76.920000000000001
	.quad	0x4060a8a3d70a3d71              # double 133.27000000000001
	.quad	0x40341c28f5c28f5c              # double 20.109999999999999
	.quad	0x404963d70a3d70a4              # double 50.780000000000001
	.quad	0x4031e66666666666              # double 17.899999999999999
	.quad	0x404e000000000000              # double 60
	.quad	0x405879999999999a              # double 97.900000000000005
	.quad	0x4062fc7ae147ae14              # double 151.88999999999999
	.quad	0x404f43d70a3d70a4              # double 62.530000000000001
	.quad	0x405761eb851eb852              # double 93.530000000000001
	.quad	0x405773d70a3d70a4              # double 93.810000000000002
	.quad	0x4062923d70a3d70a              # double 148.56999999999999
	.quad	0x401f3d70a3d70a3d              # double 7.8099999999999996
	.quad	0x403b800000000000              # double 27.5
	.quad	0x403c6e147ae147ae              # double 28.43
	.quad	0x404b08f5c28f5c29              # double 54.07
	.quad	0x404515c28f5c28f6              # double 42.170000000000002
	.quad	0x404deccccccccccd              # double 59.850000000000001
	.quad	0x4042200000000000              # double 36.25
	.quad	0x4050d00000000000              # double 67.25
	.quad	0x3ffdeb851eb851ec              # double 1.8700000000000001
	.quad	0x40391c28f5c28f5c              # double 25.109999999999999
	.quad	0x404648f5c28f5c29              # double 44.57
	.quad	0x405567ae147ae148              # double 85.620000000000005
	.quad	0x4046970a3d70a3d7              # double 45.18
	.quad	0x4055fe147ae147ae              # double 87.969999999999999
	.quad	0x402d6147ae147ae1              # double 14.69
	.quad	0x4046533333333333              # double 44.649999999999999
	.quad	0x40301eb851eb851f              # double 16.120000000000001
	.quad	0x40476a3d70a3d70a              # double 46.829999999999998
	.quad	0x404ee7ae147ae148              # double 61.810000000000002
	.quad	0x405c83d70a3d70a4              # double 114.06
	.quad	0x40434f5c28f5c28f              # double 38.619999999999997
	.quad	0x4053b9999999999a              # double 78.900000000000006
	.quad	0x4032ee147ae147ae              # double 18.93
	.quad	0x404cd1eb851eb852              # double 57.640000000000001
	.quad	0x4044deb851eb851f              # double 41.740000000000002
	.quad	0x40515ccccccccccd              # double 69.450000000000003
	.quad	0x40566147ae147ae1              # double 89.519999999999996
	.quad	0x40603c28f5c28f5c              # double 129.88
	.quad	0x4053ca3d70a3d70a              # double 79.159999999999997
	.quad	0x405c066666666666              # double 112.09999999999999
	.quad	0x4054b0a3d70a3d71              # double 82.760000000000005
	.quad	0x406086b851eb851f              # double 132.21000000000001
	.quad	0x402b000000000000              # double 13.5
	.quad	0x404668f5c28f5c29              # double 44.82
	.quad	0x40254ccccccccccd              # double 10.65
	.quad	0x4048d5c28f5c28f6              # double 49.670000000000002
	.quad	0x40512147ae147ae1              # double 68.519999999999996
	.quad	0x405790a3d70a3d71              # double 94.260000000000005
	.quad	0x403cd9999999999a              # double 28.850000000000001
	.quad	0x4052dc28f5c28f5c              # double 75.439999999999998
	.quad	0x4053aa3d70a3d70a              # double 78.659999999999997
	.quad	0x40601428f5c28f5c              # double 128.63
	.quad	0x40248a3d70a3d70a              # double 10.27
	.quad	0x4046a66666666666              # double 45.299999999999997
	.quad	0x403435c28f5c28f6              # double 20.210000000000001
	.quad	0x4043e7ae147ae148              # double 39.810000000000002
	.quad	0x40557f5c28f5c28f              # double 85.989999999999994
	.quad	0x40605f5c28f5c28f              # double 130.97999999999999
	.quad	0x40495ae147ae147b              # double 50.710000000000001
	.quad	0x4051dae147ae147b              # double 71.420000000000002
	.quad	0x4040c28f5c28f5c3              # double 33.520000000000003
	.quad	0x4054c70a3d70a3d7              # double 83.109999999999999
	.quad	0x4045028f5c28f5c3              # double 42.020000000000003
	.quad	0x4056ce147ae147ae              # double 91.219999999999999
	.quad	0x40547ccccccccccd              # double 81.950000000000002
	.quad	0x4060b0a3d70a3d71              # double 133.52000000000001
	.quad	0x4045000000000000              # double 42
	.quad	0x40561ccccccccccd              # double 88.450000000000002
	.quad	0x405751eb851eb852              # double 93.280000000000001
	.quad	0x40620147ae147ae1              # double 144.03999999999999
	.quad	0x4056f0a3d70a3d71              # double 91.760000000000005
	.quad	0x40627bd70a3d70a4              # double 147.87
	.quad	0x404b2f5c28f5c28f              # double 54.369999999999997
	.quad	0x405d9ae147ae147b              # double 118.42
	.quad	0x404de7ae147ae148              # double 59.810000000000002
	.quad	0x405387ae147ae148              # double 78.120000000000005
	.quad	0x40454147ae147ae1              # double 42.509999999999998
	.quad	0x405387ae147ae148              # double 78.120000000000005
	.quad	0x402d6b851eb851ec              # double 14.710000000000001
	.quad	0x40464f5c28f5c28f              # double 44.619999999999997
	.quad	0x4042028f5c28f5c3              # double 36.020000000000003
	.quad	0x404c55c28f5c28f6              # double 56.670000000000002
	.quad	0x4057bd70a3d70a3d              # double 94.959999999999993
	.quad	0x406290f5c28f5c29              # double 148.53
	.quad	0x4058feb851eb851f              # double 99.980000000000003
	.quad	0x4060f570a3d70a3d              # double 135.66999999999999
	.quad	0x402719999999999a              # double 11.550000000000001
	.quad	0x4042066666666666              # double 36.049999999999997
	.quad	0x40383d70a3d70a3d              # double 24.239999999999998
	.quad	0x404f83d70a3d70a4              # double 63.030000000000001
	.quad	0x404b7eb851eb851f              # double 54.990000000000002
	.quad	0x4056ce147ae147ae              # double 91.219999999999999
	.quad	0x4040800000000000              # double 33
	.quad	0x4056e9999999999a              # double 91.650000000000005
	.quad	0x4052ca3d70a3d70a              # double 75.159999999999997
	.quad	0x40620b851eb851ec              # double 144.36000000000001
	.quad	0x405630a3d70a3d71              # double 88.760000000000005
	.quad	0x4061d147ae147ae1              # double 142.53999999999999
	.quad	0x4048fd70a3d70a3d              # double 49.979999999999997
	.quad	0x4055d66666666666              # double 87.349999999999994
	.quad	0x4041ee147ae147ae              # double 35.859999999999999
	.quad	0x404e866666666666              # double 61.049999999999997
	.quad	0x405479999999999a              # double 81.900000000000006
	.quad	0x4061bd1eb851eb85              # double 141.91
	.quad	0x403fb5c28f5c28f6              # double 31.710000000000001
	.quad	0x404f39999999999a              # double 62.450000000000003
	.quad	0x4039d47ae147ae14              # double 25.829999999999998
	.quad	0x404e83d70a3d70a4              # double 61.030000000000001
	.quad	0x4020fae147ae147b              # double 8.4900000000000002
	.quad	0x4041d9999999999a              # double 35.700000000000003
	.quad	0x4052ec28f5c28f5c              # double 75.689999999999998
	.quad	0x406009999999999a              # double 128.30000000000001
	.quad	0x4054e7ae147ae148              # double 83.620000000000005
	.quad	0x40621f0a3d70a3d7              # double 144.97
	.quad	0x403a99999999999a              # double 26.600000000000001
	.quad	0x40490147ae147ae1              # double 50.009999999999998
	.quad	0x402bd70a3d70a3d7              # double 13.92
	.quad	0x40403851eb851eb8              # double 32.439999999999998
	.quad	0x405073d70a3d70a4              # double 65.810000000000002
	.quad	0x405e1ccccccccccd              # double 120.45
	.quad	0x40572f5c28f5c28f              # double 92.739999999999994
	.quad	0x4062deb851eb851f              # double 150.96000000000001
	.quad	0x404e133333333333              # double 60.149999999999999
	.quad	0x4059ab851eb851ec              # double 102.68000000000001
	.quad	0x4056c0a3d70a3d71              # double 91.010000000000005
	.quad	0x406247ae147ae148              # double 146.24000000000001
	.quad	0x40412ccccccccccd              # double 34.350000000000001
	.quad	0x404e6a3d70a3d70a              # double 60.829999999999998
	.quad	0x40460147ae147ae1              # double 44.009999999999998
	.quad	0x40544b851eb851ec              # double 81.180000000000007
	.quad	0x405053d70a3d70a4              # double 65.310000000000002
	.quad	0x405a9eb851eb851f              # double 106.48
	.quad	0x405109999999999a              # double 68.150000000000006
	.quad	0x405efe147ae147ae              # double 123.97
	.quad	0x4052e47ae147ae14              # double 75.569999999999993
	.quad	0x405ba0a3d70a3d71              # double 110.51000000000001
	.quad	0x4050633333333333              # double 65.549999999999997
	.quad	0x405a77ae147ae148              # double 105.87
	.quad	0x402cdc28f5c28f5c              # double 14.43
	.quad	0x404291eb851eb852              # double 37.140000000000001
	.quad	0x4039a66666666666              # double 25.649999999999999
	.quad	0x404911eb851eb852              # double 50.140000000000001
	.quad	0x40565eb851eb851f              # double 89.480000000000003
	.quad	0x406209eb851eb852              # double 144.31
	.quad	0x404da7ae147ae148              # double 59.310000000000002
	.quad	0x405e90a3d70a3d71              # double 122.26000000000001
	.quad	0x4039c7ae147ae148              # double 25.780000000000001
	.quad	0x4053f47ae147ae14              # double 79.819999999999993
	.quad	0x405213d70a3d70a4              # double 72.310000000000002
	.quad	0x405e95c28f5c28f6              # double 122.34
	.quad	0x4053fe147ae147ae              # double 79.969999999999999
	.quad	0x406053851eb851ec              # double 130.61000000000001
	.quad	0x4037d1eb851eb852              # double 23.82
	.quad	0x40519f5c28f5c28f              # double 70.489999999999995
	.quad	0x404219999999999a              # double 36.200000000000003
	.quad	0x4054228f5c28f5c3              # double 80.540000000000006
	.quad	0x4032a3d70a3d70a4              # double 18.640000000000001
	.quad	0x4045a66666666666              # double 43.299999999999997
	.quad	0x40303d70a3d70a3d              # double 16.239999999999998
	.quad	0x404c55c28f5c28f6              # double 56.670000000000002
	.quad	0x401a8f5c28f5c28f              # double 6.6399999999999997
	.quad	0x403b63d70a3d70a4              # double 27.390000000000001
	.quad	0x40587b851eb851ec              # double 97.930000000000007
	.quad	0x40637f5c28f5c28f              # double 155.97999999999999
	.quad	0x40345eb851eb851f              # double 20.370000000000001
	.quad	0x404c8a3d70a3d70a              # double 57.079999999999998
	.quad	0x4040f70a3d70a3d7              # double 33.93
	.quad	0x4053170a3d70a3d7              # double 76.359999999999999
	.quad	0x4048af5c28f5c28f              # double 49.369999999999997
	.quad	0x40579c28f5c28f5c              # double 94.439999999999998
	.quad	0x40501eb851eb851f              # double 64.480000000000004
	.quad	0x405bbc28f5c28f5c              # double 110.94
	.quad	0x404803d70a3d70a4              # double 48.030000000000001
	.quad	0x4056e28f5c28f5c3              # double 91.540000000000006
	.quad	0x4035f851eb851eb8              # double 21.969999999999999
	.quad	0x404e99999999999a              # double 61.200000000000003
	.quad	0x4036051eb851eb85              # double 22.02
	.quad	0x404ed47ae147ae14              # double 61.659999999999997
	.quad	0x404910a3d70a3d71              # double 50.130000000000003
	.quad	0x4057d8f5c28f5c29              # double 95.39
	.quad	0x404875c28f5c28f6              # double 48.920000000000002
	.quad	0x405a4c28f5c28f5c              # double 105.19
	.quad	0x402cc28f5c28f5c3              # double 14.380000000000001
	.quad	0x4046051eb851eb85              # double 44.039999999999999
	.quad	0x405368f5c28f5c29              # double 77.64
	.quad	0x4059bae147ae147b              # double 102.92
	.quad	0x40438f5c28f5c28f              # double 39.119999999999997
	.quad	0x40591e147ae147ae              # double 100.47
	.quad	0x4021f0a3d70a3d71              # double 8.9700000000000006
	.quad	0x403db0a3d70a3d71              # double 29.690000000000001
	.quad	0x4050bc28f5c28f5c              # double 66.939999999999998
	.quad	0x405cb00000000000              # double 114.75
	.quad	0x404955c28f5c28f6              # double 50.670000000000002
	.quad	0x4055500000000000              # double 85.25
	.quad	0x4043651eb851eb85              # double 38.789999999999999
	.quad	0x405485c28f5c28f6              # double 82.090000000000003
	.quad	0x404848f5c28f5c29              # double 48.57
	.quad	0x40529f5c28f5c28f              # double 74.489999999999994
	.quad	0x40516c28f5c28f5c              # double 69.689999999999998
	.quad	0x405c9147ae147ae1              # double 114.27
	.quad	0x40547ccccccccccd              # double 81.950000000000002
	.quad	0x4060333333333333              # double 129.59999999999999
	.quad	0x405540a3d70a3d71              # double 85.010000000000005
	.quad	0x405ed3d70a3d70a4              # double 123.31
	.quad	0x40501f5c28f5c28f              # double 64.489999999999995
	.quad	0x405d7ccccccccccd              # double 117.95
	.quad	0x40454f5c28f5c28f              # double 42.619999999999997
	.quad	0x4055dccccccccccd              # double 87.450000000000002
	.quad	0x400eb851eb851eb8              # double 3.8399999999999999
	.quad	0x403ed1eb851eb852              # double 30.82
	.quad	0x4031547ae147ae14              # double 17.329999999999998
	.quad	0x404bc7ae147ae148              # double 55.560000000000002
	.quad	0x40508f5c28f5c28f              # double 66.239999999999995
	.quad	0x4057b147ae147ae1              # double 94.769999999999996
	.quad	0x3fe0a3d70a3d70a4              # double 0.52000000000000002
	.quad	0x403f733333333333              # double 31.449999999999999
	.quad	0x404d91eb851eb852              # double 59.140000000000001
	.quad	0x405d1ae147ae147b              # double 116.42
	.quad	0x4053d7ae147ae148              # double 79.370000000000005
	.quad	0x405d67ae147ae148              # double 117.62
	.quad	0x4041747ae147ae14              # double 34.909999999999997
	.quad	0x405275c28f5c28f6              # double 73.840000000000003
	.quad	0x403d68f5c28f5c29              # double 29.41
	.quad	0x404fc7ae147ae148              # double 63.560000000000002
	.quad	0x405405c28f5c28f6              # double 80.090000000000003
	.quad	0x406159eb851eb852              # double 138.81
	.quad	0x404aab851eb851ec              # double 53.340000000000003
	.quad	0x40568d70a3d70a3d              # double 90.209999999999993
	.quad	0x404443d70a3d70a4              # double 40.530000000000001
	.quad	0x4056fa3d70a3d70a              # double 91.909999999999996
	.quad	0x4037028f5c28f5c3              # double 23.010000000000002
	.quad	0x404d43d70a3d70a4              # double 58.530000000000001
	.quad	0x40404a3d70a3d70a              # double 32.579999999999998
	.quad	0x4052deb851eb851f              # double 75.480000000000003
	.quad	0x402fcccccccccccd              # double 15.9
	.quad	0x4047fd70a3d70a3d              # double 47.979999999999997
	.quad	0x401651eb851eb852              # double 5.5800000000000001
	.quad	0x403823d70a3d70a4              # double 24.140000000000001
	.quad	0x404d87ae147ae148              # double 59.060000000000002
	.quad	0x405cfb851eb851ec              # double 115.93000000000001
	.quad	0x4050db851eb851ec              # double 67.430000000000007
	.quad	0x405f1ae147ae147b              # double 124.42
	.quad	0x404d3851eb851eb8              # double 58.439999999999998
	.quad	0x4057ed70a3d70a3d              # double 95.709999999999993
	.quad	0x4053dccccccccccd              # double 79.450000000000002
	.quad	0x405ea70a3d70a3d7              # double 122.61
	.quad	0x4050a47ae147ae14              # double 66.569999999999993
	.quad	0x4058c8f5c28f5c29              # double 99.14
	.quad	0x4035266666666666              # double 21.149999999999999
	.quad	0x404a9eb851eb851f              # double 53.240000000000002
	.quad	0x40475ae147ae147b              # double 46.710000000000001
	.quad	0x4057933333333333              # double 94.299999999999997
	.quad	0x4038d9999999999a              # double 24.850000000000001
	.quad	0x404083d70a3d70a4              # double 33.030000000000001
	.quad	0x40431c28f5c28f5c              # double 38.219999999999999
	.quad	0x40531147ae147ae1              # double 76.269999999999996
	.quad	0x403575c28f5c28f6              # double 21.460000000000001
	.quad	0x404cdd70a3d70a3d              # double 57.729999999999997
	.quad	0x4033028f5c28f5c3              # double 19.010000000000002
	.quad	0x404b27ae147ae148              # double 54.310000000000002
	.quad	0x4042ca3d70a3d70a              # double 37.579999999999998
	.quad	0x4055351eb851eb85              # double 84.829999999999998
	.quad	0x4056a147ae147ae1              # double 90.519999999999996
	.quad	0x40620051eb851eb8              # double 144.00999999999999
	.quad	0x3fb1eb851eb851ec              # double 0.070000000000000007
	.quad	0x4037800000000000              # double 23.5
	.quad	0x4058d47ae147ae14              # double 99.319999999999993
	.quad	0x40637e147ae147ae              # double 155.94
	.quad	0x4054a7ae147ae148              # double 82.620000000000005
	.quad	0x405fc3d70a3d70a4              # double 127.06
	.quad	0x3febd70a3d70a3d7              # double 0.87
	.quad	0x403d6147ae147ae1              # double 29.379999999999999
	.quad	0x4026bd70a3d70a3d              # double 11.369999999999999
	.quad	0x4048aa3d70a3d70a              # double 49.329999999999998
	.quad	0x404d1d70a3d70a3d              # double 58.229999999999997
	.quad	0x4056a5c28f5c28f6              # double 90.590000000000003
	.quad	0x400deb851eb851ec              # double 3.7400000000000002
	.quad	0x4042c7ae147ae148              # double 37.560000000000002
	.quad	0x402223d70a3d70a4              # double 9.0700000000000002
	.quad	0x403e0f5c28f5c28f              # double 30.059999999999999
	.quad	0x4049a51eb851eb85              # double 51.289999999999999
	.quad	0x40579e147ae147ae              # double 94.469999999999998
	.quad	0x404a31eb851eb852              # double 52.390000000000001
	.quad	0x4056600000000000              # double 89.5
	.quad	0x405897ae147ae148              # double 98.370000000000005
	.quad	0x4063e51eb851eb85              # double 159.16
	.quad	0x404095c28f5c28f6              # double 33.170000000000002
	.quad	0x4052f28f5c28f5c3              # double 75.790000000000006
	.quad	0x404d466666666666              # double 58.549999999999997
	.quad	0x405b9eb851eb851f              # double 110.48
	.quad	0x403d68f5c28f5c29              # double 29.41
	.quad	0x4052d70a3d70a3d7              # double 75.359999999999999
	.quad	0x4006cccccccccccd              # double 2.8500000000000001
	.quad	0x4031dc28f5c28f5c              # double 17.859999999999999
	.quad	0x4030d1eb851eb852              # double 16.82
	.quad	0x4048170a3d70a3d7              # double 48.18
	.quad	0x401e000000000000              # double 7.5
	.quad	0x4042ef5c28f5c28f              # double 37.869999999999997
	.quad	0x4051cccccccccccd              # double 71.200000000000003
	.quad	0x40600a8f5c28f5c3              # double 128.33000000000001
	.quad	0x4053666666666666              # double 77.599999999999994
	.quad	0x406069999999999a              # double 131.30000000000001
	.quad	0x4044beb851eb851f              # double 41.490000000000002
	.quad	0x4052db851eb851ec              # double 75.430000000000007
	.quad	0x404b133333333333              # double 54.149999999999999
	.quad	0x4058266666666666              # double 96.599999999999994
	.quad	0x4057eae147ae147b              # double 95.670000000000001
	.quad	0x40640b3333333333              # double 160.34999999999999
	.quad	0x404470a3d70a3d71              # double 40.880000000000003
	.quad	0x405219999999999a              # double 72.400000000000006
	.quad	0x4039dc28f5c28f5c              # double 25.859999999999999
	.quad	0x4049370a3d70a3d7              # double 50.43
	.quad	0x40465eb851eb851f              # double 44.740000000000002
	.quad	0x405820a3d70a3d71              # double 96.510000000000005
	.quad	0x4051a00000000000              # double 70.5
	.quad	0x405e728f5c28f5c3              # double 121.79000000000001
	.quad	0x4010cccccccccccd              # double 4.2000000000000002
	.quad	0x402f7ae147ae147b              # double 15.74
	.quad	0x3fe1eb851eb851ec              # double 0.56000000000000005
	.quad	0x4034f33333333333              # double 20.949999999999999
	.quad	0x404d9eb851eb851f              # double 59.240000000000002
	.quad	0x4058e851eb851eb8              # double 99.629999999999995
	.quad	0x4057b9999999999a              # double 94.900000000000005
	.quad	0x4064428f5c28f5c3              # double 162.08000000000001
	.quad	0x4036e147ae147ae1              # double 22.879999999999999
	.quad	0x4044e147ae147ae1              # double 41.759999999999998
	.quad	0x40462b851eb851ec              # double 44.340000000000003
	.quad	0x40526ccccccccccd              # double 73.700000000000002
	.quad	0x4040733333333333              # double 32.899999999999999
	.quad	0x405031eb851eb852              # double 64.780000000000001
	.quad	0x405705c28f5c28f6              # double 92.090000000000003
	.quad	0x40621147ae147ae1              # double 144.53999999999999
	.quad	0x4050200000000000              # double 64.5
	.quad	0x405ec66666666666              # double 123.09999999999999
	.quad	0x4056b9999999999a              # double 90.900000000000006
	.quad	0x4061bf5c28f5c28f              # double 141.97999999999999
	.quad	0x404fb70a3d70a3d7              # double 63.43
	.quad	0x4059aeb851eb851f              # double 102.73
	.quad	0x404c028f5c28f5c3              # double 56.020000000000003
	.quad	0x4056366666666666              # double 88.849999999999994
	.quad	0x40515e147ae147ae              # double 69.469999999999999
	.quad	0x40602c7ae147ae14              # double 129.38999999999999
	.quad	0x402699999999999a              # double 11.300000000000001
	.quad	0x40460ccccccccccd              # double 44.100000000000001
	.quad	0x3fec7ae147ae147b              # double 0.89000000000000001
	.quad	0x3fedc28f5c28f5c3              # double 0.93000000000000005
	.quad	0x4043c66666666666              # double 39.549999999999997
	.quad	0x4052bc28f5c28f5c              # double 74.939999999999998
	.quad	0x4031947ae147ae14              # double 17.579999999999998
	.quad	0x404668f5c28f5c29              # double 44.82
	.quad	0x4041e51eb851eb85              # double 35.789999999999999
	.quad	0x404f83d70a3d70a4              # double 63.030000000000001
	.quad	0x40445851eb851eb8              # double 40.689999999999998
	.quad	0x40580ccccccccccd              # double 96.200000000000002
	.quad	0x40550ae147ae147b              # double 84.170000000000001
	.quad	0x40618ccccccccccd              # double 140.40000000000001
	.quad	0x402a75c28f5c28f6              # double 13.23
	.quad	0x40468a3d70a3d70a              # double 45.079999999999998
	.quad	0x4049828f5c28f5c3              # double 51.020000000000003
	.quad	0x405ae33333333333              # double 107.55
	.quad	0x404e47ae147ae148              # double 60.560000000000002
	.quad	0x4058f9999999999a              # double 99.900000000000005
	.quad	0x404a6ccccccccccd              # double 52.850000000000001
	.quad	0x4057e70a3d70a3d7              # double 95.609999999999999
	.quad	0x4052147ae147ae14              # double 72.319999999999993
	.quad	0x405b433333333333              # double 109.05
	.quad	0x40450147ae147ae1              # double 42.009999999999998
	.quad	0x405471eb851eb852              # double 81.780000000000001
	.quad	0x404a3eb851eb851f              # double 52.490000000000002
	.quad	0x4052528f5c28f5c3              # double 73.290000000000006
	.quad	0x4055833333333333              # double 86.049999999999997
	.quad	0x4063d147ae147ae1              # double 158.53999999999999
	.quad	0x404deccccccccccd              # double 59.850000000000001
	.quad	0x4058e147ae147ae1              # double 99.519999999999996
	.quad	0x4046beb851eb851f              # double 45.490000000000002
	.quad	0x40510ccccccccccd              # double 68.200000000000003
	.quad	0x403951eb851eb852              # double 25.32
	.quad	0x404c4ccccccccccd              # double 56.600000000000001
	.quad	0x4053a33333333333              # double 78.549999999999997
	.quad	0x405a370a3d70a3d7              # double 104.86
	.quad	0x404c48f5c28f5c29              # double 56.57
	.quad	0x4058ac28f5c28f5c              # double 98.689999999999998
	.quad	0x4058c7ae147ae148              # double 99.120000000000005
	.quad	0x406041eb851eb852              # double 130.06
	.quad	0x3ff11eb851eb851f              # double 1.0700000000000001
	.quad	0xbfd47ae147ae147b              # double -0.32000000000000001
	.quad	0x404a828f5c28f5c3              # double 53.020000000000003
	.quad	0x4055eb851eb851ec              # double 87.680000000000007
	.quad	0x4050beb851eb851f              # double 66.980000000000004
	.quad	0x405d1d70a3d70a3d              # double 116.45999999999999
	.quad	0x404f800000000000              # double 63
	.quad	0x405b2ccccccccccd              # double 108.7
	.quad	0x40563f5c28f5c28f              # double 88.989999999999994
	.quad	0x4060d47ae147ae14              # double 134.63999999999999
	.quad	0x404aaf5c28f5c28f              # double 53.369999999999997
	.quad	0x4056e9999999999a              # double 91.650000000000005
	.quad	0x4024428f5c28f5c3              # double 10.130000000000001
	.quad	0x4043b9999999999a              # double 39.450000000000003
	.quad	0x4058447ae147ae14              # double 97.069999999999993
	.quad	0x4062b2e147ae147b              # double 149.59
	.quad	0x4055600000000000              # double 85.5
	.quad	0x4061c8a3d70a3d71              # double 142.27000000000001
	.quad	0x403e147ae147ae14              # double 30.079999999999998
	.quad	0x4052433333333333              # double 73.049999999999997
	.quad	0x4011e147ae147ae1              # double 4.4699999999999998
	.quad	0x404375c28f5c28f6              # double 38.920000000000002
	.quad	0x404751eb851eb852              # double 46.640000000000001
	.quad	0x4056a33333333333              # double 90.549999999999997
	.quad	0x405535c28f5c28f6              # double 84.840000000000003
	.quad	0x40609c28f5c28f5c              # double 132.88
	.quad	0x40211eb851eb851f              # double 8.5600000000000005
	.quad	0x404468f5c28f5c29              # double 40.82
	.quad	0x4040ee147ae147ae              # double 33.859999999999999
	.quad	0x404c4147ae147ae1              # double 56.509999999999998
	.quad	0x4045dd70a3d70a3d              # double 43.729999999999997
	.quad	0x4054aeb851eb851f              # double 82.730000000000003
	.quad	0x404bd5c28f5c28f6              # double 55.670000000000002
	.quad	0x40581ccccccccccd              # double 96.450000000000002
	.quad	0x4022fae147ae147b              # double 9.4900000000000002
	.quad	0x403f147ae147ae14              # double 31.079999999999998
	.quad	0x4051628f5c28f5c3              # double 69.540000000000006
	.quad	0x405ee0a3d70a3d71              # double 123.51000000000001
	.quad	0x40464b851eb851ec              # double 44.590000000000003
	.quad	0x4053a7ae147ae148              # double 78.620000000000005
	.quad	0x4044170a3d70a3d7              # double 40.18
	.quad	0x4056270a3d70a3d7              # double 88.609999999999999
	.quad	0x402947ae147ae148              # double 12.640000000000001
	.quad	0x4049000000000000              # double 50
	.quad	0x404a30a3d70a3d71              # double 52.380000000000003
	.quad	0x405698f5c28f5c29              # double 90.39
	.quad	0x40449851eb851eb8              # double 41.189999999999998
	.quad	0x405a466666666666              # double 105.09999999999999
	.quad	0x4058070a3d70a3d7              # double 96.109999999999999
	.quad	0x4064cd1eb851eb85              # double 166.41
	.quad	0x403bbd70a3d70a3d              # double 27.739999999999998
	.quad	0x40467ae147ae147b              # double 44.960000000000001
	.quad	0x4042651eb851eb85              # double 36.789999999999999
	.quad	0x4051ea3d70a3d70a              # double 71.659999999999997
	.quad	0x4010eb851eb851ec              # double 4.2300000000000004
	.quad	0x40355eb851eb851f              # double 21.370000000000001
	.quad	0x403bb851eb851eb8              # double 27.719999999999999
	.quad	0x404955c28f5c28f6              # double 50.670000000000002
	.quad	0x4023051eb851eb85              # double 9.5099999999999997
	.quad	0x4042533333333333              # double 36.649999999999999
	.quad	0x403f4f5c28f5c28f              # double 31.309999999999999
	.quad	0x404d333333333333              # double 58.399999999999999
	.quad	0x4056066666666666              # double 88.099999999999994
	.quad	0x4060023d70a3d70a              # double 128.06999999999999
	.quad	0x403ce147ae147ae1              # double 28.879999999999999
	.quad	0x404da7ae147ae148              # double 59.310000000000002
	.quad	0x405085c28f5c28f6              # double 66.090000000000003
	.quad	0x405a0b851eb851ec              # double 104.18000000000001
	.quad	0x4056551eb851eb85              # double 89.329999999999998
	.quad	0x4061dd70a3d70a3d              # double 142.91999999999999
	.quad	0x40460e147ae147ae              # double 44.109999999999999
	.quad	0x404ee66666666666              # double 61.799999999999997
	.quad	0x3ff4f5c28f5c28f6              # double 1.3100000000000001
	.quad	0x403d7ae147ae147b              # double 29.48
	.quad	0x40568f5c28f5c28f              # double 90.239999999999994
	.quad	0x40634570a3d70a3d              # double 154.16999999999999
	.quad	0x4047b0a3d70a3d71              # double 47.380000000000003
	.quad	0x4057f0a3d70a3d71              # double 95.760000000000005
	.quad	0x403c11eb851eb852              # double 28.07
	.quad	0x404b9ae147ae147b              # double 55.210000000000001
	.quad	0x404a251eb851eb85              # double 52.289999999999999
	.quad	0x405943d70a3d70a4              # double 101.06
	.quad	0x404f91eb851eb852              # double 63.140000000000001
	.quad	0x405959999999999a              # double 101.40000000000001
	.quad	0x4053b9999999999a              # double 78.900000000000006
	.quad	0x406003851eb851ec              # double 128.11000000000001
	.quad	0x4034428f5c28f5c3              # double 20.260000000000002
	.quad	0x40416ccccccccccd              # double 34.850000000000001
	.quad	0x4045a7ae147ae148              # double 43.310000000000002
	.quad	0x40565eb851eb851f              # double 89.480000000000003
	.quad	0x404c7851eb851eb8              # double 56.939999999999998
	.quad	0x405905c28f5c28f6              # double 100.09
	.quad	0x404828f5c28f5c29              # double 48.32
	.quad	0x40536147ae147ae1              # double 77.519999999999996
	.quad	0x40563d70a3d70a3d              # double 88.959999999999993
	.quad	0x40624dc28f5c28f6              # double 146.43000000000001
	.quad	0x4055770a3d70a3d7              # double 85.859999999999999
	.quad	0x405da851eb851eb8              # double 118.63
	.quad	0x4000666666666666              # double 2.0499999999999998
	.quad	0x40337ae147ae147b              # double 19.48
	.quad	0x405633d70a3d70a4              # double 88.810000000000002
	.quad	0x40617851eb851eb8              # double 139.75999999999999
	.quad	0x4040b0a3d70a3d71              # double 33.380000000000003
	.quad	0x404efc28f5c28f5c              # double 61.969999999999999
	.quad	0x40559d70a3d70a3d              # double 86.459999999999993
	.quad	0x40632a8f5c28f5c3              # double 153.33000000000001
	.quad	0x40518d70a3d70a3d              # double 70.209999999999994
	.quad	0x405f60a3d70a3d71              # double 125.51000000000001
	.quad	0x404e2a3d70a3d70a              # double 60.329999999999998
	.quad	0x405ca70a3d70a3d7              # double 114.61
	.quad	0x40440ccccccccccd              # double 40.100000000000001
	.quad	0x40558a3d70a3d70a              # double 86.159999999999997
	.quad	0x404b75c28f5c28f6              # double 54.920000000000002
	.quad	0x4058c1eb851eb852              # double 99.030000000000001
	.quad	0x4031bd70a3d70a3d              # double 17.739999999999998
	.quad	0x40483d70a3d70a3d              # double 48.479999999999997
	.quad	0x403d2147ae147ae1              # double 29.129999999999999
	.quad	0x40546a3d70a3d70a              # double 81.659999999999997
	.quad	0x4043400000000000              # double 38.5
	.quad	0x4056fa3d70a3d70a              # double 91.909999999999996
	.quad	0x4048f851eb851eb8              # double 49.939999999999998
	.quad	0x4055851eb851eb85              # double 86.079999999999998
	.quad	0x4042651eb851eb85              # double 36.789999999999999
	.quad	0x4050cc28f5c28f5c              # double 67.189999999999998
	.quad	0x4051a851eb851eb8              # double 70.629999999999995
	.quad	0x405bb147ae147ae1              # double 110.77
	.quad	0x4049666666666666              # double 50.799999999999997
	.quad	0x405538f5c28f5c29              # double 84.89
	.quad	0x4052b9999999999a              # double 74.900000000000006
	.quad	0x4060b1999999999a              # double 133.55000000000001
	.quad	0x403c570a3d70a3d7              # double 28.34
	.quad	0x404f0ccccccccccd              # double 62.100000000000001
	.quad	0x400828f5c28f5c29              # double 3.02
	.quad	0x4027c7ae147ae148              # double 11.890000000000001
	.quad	0x402870a3d70a3d71              # double 12.220000000000001
	.quad	0x4048ae147ae147ae              # double 49.359999999999999
	.quad	0x405893d70a3d70a4              # double 98.310000000000002
	.quad	0x4063c6b851eb851f              # double 158.21000000000001
	.quad	0x405890a3d70a3d71              # double 98.260000000000005
	.quad	0x40625947ae147ae1              # double 146.78999999999999
	.quad	0x40493851eb851eb8              # double 50.439999999999998
	.quad	0x4053fa3d70a3d70a              # double 79.909999999999997
	.quad	0x4053366666666666              # double 76.849999999999994
	.quad	0x405c89999999999a              # double 114.15000000000001
	.quad	0x404b0ccccccccccd              # double 54.100000000000001
	.quad	0x405731eb851eb852              # double 92.780000000000001
	.quad	0x404630a3d70a3d71              # double 44.380000000000003
	.quad	0x4053628f5c28f5c3              # double 77.540000000000006
	.quad	0x405115c28f5c28f6              # double 68.340000000000003
	.quad	0x405f2147ae147ae1              # double 124.52
	.quad	0x405258f5c28f5c29              # double 73.39
	.quad	0x405feeb851eb851f              # double 127.73
	.quad	0x405767ae147ae148              # double 93.620000000000005
	.quad	0x4061feb851eb851f              # double 143.96000000000001
	.quad	0x4055928f5c28f5c3              # double 86.290000000000006
	.quad	0x40620fae147ae148              # double 144.49000000000001
	.quad	0x402d3851eb851eb8              # double 14.609999999999999
	.quad	0x404c4ccccccccccd              # double 56.600000000000001
	.quad	0x4054351eb851eb85              # double 80.829999999999998
	.quad	0x405cdd70a3d70a3d              # double 115.45999999999999
	.quad	0x40511851eb851eb8              # double 68.379999999999995
	.quad	0x405d11eb851eb852              # double 116.28
	.quad	0x405611eb851eb852              # double 88.280000000000001
	.quad	0x40612147ae147ae1              # double 137.03999999999999
	.quad	0x405377ae147ae148              # double 77.870000000000005
	.quad	0x405fbf5c28f5c28f              # double 126.98999999999999
	.quad	0x4054df5c28f5c28f              # double 83.489999999999994
	.quad	0x40622eb851eb851f              # double 145.46000000000001
	.quad	0x403659999999999a              # double 22.350000000000001
	.quad	0x404f4147ae147ae1              # double 62.509999999999998
	.quad	0x404a10a3d70a3d71              # double 52.130000000000003
	.quad	0x4053a66666666666              # double 78.599999999999994
	.quad	0x3ff6147ae147ae14              # double 1.3799999999999999
	.quad	0x403aee147ae147ae              # double 26.93
	.quad	0x4046451eb851eb85              # double 44.539999999999999
	.quad	0x40568147ae147ae1              # double 90.019999999999996
	.quad	0x4049af5c28f5c28f              # double 51.369999999999997
	.quad	0x40548147ae147ae1              # double 82.019999999999996
	.quad	0x40520147ae147ae1              # double 72.019999999999996
	.quad	0x405ff0a3d70a3d71              # double 127.76000000000001
	.quad	0x4036c28f5c28f5c3              # double 22.760000000000002
	.quad	0x40473ae147ae147b              # double 46.460000000000001
	.quad	0x40588e147ae147ae              # double 98.219999999999998
	.quad	0x406263851eb851ec              # double 147.11000000000001
	.quad	0x403635c28f5c28f6              # double 22.210000000000001
	.quad	0x404f2a3d70a3d70a              # double 62.329999999999998
	.quad	0x4058d28f5c28f5c3              # double 99.290000000000006
	.quad	0x4063c9eb851eb852              # double 158.31
	.quad	0x40481851eb851eb8              # double 48.189999999999998
	.quad	0x40565147ae147ae1              # double 89.269999999999996
	.quad	0x4057328f5c28f5c3              # double 92.790000000000006
	.quad	0x405fce147ae147ae              # double 127.22
	.quad	0x40503d70a3d70a3d              # double 64.959999999999994
	.quad	0x405773d70a3d70a4              # double 93.810000000000002
	.quad	0x400c8f5c28f5c28f              # double 3.5699999999999998
	.quad	0x4030bae147ae147b              # double 16.73
	.quad	0x4054428f5c28f5c3              # double 81.040000000000006
	.quad	0x40608d70a3d70a3d              # double 132.41999999999999
	.quad	0x40528d70a3d70a3d              # double 74.209999999999993
	.quad	0x405bf47ae147ae14              # double 111.81999999999999
	.quad	0x4023947ae147ae14              # double 9.7899999999999991
	.quad	0x4042a7ae147ae148              # double 37.310000000000002
	.quad	0x40105c28f5c28f5c              # double 4.0899999999999999
	.quad	0x4020f5c28f5c28f6              # double 8.4800000000000004
	.quad	0x4021eb851eb851ec              # double 8.9600000000000008
	.quad	0x40345c28f5c28f5c              # double 20.359999999999999
	.quad	0x403eb33333333333              # double 30.699999999999999
	.quad	0x404bbd70a3d70a3d              # double 55.479999999999997
	.quad	0x4023947ae147ae14              # double 9.7899999999999991
	.quad	0x40411c28f5c28f5c              # double 34.219999999999999
	.quad	0x405670a3d70a3d71              # double 89.760000000000005
	.quad	0x4061480000000000              # double 138.25
	.quad	0x4052328f5c28f5c3              # double 72.790000000000006
	.quad	0x405eb851eb851eb8              # double 122.88
	.quad	0x404599999999999a              # double 43.200000000000003
	.quad	0x4055e47ae147ae14              # double 87.569999999999993
	.quad	0x404295c28f5c28f6              # double 37.170000000000002
	.quad	0x4052fe147ae147ae              # double 75.969999999999999
	.quad	0x402cdc28f5c28f5c              # double 14.43
	.quad	0x404211eb851eb852              # double 36.140000000000001
	.quad	0x402f23d70a3d70a4              # double 15.57
	.quad	0x40446e147ae147ae              # double 40.859999999999999
	.quad	0x400199999999999a              # double 2.2000000000000002
	.quad	0x40379c28f5c28f5c              # double 23.609999999999999
	.quad	0x4002a3d70a3d70a4              # double 2.3300000000000001
	.quad	0x4040cb851eb851ec              # double 33.590000000000003
	.quad	0x403fa8f5c28f5c29              # double 31.66
	.quad	0x4054ef5c28f5c28f              # double 83.739999999999994
	.quad	0x4048ef5c28f5c28f              # double 49.869999999999997
	.quad	0x405285c28f5c28f6              # double 74.090000000000003
	.quad	0x40454b851eb851ec              # double 42.590000000000003
	.quad	0x405200a3d70a3d71              # double 72.010000000000005
	.quad	0x401d47ae147ae148              # double 7.3200000000000002
	.quad	0x403587ae147ae148              # double 21.530000000000001
	.quad	0x4056ab851eb851ec              # double 90.680000000000007
	.quad	0x4061a6b851eb851f              # double 141.21000000000001
	.quad	0x4032cf5c28f5c28f              # double 18.809999999999999
	.quad	0x4048051eb851eb85              # double 48.039999999999999
	.quad	0x4033428f5c28f5c3              # double 19.260000000000002
	.quad	0x404f866666666666              # double 63.049999999999997
	.quad	0x4040e147ae147ae1              # double 33.759999999999998
	.quad	0x404c666666666666              # double 56.799999999999997
	.quad	0x4053fd70a3d70a3d              # double 79.959999999999993
	.quad	0x4060300000000000              # double 129.5
	.quad	0x4053b0a3d70a3d71              # double 78.760000000000005
	.quad	0x4060feb851eb851f              # double 135.96000000000001
	.quad	0x405757ae147ae148              # double 93.370000000000005
	.quad	0x405f28f5c28f5c29              # double 124.64
	.quad	0x402975c28f5c28f6              # double 12.73
	.quad	0x4046dae147ae147b              # double 45.710000000000001
	.quad	0x40337d70a3d70a3d              # double 19.489999999999998
	.quad	0x4050466666666666              # double 65.099999999999994
	.quad	0x4041b851eb851eb8              # double 35.439999999999998
	.quad	0x4051f28f5c28f5c3              # double 71.790000000000006
	.quad	0x4055fae147ae147b              # double 87.920000000000001
	.quad	0x4062280000000000              # double 145.25
	.quad	0x4040a8f5c28f5c29              # double 33.32
	.quad	0x4052e851eb851eb8              # double 75.629999999999995
	.quad	0x4023333333333333              # double 9.5999999999999996
	.quad	0x403c170a3d70a3d7              # double 28.09
	.quad	0x404c2e147ae147ae              # double 56.359999999999999
	.quad	0x405a2f5c28f5c28f              # double 104.73999999999999
	.quad	0x404199999999999a              # double 35.200000000000003
	.quad	0x404ef851eb851eb8              # double 61.939999999999998
	.quad	0x404135c28f5c28f6              # double 34.420000000000002
	.quad	0x405350a3d70a3d71              # double 77.260000000000005
	.quad	0x40531147ae147ae1              # double 76.269999999999996
	.quad	0x405daccccccccccd              # double 118.7
	.quad	0x4053eae147ae147b              # double 79.670000000000001
	.quad	0x405d00a3d70a3d71              # double 116.01000000000001
	.quad	0x40547f5c28f5c28f              # double 81.989999999999994
	.quad	0x405f13d70a3d70a4              # double 124.31
	.quad	0x402ba8f5c28f5c29              # double 13.83
	.quad	0x404995c28f5c28f6              # double 51.170000000000002
	.quad	0x403bf0a3d70a3d71              # double 27.940000000000001
	.quad	0x40506ae147ae147b              # double 65.670000000000002
	.quad	0x4054033333333333              # double 80.049999999999997
	.quad	0x405fff5c28f5c28f              # double 127.98999999999999
	.quad	0x4027a3d70a3d70a4              # double 11.82
	.quad	0x404711eb851eb852              # double 46.140000000000001
	.quad	0x4028851eb851eb85              # double 12.26
	.quad	0x4043a7ae147ae148              # double 39.310000000000002
	.quad	0x402b6147ae147ae1              # double 13.69
	.quad	0x40432147ae147ae1              # double 38.259999999999998
	.quad	0x40387ae147ae147b              # double 24.48
	.quad	0x404c1c28f5c28f5c              # double 56.219999999999999
	.quad	0x401af5c28f5c28f6              # double 6.7400000000000002
	.quad	0x40448a3d70a3d70a              # double 41.079999999999998
	.quad	0x4043866666666666              # double 39.049999999999997
	.quad	0x405173d70a3d70a4              # double 69.810000000000002
	.quad	0x400c3d70a3d70a3d              # double 3.5299999999999998
	.quad	0x404427ae147ae148              # double 40.310000000000002
	.quad	0x404ec3d70a3d70a4              # double 61.530000000000001
	.quad	0x4058228f5c28f5c3              # double 96.540000000000006
	.quad	0x4045b47ae147ae14              # double 43.409999999999997
	.quad	0x40537a3d70a3d70a              # double 77.909999999999997
	.quad	0x40582b851eb851ec              # double 96.680000000000007
	.quad	0x4063ab851eb851ec              # double 157.36000000000001
	.quad	0x404f866666666666              # double 63.049999999999997
	.quad	0x405931eb851eb852              # double 100.78
	.quad	0x4045947ae147ae14              # double 43.159999999999997
	.quad	0x40529a3d70a3d70a              # double 74.409999999999997
	.quad	0x40558a3d70a3d70a              # double 86.159999999999997
	.quad	0x405f55c28f5c28f6              # double 125.34
	.quad	0x405767ae147ae148              # double 93.620000000000005
	.quad	0x40626851eb851eb8              # double 147.25999999999999
	.quad	0x405058f5c28f5c29              # double 65.390000000000001
	.quad	0x405d70a3d70a3d71              # double 117.76000000000001
	.quad	0x405221eb851eb852              # double 72.530000000000001
	.quad	0x405b0147ae147ae1              # double 108.02
	.quad	0x401ae147ae147ae1              # double 6.7199999999999998
	.quad	0x4042f33333333333              # double 37.899999999999999
	.quad	0x4057e7ae147ae148              # double 95.620000000000005
	.quad	0x40629d1eb851eb85              # double 148.91
	.quad	0x404a23d70a3d70a4              # double 52.280000000000001
	.quad	0x405b2f5c28f5c28f              # double 108.73999999999999
	.quad	0x4052570a3d70a3d7              # double 73.359999999999999
	.quad	0x405f4e147ae147ae              # double 125.22
	.quad	0x40278f5c28f5c28f              # double 11.779999999999999
	.quad	0x4044466666666666              # double 40.549999999999997
	.quad	0x4023f5c28f5c28f6              # double 9.9800000000000004
	.quad	0x404055c28f5c28f6              # double 32.670000000000002
	.quad	0x4053c147ae147ae1              # double 79.019999999999996
	.quad	0x4060bd70a3d70a3d              # double 133.91999999999999
	.quad	0x4023000000000000              # double 9.5
	.quad	0x4043400000000000              # double 38.5
	.quad	0x402e75c28f5c28f6              # double 15.23
	.quad	0x4044a3d70a3d70a4              # double 41.280000000000001
	.quad	0x4038947ae147ae14              # double 24.579999999999998
	.quad	0x404f666666666666              # double 62.799999999999997
	.quad	0x40501a3d70a3d70a              # double 64.409999999999997
	.quad	0x405b4851eb851eb8              # double 109.13
	.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	"best m,c is %lf,%lf with error %lf in direction %d\n"
	.size	.L.str.8, 52

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

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

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

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

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

	.type	.L.str.14,@object               # @.str.14
.L.str.14:
	.asciz	"Time elapsed was %lldns or %0.9lfs\n"
	.size	.L.str.14, 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
