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

typedef struct point_t{
double xIntercept;
double yIntercept;
}point_t;
struct timespec start, end;
	long long int time_taken;
int n_data = 1000;
__device__ int d_n_data =1000;

point_t data[] = {
  {78.99,108.01},{85.04,146.71},{82.60,135.33},{65.96,115.13},
  {83.32,127.88},{72.47,117.63},{73.94,127.86},{68.03,119.80},
  {65.36,104.39},{72.21,125.05},{73.91,114.63},{68.81,109.11},
  {82.96,144.33},{73.07,135.92},{83.36,121.14},{30.32,58.07},
  {78.12,130.44},{39.75,65.44},{57.57,88.87},{17.51,45.41},
  { 8.00,43.00},{ 7.37,37.21},{28.96,77.98},{39.94,96.24},
  {47.29,107.36},{70.88,102.87},{22.04,65.14},{16.70,63.43},
  {39.40,82.65},{54.97,96.65},{77.35,126.63},{79.27,135.48},
  {41.89,81.49},{87.97,127.71},{57.89,94.58},{24.07,62.06},
  {13.59,60.37},{73.79,128.83},{44.43,77.19},{56.31,106.71},
  {37.79,84.83},{77.68,131.13},{45.93,98.74},{59.22,106.96},
  { 6.77,44.00},{61.73,102.80},{47.95,78.76},{43.21,76.19},
  {90.48,132.53},{41.01,83.81},{87.90,129.50},{82.33,126.74},
  {84.46,155.99},{50.44,81.99},{16.17,58.76},{25.33,69.91},
  {61.32,101.46},{22.01,74.76},{78.24,133.53},{79.52,130.56},
  {54.73,102.06},{21.50,47.03},{22.82,62.80},{11.74,44.63},
  {66.44,117.55},{98.18,143.67},{17.84,60.07},{83.87,137.02},
  {12.86,60.96},{78.49,128.53},{40.10,88.76},{ 6.47,31.45},
  {58.63,94.21},{76.76,136.41},{26.22,73.78},{ 2.04,41.67},
  {54.21,87.53},{49.96,86.45},{60.79,133.85},{14.03,43.42},
  {53.59,114.22},{38.72,73.73},{66.24,117.39},{71.58,117.08},
  {85.07,121.43},{98.91,150.54},{43.00,62.70},{42.77,80.92},
  {33.91,88.18},{50.46,87.74},{96.03,158.65},{65.23,134.55},
  {56.84,119.72},{85.39,128.89},{68.18,109.88},{98.29,156.03},
  {95.18,135.71},{99.77,147.91},{38.72,81.02},{35.23,63.53},
  {17.26,47.95},{81.76,125.65},{47.25,100.59},{95.23,141.49},
  {20.00,54.54},{39.19,81.10},{15.41,45.96},{ 0.81,33.32},
  { 1.55,21.32},{42.82,90.13},{32.90,71.88},{99.25,158.56},
  {82.27,125.77},{82.60,132.58},{31.64,86.74},{ 8.02,41.34},
  {11.00,32.86},{58.29,109.11},{25.19,55.09},{19.30,62.87},
  {76.29,136.60},{83.05,133.72},{74.83,121.85},{49.80,84.96},
  {15.45,66.23},{47.41,89.25},{49.21,86.21},{60.34,106.58},
  {36.42,82.17},{16.61,47.16},{61.52,105.16},{59.44,101.65},
  {79.38,130.70},{65.50,108.67},{59.47,112.57},{71.55,121.32},
  {69.31,101.34},{61.59,105.76},{75.37,123.50},{59.50,106.08},
  { 3.09,39.61},{82.90,150.24},{29.23,66.75},{31.59,70.13},
  {65.95,105.56},{22.31,62.98},{ 3.34,49.29},{32.27,67.53},
  {68.16,105.22},{ 7.88,57.99},{53.79,96.88},{89.89,155.12},
  {45.73,65.64},{10.81,39.72},{ 6.08,34.90},{70.95,132.33},
  {41.31,76.97},{85.88,136.65},{90.37,128.48},{15.46,66.23},
  {32.01,85.13},{30.14,57.04},{96.79,162.24},{12.40,43.63},
  { 1.91,28.07},{66.97,105.63},{30.56,78.91},{96.28,141.79},
  {35.88,70.76},{48.39,94.21},{89.18,140.54},{ 7.47,27.63},
  {19.68,49.17},{80.55,152.49},{49.60,109.22},{62.47,115.47},
  {92.59,154.97},{69.98,124.31},{89.87,132.13},{ 2.02,29.81},
  {29.56,73.74},{87.91,146.55},{15.63,45.95},{84.98,143.85},
  {85.64,146.18},{55.16,90.30},{32.91,83.94},{48.13,75.49},
  {40.84,88.19},{58.30,90.80},{22.89,69.86},{51.73,98.24},
  {98.74,129.99},{97.55,138.60},{90.59,135.33},{14.63,59.60},
  {82.33,133.58},{ 4.88,33.69},{69.81,115.70},{53.55,99.11},
  {78.05,132.93},{69.61,124.74},{10.12,66.05},{31.71,70.69},
  {94.62,162.58},{60.63,99.04},{17.06,81.09},{ 3.82,46.87},
  {93.51,145.14},{31.38,84.96},{78.20,133.28},{11.19,51.05},
  {62.41,114.37},{73.28,114.35},{66.90,138.67},{93.08,156.39},
  {72.60,132.10},{99.18,140.63},{38.59,97.41},{26.46,54.77},
  {64.98,95.30},{ 3.50,28.42},{71.21,111.47},{55.05,98.76},
  {75.32,133.02},{54.85,78.98},{67.43,113.21},{34.26,87.49},
  {34.32,63.01},{89.59,145.35},{63.13,108.46},{97.43,148.61},
  {94.36,140.85},{28.17,82.01},{ 7.03,39.19},{62.62,103.26},
  {89.31,138.86},{64.89,130.97},{89.53,133.88},{45.58,102.64},
  {89.89,149.19},{18.59,54.85},{67.11,107.88},{41.39,70.71},
  {25.26,64.82},{82.02,154.58},{22.55,53.30},{80.40,131.83},
  {49.86,97.52},{47.02,103.35},{37.05,85.98},{27.65,69.14},
  {41.32,81.83},{30.79,77.79},{90.38,131.05},{36.01,87.49},
  {71.20,118.23},{34.06,74.84},{80.14,106.35},{26.73,64.62},
  {55.07,95.16},{24.48,64.72},{14.42,45.16},{15.23,61.57},
  {75.00,135.50},{62.36,116.86},{31.43,61.39},{39.80,76.55},
  {60.55,111.42},{ 6.52,28.27},{43.62,78.56},{15.16,39.17},
  {82.36,110.59},{ 2.71,57.00},{58.06,113.31},{94.58,128.19},
  {93.03,145.21},{93.01,132.84},{21.64,63.96},{85.82,142.47},
  { 3.53,24.67},{80.17,123.77},{48.46,108.11},{74.44,126.95},
  {63.72,94.60},{29.04,76.37},{71.55,123.90},{53.99,122.82},
  {41.14,88.24},{30.45,75.80},{60.10,89.83},{49.41,95.84},
  {63.55,113.90},{98.68,148.43},{29.42,57.06},{76.30,136.13},
  {43.69,75.01},{82.12,134.16},{ 7.57,47.63},{79.64,131.38},
  {37.13,87.31},{ 2.77,47.56},{19.08,55.79},{19.32,67.34},
  {94.50,163.58},{40.64,93.24},{58.92,105.97},{99.26,143.24},
  {81.39,115.94},{15.21,53.60},{17.00,59.53},{45.28,93.78},
  { 1.63,38.26},{32.18,55.53},{64.82,115.09},{65.88,116.24},
  {95.82,143.08},{79.53,154.82},{67.53,118.22},{66.78,125.96},
  {59.06,94.01},{19.23,43.27},{49.75,80.67},{80.56,127.60},
  {87.11,140.54},{29.00,64.80},{15.58,61.40},{15.17,53.26},
  {59.64,104.05},{72.94,118.12},{95.25,151.92},{54.34,91.62},
  {48.39,88.93},{11.24,35.63},{26.29,54.40},{45.47,101.28},
  {25.79,63.90},{36.11,74.82},{ 3.14,56.40},{44.68,87.22},
  {56.86,100.43},{35.18,67.16},{40.46,83.94},{ 2.11,19.46},
  {89.69,158.95},{31.62,67.88},{44.58,81.27},{ 9.24,36.62},
  {31.92,62.18},{49.24,91.13},{13.43,38.94},{25.93,68.92},
  {95.21,135.36},{72.58,132.15},{38.68,60.12},{81.36,131.47},
  {41.71,63.10},{79.94,125.91},{58.62,104.29},{58.98,99.43},
  {27.06,81.57},{37.90,70.96},{ 7.42,29.08},{16.14,59.40},
  {40.52,78.15},{19.43,74.99},{48.87,88.01},{70.11,114.73},
  { 8.13,49.54},{47.83,98.93},{27.96,48.85},{29.63,66.05},
  {40.65,73.84},{55.11,99.59},{60.85,114.36},{76.24,121.48},
  {14.18,52.46},{78.66,132.86},{22.79,61.06},{37.13,70.96},
  {25.02,59.48},{26.53,49.57},{52.37,86.89},{14.50,59.81},
  { 9.82,46.49},{ 2.02,29.04},{33.50,84.01},{28.17,77.46},
  {94.08,130.37},{56.76,118.65},{83.99,124.91},{88.05,135.34},
  {97.91,172.45},{24.69,61.76},{33.81,83.88},{22.09,64.03},
  {90.03,146.00},{36.25,74.57},{12.46,49.70},{62.56,97.87},
  {16.62,56.16},{85.15,139.48},{15.54,43.36},{49.53,85.15},
  {56.67,106.17},{62.18,96.61},{98.09,168.35},{75.34,116.55},
  {38.40,88.36},{68.95,112.91},{25.46,53.15},{ 9.13,55.69},
  {27.97,65.12},{30.93,63.92},{49.12,88.89},{41.96,103.22},
  {99.14,156.92},{46.22,90.92},{58.79,103.66},{ 2.53,27.92},
  {75.33,128.49},{82.10,149.27},{65.39,104.13},{ 1.85,35.97},
  {65.78,120.30},{29.68,75.12},{65.74,103.90},{99.54,161.29},
  {14.52,57.63},{47.47,78.77},{ 7.95,34.46},{90.82,155.09},
  {71.59,133.90},{89.49,153.14},{57.93,116.28},{47.99,74.26},
  {20.44,58.98},{73.54,113.23},{30.84,73.88},{ 6.91,58.59},
  { 1.79,15.96},{45.49,87.79},{89.97,147.34},{57.76,116.88},
  { 0.23,43.77},{11.47,35.62},{ 5.46,50.16},{34.17,78.56},
  {88.64,139.37},{55.09,112.72},{38.53,86.65},{97.32,155.17},
  {73.25,115.38},{23.21,58.75},{86.13,128.05},{90.20,133.48},
  {40.16,68.25},{61.19,117.13},{43.03,94.27},{42.22,92.62},
  {94.00,146.34},{69.42,116.50},{88.15,152.99},{69.25,114.78},
  {10.34,37.73},{83.92,148.35},{ 6.80,39.17},{25.99,73.77},
  {47.03,96.44},{97.72,114.06},{13.63,53.06},{87.04,146.57},
  {67.36,111.13},{76.86,138.03},{16.41,69.96},{55.61,105.23},
  {82.21,135.04},{62.76,101.53},{ 3.62,60.08},{90.95,141.74},
  {68.89,103.99},{45.21,98.68},{ 3.36,34.30},{15.00,57.96},
  { 3.37,49.61},{28.83,71.55},{27.91,58.89},{45.48,75.97},
  {64.70,111.04},{64.58,102.48},{61.72,116.26},{40.97,60.04},
  {32.95,86.19},{89.64,148.32},{73.86,118.17},{30.19,80.74},
  {76.12,112.25},{52.03,90.35},{14.90,60.83},{61.01,117.16},
  { 0.40,37.57},{22.47,72.41},{58.08,80.61},{45.38,80.86},
  {42.47,95.61},{75.50,123.75},{33.35,58.00},{88.61,148.52},
  {62.24,126.01},{96.85,151.26},{50.53,93.91},{75.35,125.80},
  {98.64,142.60},{61.75,125.55},{15.87,60.64},{87.17,154.22},
  {66.54,107.01},{88.36,149.90},{51.15,100.64},{63.16,108.20},
  {17.99,46.33},{15.88,61.09},{62.21,98.99},{19.57,45.51},
  {61.56,109.08},{86.94,134.48},{27.34,50.76},{74.96,108.40},
  {74.27,130.72},{46.70,89.14},{ 4.01,29.49},{ 1.98,28.77},
  {60.21,90.09},{54.37,100.55},{95.46,150.89},{54.22,91.74},
  {21.51,56.43},{13.84,66.03},{12.13,39.48},{78.47,122.99},
  {57.65,105.86},{ 8.77,26.99},{15.21,50.34},{ 5.33,50.94},
  {62.55,110.78},{ 7.66,58.23},{62.67,96.53},{98.39,139.26},
  {63.88,117.08},{22.00,64.22},{78.48,152.62},{77.64,134.02},
  {83.04,132.16},{36.86,102.01},{58.15,111.51},{ 9.33,50.23},
  {76.03,132.74},{ 1.21,46.44},{96.38,151.14},{44.94,79.88},
  {27.07,68.24},{27.32,80.70},{34.85,71.16},{94.14,133.00},
  {77.79,131.64},{75.60,137.51},{52.03,95.97},{68.66,103.89},
  {36.07,83.18},{25.42,68.80},{42.38,74.74},{68.60,142.38},
  {77.11,139.42},{77.84,137.32},{34.50,67.08},{41.99,70.68},
  {59.72,114.23},{17.99,42.57},{50.92,107.19},{93.58,159.96},
  {67.38,103.03},{27.46,72.43},{18.02,60.74},{32.22,92.42},
  {73.10,120.06},{33.04,76.24},{30.29,76.45},{63.61,119.57},
  {63.60,113.94},{56.20,84.04},{95.38,135.49},{65.96,125.51},
  { 7.48,32.16},{91.45,153.89},{14.82,52.73},{11.93,44.98},
  {19.65,57.70},{55.31,89.14},{ 4.60,42.55},{21.62,49.69},
  {58.36,95.55},{14.17,68.44},{85.79,148.57},{ 1.79,29.47},
  {50.70,92.52},{ 1.85,36.85},{79.42,137.66},{19.11,50.93},
  {61.09,108.80},{69.01,129.00},{92.98,146.21},{91.36,146.04},
  {43.87,101.94},{83.49,129.59},{71.79,109.25},{17.89,46.86},
  {42.96,110.48},{56.71,111.30},{14.52,47.92},{75.15,141.99},
  {43.43,74.90},{27.66,59.76},{51.91,105.65},{40.33,89.52},
  {19.57,39.49},{34.31,67.39},{95.90,178.04},{44.26,82.39},
  {28.09,65.02},{11.05,44.85},{39.40,89.82},{ 6.43,49.55},
  {35.56,77.82},{21.65,65.71},{57.20,105.17},{ 6.82,36.77},
  {42.96,85.82},{50.77,98.10},{43.19,71.86},{67.78,113.14},
  {98.22,157.23},{62.88,101.00},{33.72,77.28},{74.38,120.87},
  {16.45,69.22},{ 5.40,39.19},{72.73,136.45},{48.67,108.83},
  { 2.90,44.67},{83.93,132.94},{26.42,62.13},{85.10,154.74},
  {84.42,124.18},{30.89,79.75},{33.10,80.46},{29.82,68.26},
  {38.17,71.63},{69.91,116.40},{13.90,61.90},{78.76,118.72},
  {84.01,127.22},{37.20,78.80},{91.17,146.87},{40.62,86.19},
  {59.56,104.16},{13.77,58.14},{76.98,123.74},{10.32,58.92},
  {46.13,100.67},{32.71,78.80},{ 2.29,35.64},{48.65,104.84},
  {71.93,118.84},{67.53,110.47},{81.18,119.22},{ 5.67,36.14},
  {46.76,93.59},{82.73,136.44},{53.55,88.70},{ 9.37,27.04},
  {95.60,133.60},{86.98,138.83},{81.85,131.94},{45.13,98.07},
  {71.76,118.13},{ 4.76,38.38},{91.64,164.02},{96.86,162.60},
  {48.12,94.77},{ 6.45,45.17},{44.30,90.52},{89.85,141.49},
  {25.25,57.00},{45.76,98.17},{57.34,98.14},{93.69,142.08},
  {12.99,36.93},{47.97,82.77},{ 4.37,36.35},{64.63,113.00},
  {13.37,37.72},{14.88,44.13},{15.00,73.98},{ 6.94,48.24},
  {89.44,149.84},{44.64,75.34},{92.85,158.96},{69.49,112.42},
  {22.71,61.18},{ 6.19,42.91},{23.12,72.25},{89.90,132.40},
  {15.14,40.16},{91.29,131.43},{49.78,96.14},{ 1.15,30.93},
  {27.30,50.38},{96.00,137.85},{13.34,45.33},{68.11,117.13},
  {90.75,138.38},{42.41,79.40},{12.80,54.89},{80.95,123.15},
  {56.55,73.52},{ 1.25,42.00},{15.61,41.03},{20.11,66.96},
  {37.51,83.42},{62.24,104.27},{71.80,111.89},{52.07,87.22},
  {97.81,150.08},{12.65,64.65},{66.48,115.19},{31.20,62.19},
  {20.37,77.62},{94.03,142.16},{16.04,47.73},{97.60,148.24},
  {96.46,147.05},{31.53,49.09},{ 5.15,52.20},{84.63,139.45},
  {20.13,53.49},{89.74,148.06},{75.99,104.54},{32.35,54.24},
  {38.10,67.61},{16.92,65.57},{16.04,28.29},{57.31,75.66},
  {79.53,143.23},{89.20,138.11},{88.22,131.65},{27.73,76.75},
  {71.78,140.05},{55.17,89.45},{64.58,113.23},{ 2.50,29.22},
  {81.41,124.38},{76.39,129.25},{74.04,123.25},{46.80,88.75},
  {96.23,144.70},{ 4.05,37.78},{ 4.23,26.16},{ 7.52,34.59},
  {25.12,68.84},{79.89,141.07},{18.38,41.29},{19.57,59.58},
  {99.72,137.03},{95.56,145.40},{48.07,99.70},{67.52,123.42},
  {68.02,132.39},{42.58,69.71},{72.80,106.14},{83.82,134.08},
  { 1.79,46.31},{47.28,103.63},{27.92,76.13},{43.69,84.36},
  {42.80,86.03},{75.93,133.25},{91.23,131.13},{28.66,69.07},
  {10.42,59.23},{47.25,114.05},{ 9.97,50.99},{14.15,41.37},
  {51.95,102.78},{92.75,146.59},{55.41,103.43},{ 2.00,43.55},
  {57.21,110.86},{43.60,85.26},{74.58,121.03},{83.13,141.58},
  {63.12,107.46},{58.21,116.99},{86.68,132.43},{67.64,115.16},
  {98.08,145.24},{71.39,136.51},{ 5.94,40.64},{78.10,136.38},
  {87.95,147.50},{61.37,96.41},{25.74,77.03},{73.68,124.34},
  { 9.28,53.96},{48.88,107.94},{52.80,91.98},{78.12,127.25},
  {37.49,72.46},{76.59,131.12},{21.83,59.24},{16.74,75.90},
  {90.07,142.07},{62.83,120.74},{66.34,106.35},{64.96,118.09},
  {72.89,110.39},{99.04,147.25},{85.61,153.60},{77.98,149.58},
  {92.34,143.56},{56.52,106.18},{84.70,148.84},{94.73,147.56},
  {67.60,122.58},{28.42,74.88},{67.91,104.65},{38.06,78.52},
  {13.05,62.71},{71.94,128.50},{95.04,149.86},{74.02,133.06},
  {83.51,146.23},{ 1.90,26.49},{41.46,89.27},{63.27,112.03},
  {63.01,117.44},{87.39,141.40},{33.13,83.73},{60.55,107.71},
  {26.13,71.67},{ 7.06,46.44},{68.40,123.10},{80.79,125.21},
  {94.92,139.87},{25.25,81.51},{41.17,86.66},{55.15,95.50},
  {32.99,68.10},{83.34,124.11},{40.57,70.93},{66.65,103.69},
  {86.49,136.49},{17.48,44.80},{42.92,78.50},{47.88,106.07},
  {23.92,80.36},{65.52,125.55},{80.15,127.78},{ 2.15,40.16},
  {40.59,76.17},{ 3.05,57.31},{ 8.28,33.07},{43.88,92.19},
  {99.30,161.70},{15.81,62.45},{52.73,104.68},{93.29,128.51},
  {30.93,73.71},{50.35,95.20},{83.37,140.94},{54.37,89.17},
  {33.30,67.20},{77.57,119.34},{ 2.25,31.27},{61.47,103.98},
  {21.70,65.70},{79.51,139.42},{23.50,60.72},{45.07,92.23},
  {60.77,116.90},{ 1.40,45.41},{17.76,51.32},{90.42,152.03},
  {42.54,67.43},{82.93,122.11},{55.33,103.95},{93.23,158.23},
  {43.50,104.53},{14.42,46.04},{81.35,146.95},{ 1.53,24.40},
  {51.05,93.83},{14.25,46.04},{81.26,132.31},{ 0.15,43.76},
  {72.47,106.76},{56.79,114.48},{62.51,116.46},{81.77,116.43},
  {51.85,97.14},{ 3.54,52.00},{32.70,74.94},{76.43,122.16},
  {12.18,38.49},{15.36,39.16},{58.26,95.16},{29.44,64.54},
  {93.75,150.38},{70.31,128.57},{81.15,130.25},{13.88,48.89},
  {81.69,136.87},{43.36,89.23},{21.10,65.55},{19.58,79.37},
  {91.65,148.00},{24.99,66.18},{31.87,85.81},{56.29,112.40},
  {88.21,147.29},{22.33,64.84},{22.53,79.66},{51.99,94.99},
  { 6.59,34.02},{48.24,85.97},{70.41,114.25},{38.34,81.24},
  { 6.44,33.60},{ 5.41,33.25},{51.75,98.72},{90.08,135.49},
  {40.41,85.63},{83.66,148.13},{ 5.38,27.20},{ 5.73,50.99},
  {11.53,40.08},{75.78,130.74},{97.21,161.30},{29.40,55.27},
  { 1.30,45.32},{12.27,60.35},{65.49,118.11},{94.36,158.13},
  {94.78,138.61},{ 7.92,44.13},{47.33,96.20},{53.69,99.38},
  {30.54,66.20},{81.97,134.55},{53.62,89.50},{99.42,160.47},
  {78.72,144.06},{77.33,117.77},{ 8.29,60.42},{86.83,143.78},
  {11.67,58.09},{99.68,150.28},{81.97,136.21},{37.15,77.71},
  {65.97,98.75},{32.08,73.30},{60.53,107.95},{85.48,140.53},
  {65.14,126.36},{83.77,142.43},{89.56,130.48},{36.73,92.51},
  {35.15,74.93},{66.35,109.47},{17.59,70.85},{28.01,85.72},
  {40.31,85.83},{83.25,131.21},{36.02,67.59},{91.56,138.43},
  {17.17,65.29},{98.88,139.32},{33.70,78.34},{89.33,145.69},
  { 0.33,38.21},{16.96,37.60},{20.99,66.13},{18.81,49.25},
  {16.59,74.96},{59.25,108.94},{54.31,94.30},{74.72,141.48},
  {96.26,153.00},{33.33,74.83},{93.23,134.26},{76.75,123.18}
};



double residual_error(double xIntercept, double yIntercept, double slope, double c) {
  double e = (slope * xIntercept) + c - yIntercept;
  return e * e;
}
__device__ double d_residual_error(double xIntercept, double yIntercept, double slope, double c) {
  double e = (slope * xIntercept) + c - yIntercept;
  return e * e;
}
double rms_error(double slope, double c) {
  int i;
  double mean;
  double error_sum = 0;
  
  for(i=0; i<n_data; i++) {
    error_sum += residual_error(data[i].xIntercept, data[i].yIntercept, slope, c);  
  }
  
  mean = error_sum / n_data;
  
  return sqrt(mean);
}
__global__ void d_rms_error(double *slope, 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].xIntercept,d_data[i].yIntercept, *slope, *c);
}

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

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



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

	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, //371
cudaGetErrorString(error));
exit(1);
}

error=cudaMalloc(&d_data,sizeof(data)); //376
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); //401
if(error){
fprintf(stderr,"cudaMemcpy to d_data returned %d %s\n",error,
cudaGetErrorString(error));
}

for(i=0;i<8;i++){
double h_error_sum_arr[1000];

double error_sum_total;
double error_sum_mean;

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

if(e[i] < best_error){
best_error = e[i];
error_sum_total +=h_error_sum_arr[i];
}
error_sum_mean = error_sum_total /n_data;
e[i] =  sqrt(error_sum_mean); 

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


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

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

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

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


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

clock_gettime(CLOCK_MONOTONIC, &end);
  t_difference(&start, &end, &time_taken);
  printf("Total time taken was %lldns or %0.9lfs\n", time_taken,
                                         (time_taken/1.0e9)); 

return 0;
}

;

	.file	"tmpxft_0035dd44_00000000-6_CUDA-linear-regration.cudafe1.cpp"
	.text
#APP

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB2047:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE2047:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.globl	_Z14residual_errordddd
	.type	_Z14residual_errordddd, @function
_Z14residual_errordddd:
.LFB2040:
	.cfi_startproc
	endbr64
	mulsd	%xmm0, %xmm2
	addsd	%xmm3, %xmm2
	subsd	%xmm1, %xmm2
	movaps	%xmm2, %xmm0
	mulsd	%xmm2, %xmm0
	ret
	.cfi_endproc
.LFE2040:
	.size	_Z14residual_errordddd, .-_Z14residual_errordddd
	.globl	_Z16d_residual_errordddd
	.type	_Z16d_residual_errordddd, @function
_Z16d_residual_errordddd:
.LFB2041:
	.cfi_startproc
	endbr64
	pushq	%rax
	.cfi_def_cfa_offset 16
	popq	%rax
	.cfi_def_cfa_offset 8
	subq	$24, %rsp
	.cfi_def_cfa_offset 32
	movl	$1, 12(%rsp)
	movl	12(%rsp), %edi
	call	exit@PLT
	.cfi_endproc
.LFE2041:
	.size	_Z16d_residual_errordddd, .-_Z16d_residual_errordddd
	.globl	_Z9rms_errordd
	.type	_Z9rms_errordd, @function
_Z9rms_errordd:
.LFB2042:
	.cfi_startproc
	endbr64
	movl	n_data(%rip), %ecx
	leaq	data(%rip), %rax
	xorps	%xmm3, %xmm3
	xorl	%edx, %edx
.L6:
	cmpl	%edx, %ecx
	jle	.L9
	movsd	(%rax), %xmm2
	incl	%edx
	addq	$16, %rax
	mulsd	%xmm0, %xmm2
	addsd	%xmm1, %xmm2
	subsd	-8(%rax), %xmm2
	mulsd	%xmm2, %xmm2
	addsd	%xmm2, %xmm3
	jmp	.L6
.L9:
	cvtsi2sdl	%ecx, %xmm0
	divsd	%xmm0, %xmm3
	movaps	%xmm3, %xmm0
	jmp	sqrt@PLT
	.cfi_endproc
.LFE2042:
	.size	_Z9rms_errordd, .-_Z9rms_errordd
	.globl	_Z12t_differenceP8timespecS0_Px
	.type	_Z12t_differenceP8timespecS0_Px, @function
_Z12t_differenceP8timespecS0_Px:
.LFB2043:
	.cfi_startproc
	endbr64
	movq	(%rsi), %rax
	movq	8(%rsi), %rcx
	subq	(%rdi), %rax
	subq	8(%rdi), %rcx
	jns	.L11
	decq	%rax
	addq	$1000000000, %rcx
.L11:
	imulq	$1000000000, %rax, %rax
	addq	%rcx, %rax
	testq	%rax, %rax
	movq	%rax, (%rdx)
	setle	%al
	movzbl	%al, %eax
	ret
	.cfi_endproc
.LFE2043:
	.size	_Z12t_differenceP8timespecS0_Px, .-_Z12t_differenceP8timespecS0_Px
	.globl	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.type	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t, @function
_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t:
.LFB2069:
	.cfi_startproc
	endbr64
	subq	$152, %rsp
	.cfi_def_cfa_offset 160
	movq	%rdi, 24(%rsp)
	leaq	56(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	68(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	40(%rsp), %rdx
	movq	%rcx, (%rsp)
	leaq	48(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 136(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 64(%rsp)
	movq	%rax, 104(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 112(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 120(%rsp)
	movq	%rsp, %rax
	movq	%rax, 128(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 56(%rsp)
	movq	%rax, 68(%rsp)
	movl	$1, 76(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L12
	pushq	48(%rsp)
	.cfi_def_cfa_offset 168
	leaq	_Z11d_rms_errorPdS_S_P7point_t(%rip), %rdi
	pushq	48(%rsp)
	.cfi_def_cfa_offset 176
	movq	84(%rsp), %rcx
	movl	92(%rsp), %r8d
	movq	72(%rsp), %rsi
	movl	80(%rsp), %edx
	leaq	120(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 168
	popq	%rdx
	.cfi_def_cfa_offset 160
.L12:
	movq	136(%rsp), %rax
	subq	%fs:40, %rax
	je	.L14
	call	__stack_chk_fail@PLT
.L14:
	addq	$152, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2069:
	.size	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t, .-_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.globl	_Z11d_rms_errorPdS_S_P7point_t
	.type	_Z11d_rms_errorPdS_S_P7point_t, @function
_Z11d_rms_errorPdS_S_P7point_t:
.LFB2070:
	.cfi_startproc
	endbr64
	jmp	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
	.cfi_endproc
.LFE2070:
	.size	_Z11d_rms_errorPdS_S_P7point_t, .-_Z11d_rms_errorPdS_S_P7point_t
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC6:
	.string	"cudaMalloc on d_dm returned %d %s\n"
.LC7:
	.string	"cudaMalloc on d_dc returned %d %s\n"
.LC8:
	.string	"cudaMalloc on d_error_sum_arr returned %d %s\n"
.LC9:
	.string	"cudaMalloc on d_data returned %d %s\n"
.LC11:
	.string	"cudaMemcpy to d_dm returned %d %s\n"
.LC12:
	.string	"cudaMemcpy to d_dc returned %d %s\n"
.LC13:
	.string	"cudaMemcpy to d_data returned %d %s\n"
.LC14:
	.string	"cudaMemcpy to error_sum returned %d %s\n"
.LC15:
	.string	"cudaFree on d_dm returned %d %s\n"
.LC16:
	.string	"cudaFree on d_dc returned %d %s\n"
.LC17:
	.string	"cudaFree on d_data returned %d %s\n"
.LC18:
	.string	"cudaFree on d_error_sum_arr returned %d %s\n"
.LC19:
	.string	"minimum slope,c is %lf,%lf with error %lf\n"
.LC21:
	.string	"Total time taken 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	$184, %rsp
	.cfi_def_cfa_offset 8432
	leaq	.LC0(%rip), %rsi
	movl	$16, %ecx
	movq	%fs:40, %rax
	movq	%rax, 8360(%rsp)
	xorl	%eax, %eax
	leaq	232(%rsp), %rdi
	rep movsl
	leaq	296(%rsp), %rdi
	leaq	.LC1(%rip), %rsi
	movl	$16, %ecx
	rep movsl
	leaq	start(%rip), %rsi
	movl	$1, %edi
	call	clock_gettime@PLT
	movsd	.LC4(%rip), %xmm1
	movsd	.LC5(%rip), %xmm0
	call	_Z9rms_errordd
	leaq	48(%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	.L62
.L18:
	leaq	56(%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
.L62:
	movq	stderr(%rip), %rdi
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movl	$1, %edi
	call	exit@PLT
.L19:
	leaq	64(%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	.L62
.L20:
	leaq	72(%rsp), %rdi
	movl	$16000, %esi
	call	cudaMalloc@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L42
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC9(%rip), %rdx
	movq	%rax, %r8
	jmp	.L62
.L42:
	movq	.LC4(%rip), %rax
	movsd	.LC3(%rip), %xmm3
	leaq	232(%rsp), %r14
	leaq	296(%rsp), %r15
	movq	%rax, 24(%rsp)
	movq	.LC5(%rip), %rax
	movsd	%xmm3, (%rsp)
	movq	%rax, 16(%rsp)
.L21:
	xorl	%eax, %eax
	leaq	168(%rsp), %rbx
.L22:
	movsd	.LC10(%rip), %xmm0
	mulsd	(%r14,%rax), %xmm0
	leaq	104(%rsp), %rsi
	addsd	16(%rsp), %xmm0
	movsd	%xmm0, 104(%rsp,%rax)
	movsd	.LC10(%rip), %xmm0
	mulsd	(%r15,%rax), %xmm0
	addq	$8, %rax
	addsd	24(%rsp), %xmm0
	movsd	%xmm0, -8(%rax,%rbx)
	cmpq	$64, %rax
	jne	.L22
	movq	48(%rsp), %rdi
	movl	$1, %ecx
	movl	$64, %edx
	call	cudaMemcpy@PLT
	movl	%eax, %ebp
	testl	%eax, %eax
	je	.L23
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movq	stderr(%rip), %rdi
	movl	%ebp, %ecx
	leaq	.LC11(%rip), %rdx
	movq	%rax, %r8
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L23:
	movq	56(%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	72(%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, %r13
	xorl	%ebx, %ebx
.L34:
	movl	$1073741849, %edi
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movq	%r13, %rdx
	salq	$2, %rdi
	movl	$1, %ecx
	movl	$1, %esi
	movq	%r13, 92(%rsp)
	movl	$1, 100(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L26
	movq	56(%rsp), %rsi
	leaq	0(,%rbx,8), %rdi
	movq	72(%rsp), %rcx
	movq	64(%rsp), %rdx
	addq	%rdi, %rsi
	addq	48(%rsp), %rdi
	call	_Z44__device_stub__Z11d_rms_errorPdS_S_P7point_tPdS_S_P7point_t
.L26:
	call	cudaThreadSynchronize@PLT
	movq	64(%rsp), %rsi
	movl	$2, %ecx
	leaq	360(%rsp), %rbp
	movl	$8000, %edx
	movq	%rbp, %rdi
	call	cudaMemcpy@PLT
	testl	%eax, %eax
	je	.L27
	movl	%eax, %edi
	movl	%eax, 32(%rsp)
	call	cudaGetErrorString@PLT
	movl	32(%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	%xmm1, %xmm1
.L28:
	cmpl	%eax, %edx
	jle	.L63
	addsd	0(%rbp,%rax,8), %xmm1
	incq	%rax
	jmp	.L28
.L63:
	cvtsi2sdl	%edx, %xmm2
	movaps	%xmm1, %xmm0
	movsd	%xmm1, 40(%rsp)
	divsd	%xmm2, %xmm0
	movsd	%xmm2, 32(%rsp)
	call	sqrt@PLT
	movsd	(%rsp), %xmm5
	movsd	32(%rsp), %xmm2
	movsd	40(%rsp), %xmm1
	comisd	%xmm0, %xmm5
	jbe	.L30
	addsd	0(%rbp,%rbx,8), %xmm1
	movsd	%xmm0, (%rsp)
.L30:
	divsd	%xmm2, %xmm1
	movaps	%xmm1, %xmm0
	call	sqrt@PLT
	movsd	(%rsp), %xmm6
	comisd	%xmm0, %xmm6
	minsd	%xmm6, %xmm0
	cmova	%ebx, %r12d
	incq	%rbx
	movsd	%xmm0, (%rsp)
	cmpq	$8, %rbx
	jne	.L34
	movsd	8(%rsp), %xmm3
	comisd	%xmm0, %xmm3
	jbe	.L60
	movslq	%r12d, %rax
	movsd	%xmm0, 8(%rsp)
	movsd	168(%rsp,%rax,8), %xmm6
	movsd	104(%rsp,%rax,8), %xmm5
	movsd	%xmm6, 24(%rsp)
	movsd	%xmm5, 16(%rsp)
	jmp	.L21
.L60:
	movq	48(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L37
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC15(%rip), %rdx
	movq	%rax, %r8
	jmp	.L62
.L37:
	movq	56(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L38
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC16(%rip), %rdx
	movq	%rax, %r8
	jmp	.L62
.L38:
	movq	72(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L39
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC17(%rip), %rdx
	movq	%rax, %r8
	jmp	.L62
.L39:
	movq	64(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %ebx
	testl	%eax, %eax
	je	.L40
	movl	%eax, %edi
	call	cudaGetErrorString@PLT
	movl	%ebx, %ecx
	leaq	.LC18(%rip), %rdx
	movq	%rax, %r8
	jmp	.L62
.L40:
	movsd	16(%rsp), %xmm0
	movsd	8(%rsp), %xmm2
	movb	$3, %al
	leaq	.LC19(%rip), %rsi
	movsd	24(%rsp), %xmm1
	movl	$2, %edi
	leaq	end(%rip), %rbx
	call	__printf_chk@PLT
	movq	%rbx, %rsi
	movl	$1, %edi
	call	clock_gettime@PLT
	leaq	time_taken(%rip), %rdx
	movq	%rbx, %rsi
	leaq	start(%rip), %rdi
	call	_Z12t_differenceP8timespecS0_Px
	movq	time_taken(%rip), %rdx
	leaq	.LC21(%rip), %rsi
	movb	$1, %al
	movl	$2, %edi
	cvtsi2sdq	%rdx, %xmm0
	divsd	.LC20(%rip), %xmm0
	call	__printf_chk@PLT
	movq	8360(%rsp), %rax
	subq	%fs:40, %rax
	je	.L41
	call	__stack_chk_fail@PLT
.L41:
	addq	$8376, %rsp
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2044:
	.size	main, .-main
	.section	.rodata.str1.1
.LC24:
	.string	"_Z11d_rms_errorPdS_S_P7point_t"
.LC25:
	.string	"d_n_data"
	.section	.text.startup
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB2072:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	leaq	_ZL15__fatDeviceText(%rip), %rdi
	call	__cudaRegisterFatBinary@PLT
	pushq	$0
	.cfi_def_cfa_offset 24
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 32
	leaq	.LC24(%rip), %rdx
	movq	%rax, %rdi
	movq	%rax, %rbx
	pushq	$0
	.cfi_def_cfa_offset 40
	movq	%rdx, %rcx
	leaq	_Z11d_rms_errorPdS_S_P7point_t(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 48
	movq	%rax, _ZL20__cudaFatCubinHandle(%rip)
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r8d, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC25(%rip), %rdx
	movl	$4, %r9d
	leaq	_ZL8d_n_data(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	call	__cudaRegisterVar@PLT
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	popq	%rax
	.cfi_def_cfa_offset 24
	popq	%rdx
	.cfi_def_cfa_offset 16
	call	__cudaRegisterFatBinaryEnd@PLT
	leaq	_ZL26__cudaUnregisterBinaryUtilv(%rip), %rdi
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	atexit@PLT
	.cfi_endproc
.LFE2072:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.globl	data
	.data
	.align 32
	.type	data, @object
	.size	data, 16000
data:
	.long	687194767
	.long	1079230300
	.long	-687194767
	.long	1079705763
	.long	1546188227
	.long	1079329423
	.long	1374389535
	.long	1080186552
	.long	1717986918
	.long	1079289446
	.long	1546188227
	.long	1080093327
	.long	-1546188227
	.long	1079016816
	.long	-343597384
	.long	1079822417
	.long	-515396076
	.long	1079301242
	.long	-343597384
	.long	1080031313
	.long	2061584302
	.long	1079123476
	.long	-343597384
	.long	1079863377
	.long	-171798692
	.long	1079147560
	.long	1030792151
	.long	1080030986
	.long	-2061584302
	.long	1079050731
	.long	858993459
	.long	1079898931
	.long	1030792151
	.long	1079006986
	.long	-1030792151
	.long	1079646453
	.long	-1546188227
	.long	1079119216
	.long	858993459
	.long	1079984947
	.long	1889785610
	.long	1079147069
	.long	-343597384
	.long	1079814225
	.long	171798692
	.long	1079063511
	.long	1030792151
	.long	1079723786
	.long	-1546188227
	.long	1079295344
	.long	1546188227
	.long	1080167055
	.long	-515396076
	.long	1079133306
	.long	-1546188227
	.long	1080098160
	.long	1030792151
	.long	1079301898
	.long	-1030792151
	.long	1079920885
	.long	-2061584302
	.long	1077826027
	.long	-1030792151
	.long	1078790389
	.long	343597384
	.long	1079216046
	.long	2061584302
	.long	1080053268
	.long	0
	.long	1078190080
	.long	-171798692
	.long	1079008296
	.long	-1030792151
	.long	1078774005
	.long	343597384
	.long	1079392174
	.long	1546188227
	.long	1076986511
	.long	-515396076
	.long	1078375546
	.long	0
	.long	1075838976
	.long	0
	.long	1078296576
	.long	1202590843
	.long	1075673825
	.long	1202590843
	.long	1078106849
	.long	-1889785610
	.long	1077736898
	.long	1374389535
	.long	1079213752
	.long	-343597384
	.long	1078196305
	.long	687194767
	.long	1079512924
	.long	-1202590843
	.long	1078437150
	.long	1030792151
	.long	1079695114
	.long	-343597384
	.long	1079097425
	.long	343597384
	.long	1079621550
	.long	1889785610
	.long	1077283389
	.long	-1030792151
	.long	1079003381
	.long	858993459
	.long	1076933427
	.long	1030792151
	.long	1078966026
	.long	858993459
	.long	1078178611
	.long	-1717986918
	.long	1079290265
	.long	-171798692
	.long	1078688808
	.long	-1717986918
	.long	1079519641
	.long	1717986918
	.long	1079203430
	.long	-343597384
	.long	1080010833
	.long	-1374389535
	.long	1079234887
	.long	687194767
	.long	1080094556
	.long	-2061584302
	.long	1078260203
	.long	687194767
	.long	1079271260
	.long	2061584302
	.long	1079377428
	.long	-1546188227
	.long	1080028528
	.long	-2061584302
	.long	1078784491
	.long	-1202590843
	.long	1079485726
	.long	-2061584302
	.long	1077416427
	.long	343597384
	.long	1078921134
	.long	2061584302
	.long	1076571668
	.long	687194767
	.long	1078865756
	.long	1546188227
	.long	1079145103
	.long	1546188227
	.long	1080040079
	.long	1030792151
	.long	1078343434
	.long	-171798692
	.long	1079200808
	.long	343597384
	.long	1078732718
	.long	-1546188227
	.long	1079684464
	.long	-1202590843
	.long	1078125854
	.long	-1202590843
	.long	1079325982
	.long	515396076
	.long	1079208837
	.long	-171798692
	.long	1080058920
	.long	1030792151
	.long	1078392586
	.long	687194767
	.long	1079553884
	.long	-171798692
	.long	1078828072
	.long	-1546188227
	.long	1079688560
	.long	-515396076
	.long	1075516538
	.long	0
	.long	1078329344
	.long	-1546188227
	.long	1078910320
	.long	858993459
	.long	1079620403
	.long	-1717986918
	.long	1078458777
	.long	-687194767
	.long	1079226531
	.long	1202590843
	.long	1078303457
	.long	-171798692
	.long	1079184424
	.long	1374389535
	.long	1079418552
	.long	-1030792151
	.long	1080070389
	.long	-1374389535
	.long	1078231367
	.long	171798692
	.long	1079309271
	.long	-1717986918
	.long	1079376281
	.long	0
	.long	1080045568
	.long	-1202590843
	.long	1079285022
	.long	687194767
	.long	1080012636
	.long	-1546188227
	.long	1079319920
	.long	343597384
	.long	1080262574
	.long	-343597384
	.long	1078540369
	.long	687194767
	.long	1079279452
	.long	515396076
	.long	1076898693
	.long	-1374389535
	.long	1078812999
	.long	-515396076
	.long	1077499002
	.long	1889785610
	.long	1079081533
	.long	-1030792151
	.long	1078896885
	.long	-1546188227
	.long	1079598448
	.long	1546188227
	.long	1077281423
	.long	-687194767
	.long	1079160995
	.long	687194767
	.long	1079218012
	.long	-1030792151
	.long	1080078581
	.long	-1374389535
	.long	1079238983
	.long	-2061584302
	.long	1080054251
	.long	-1546188227
	.long	1078680944
	.long	171798692
	.long	1079608279
	.long	0
	.long	1077248000
	.long	171798692
	.long	1078428631
	.long	-2061584302
	.long	1077334507
	.long	1717986918
	.long	1078945382
	.long	1202590843
	.long	1076329185
	.long	-687194767
	.long	1078349987
	.long	-171798692
	.long	1079024680
	.long	858993459
	.long	1079862067
	.long	515396076
	.long	1079544709
	.long	-1546188227
	.long	1080161648
	.long	1030792151
	.long	1077008138
	.long	-1030792151
	.long	1078855925
	.long	343597384
	.long	1079310254
	.long	-687194767
	.long	1080107171
	.long	-343597384
	.long	1076475985
	.long	1202590843
	.long	1078885089
	.long	687194767
	.long	1079222108
	.long	-1030792151
	.long	1080037621
	.long	-858993459
	.long	1078201548
	.long	-687194767
	.long	1079390371
	.long	-1374389535
	.long	1075437895
	.long	858993459
	.long	1077900083
	.long	-687194767
	.long	1078808739
	.long	-1546188227
	.long	1079479664
	.long	-687194767
	.long	1079193763
	.long	-1202590843
	.long	1080102174
	.long	-343597384
	.long	1077557329
	.long	-2061584302
	.long	1079144939
	.long	-2061584302
	.long	1073762795
	.long	-1889785610
	.long	1078252994
	.long	1202590843
	.long	1078663905
	.long	-2061584302
	.long	1079370219
	.long	1202590843
	.long	1078524641
	.long	-858993459
	.long	1079352524
	.long	-1202590843
	.long	1078879518
	.long	858993459
	.long	1080081203
	.long	687194767
	.long	1076629340
	.long	-1889785610
	.long	1078310338
	.long	515396076
	.long	1078643589
	.long	2061584302
	.long	1079807508
	.long	-171798692
	.long	1078156328
	.long	1374389535
	.long	1079144120
	.long	687194767
	.long	1079021404
	.long	-1030792151
	.long	1079859445
	.long	-1202590843
	.long	1079108894
	.long	-1202590843
	.long	1079854366
	.long	-515396076
	.long	1079329914
	.long	515396076
	.long	1079925637
	.long	1889785610
	.long	1079556669
	.long	-1374389535
	.long	1080217927
	.long	0
	.long	1078296576
	.long	-1717986918
	.long	1078942105
	.long	1546188227
	.long	1078289039
	.long	1202590843
	.long	1079261921
	.long	-515396076
	.long	1077998714
	.long	515396076
	.long	1079380869
	.long	1202590843
	.long	1078541025
	.long	687194767
	.long	1079373660
	.long	-2061584302
	.long	1079509483
	.long	-858993459
	.long	1080284364
	.long	1374389535
	.long	1079004856
	.long	-1717986918
	.long	1080086937
	.long	515396076
	.long	1078750085
	.long	2061584302
	.long	1079897620
	.long	-1030792151
	.long	1079335157
	.long	-515396076
	.long	1080040570
	.long	515396076
	.long	1079053189
	.long	-343597384
	.long	1079736401
	.long	1546188227
	.long	1079546511
	.long	-1030792151
	.long	1080262901
	.long	515396076
	.long	1079495557
	.long	1374389535
	.long	1080096440
	.long	-1374389535
	.long	1079570759
	.long	-1202590843
	.long	1080196382
	.long	-171798692
	.long	1078156328
	.long	-1374389535
	.long	1079263559
	.long	-1546188227
	.long	1078041968
	.long	171798692
	.long	1078969303
	.long	1546188227
	.long	1076970127
	.long	-1717986918
	.long	1078458777
	.long	-687194767
	.long	1079275683
	.long	-1717986918
	.long	1079994777
	.long	0
	.long	1078435840
	.long	-1889785610
	.long	1079584194
	.long	1374389535
	.long	1079496376
	.long	343597384
	.long	1080143790
	.long	0
	.long	1077149696
	.long	-1202590843
	.long	1078674718
	.long	-343597384
	.long	1078171729
	.long	1717986918
	.long	1079264870
	.long	-2061584302
	.long	1076810219
	.long	1202590843
	.long	1078393569
	.long	515396076
	.long	1072294789
	.long	-1030792151
	.long	1077979381
	.long	-858993459
	.long	1073269964
	.long	-2061584302
	.long	1077236203
	.long	-1030792151
	.long	1078290677
	.long	-343597384
	.long	1079412817
	.long	858993459
	.long	1077965619
	.long	-343597384
	.long	1079113809
	.long	0
	.long	1079562240
	.long	-2061584302
	.long	1080283627
	.long	-1374389535
	.long	1079284039
	.long	-1374389535
	.long	1079996743
	.long	1717986918
	.long	1079289446
	.long	1546188227
	.long	1080070799
	.long	171798692
	.long	1077912535
	.long	687194767
	.long	1079357276
	.long	1889785610
	.long	1075841597
	.long	515396076
	.long	1078242181
	.long	0
	.long	1076232192
	.long	2061584302
	.long	1077964308
	.long	-1202590843
	.long	1078797598
	.long	1030792151
	.long	1079723786
	.long	-687194767
	.long	1077489827
	.long	515396076
	.long	1078692741
	.long	-858993459
	.long	1077103820
	.long	687194767
	.long	1078947676
	.long	1546188227
	.long	1079186063
	.long	858993459
	.long	1080103731
	.long	858993459
	.long	1079296819
	.long	1030792151
	.long	1080080138
	.long	-1202590843
	.long	1079162142
	.long	1717986918
	.long	1079932518
	.long	1717986918
	.long	1078519398
	.long	-1546188227
	.long	1079328112
	.long	1717986918
	.long	1076815462
	.long	1374389535
	.long	1079021240
	.long	-515396076
	.long	1078441082
	.long	0
	.long	1079398400
	.long	1202590843
	.long	1078500065
	.long	-1546188227
	.long	1079348592
	.long	515396076
	.long	1078864773
	.long	-1202590843
	.long	1079682334
	.long	-1889785610
	.long	1078080962
	.long	1202590843
	.long	1079282401
	.long	-171798692
	.long	1076927528
	.long	-515396076
	.long	1078432890
	.long	1546188227
	.long	1078903439
	.long	1889785610
	.long	1079659069
	.long	-343597384
	.long	1078835281
	.long	-1717986918
	.long	1079601561
	.long	-343597384
	.long	1079236689
	.long	1717986918
	.long	1080055398
	.long	0
	.long	1079009280
	.long	1202590843
	.long	1079716577
	.long	-171798692
	.long	1078836264
	.long	-515396076
	.long	1079780474
	.long	858993459
	.long	1079108403
	.long	-515396076
	.long	1079923834
	.long	171798692
	.long	1079071703
	.long	-1889785610
	.long	1079596482
	.long	515396076
	.long	1078905733
	.long	-687194767
	.long	1079668899
	.long	343597384
	.long	1079170990
	.long	0
	.long	1079959552
	.long	0
	.long	1078837248
	.long	-1202590843
	.long	1079674142
	.long	-343597384
	.long	1074313297
	.long	2061584302
	.long	1078185492
	.long	-1717986918
	.long	1079294361
	.long	343597384
	.long	1080215470
	.long	1202590843
	.long	1077754593
	.long	0
	.long	1079029760
	.long	1030792151
	.long	1077909258
	.long	-343597384
	.long	1079085137
	.long	-858993459
	.long	1079016652
	.long	171798692
	.long	1079665623
	.long	687194767
	.long	1077301084
	.long	-1546188227
	.long	1078951280
	.long	-343597384
	.long	1074444369
	.long	-1202590843
	.long	1078502686
	.long	1546188227
	.long	1077944975
	.long	-2061584302
	.long	1079042539
	.long	1889785610
	.long	1079052861
	.long	2061584302
	.long	1079660052
	.long	-1202590843
	.long	1075807518
	.long	1374389535
	.long	1078787768
	.long	-1202590843
	.long	1078650142
	.long	-343597384
	.long	1079523409
	.long	-1030792151
	.long	1079408885
	.long	171798692
	.long	1080255447
	.long	-1546188227
	.long	1078386032
	.long	-1030792151
	.long	1079011573
	.long	1374389535
	.long	1076207288
	.long	-171798692
	.long	1078189096
	.long	-2061584302
	.long	1075335659
	.long	858993459
	.long	1078031155
	.long	-858993459
	.long	1079098572
	.long	1546188227
	.long	1080068751
	.long	343597384
	.long	1078241198
	.long	2061584302
	.long	1079197204
	.long	-343597384
	.long	1079343185
	.long	-858993459
	.long	1080104140
	.long	343597384
	.long	1079416750
	.long	687194767
	.long	1080037212
	.long	515396076
	.long	1076816773
	.long	1374389535
	.long	1079021240
	.long	-1374389535
	.long	1077936455
	.long	-343597384
	.long	1079330897
	.long	171798692
	.long	1077814231
	.long	-1202590843
	.long	1078756638
	.long	1546188227
	.long	1079521935
	.long	343597384
	.long	1080313774
	.long	-858993459
	.long	1076415692
	.long	-687194767
	.long	1078317219
	.long	687194767
	.long	1073647452
	.long	-2061584302
	.long	1077678571
	.long	2061584302
	.long	1079033364
	.long	-343597384
	.long	1079666769
	.long	687194767
	.long	1077841756
	.long	1889785610
	.long	1079228989
	.long	-2061584302
	.long	1079513579
	.long	-1374389535
	.long	1080146247
	.long	-687194767
	.long	1078063267
	.long	-687194767
	.long	1079095459
	.long	-2061584302
	.long	1078473195
	.long	-1546188227
	.long	1079479664
	.long	515396076
	.long	1079397253
	.long	-1374389535
	.long	1080136007
	.long	-1374389535
	.long	1075700039
	.long	-1374389535
	.long	1077649735
	.long	2061584302
	.long	1077128724
	.long	-1889785610
	.long	1078498754
	.long	858993459
	.long	1079255859
	.long	343597384
	.long	1080233902
	.long	-858993459
	.long	1078512844
	.long	2061584302
	.long	1079725588
	.long	-171798692
	.long	1078934568
	.long	2061584302
	.long	1079827988
	.long	-1889785610
	.long	1079453122
	.long	1030792151
	.long	1080254218
	.long	1374389535
	.long	1079082680
	.long	171798692
	.long	1079972823
	.long	343597384
	.long	1079408558
	.long	-171798692
	.long	1080067112
	.long	-1030792151
	.long	1073752309
	.long	687194767
	.long	1077792604
	.long	687194767
	.long	1077776220
	.long	687194767
	.long	1079144284
	.long	1889785610
	.long	1079376445
	.long	-1717986918
	.long	1080185241
	.long	1546188227
	.long	1076839055
	.long	-1717986918
	.long	1078393241
	.long	1374389535
	.long	1079328440
	.long	858993459
	.long	1080163123
	.long	-1030792151
	.long	1079339253
	.long	-1889785610
	.long	1080182210
	.long	-515396076
	.long	1078695034
	.long	858993459
	.long	1079415603
	.long	-515396076
	.long	1077965946
	.long	-171798692
	.long	1079311400
	.long	-687194767
	.long	1078464675
	.long	687194767
	.long	1079172956
	.long	515396076
	.long	1078225797
	.long	-171798692
	.long	1079381032
	.long	1717986918
	.long	1078797926
	.long	858993459
	.long	1079423795
	.long	171798692
	.long	1077339095
	.long	1030792151
	.long	1079080714
	.long	-1546188227
	.long	1078582640
	.long	687194767
	.long	1079545692
	.long	687194767
	.long	1079553884
	.long	343597384
	.long	1080049582
	.long	858993459
	.long	1079534387
	.long	858993459
	.long	1080120115
	.long	-1889785610
	.long	1079420354
	.long	1546188227
	.long	1080093327
	.long	1546188227
	.long	1076707983
	.long	-858993459
	.long	1078840524
	.long	-1202590843
	.long	1079285022
	.long	1546188227
	.long	1080078991
	.long	-1202590843
	.long	1075021086
	.long	-343597384
	.long	1077991505
	.long	171798692
	.long	1079079895
	.long	-858993459
	.long	1079831756
	.long	1717986918
	.long	1078642278
	.long	1030792151
	.long	1079559946
	.long	858993459
	.long	1079214899
	.long	-1889785610
	.long	1080073666
	.long	1030792151
	.long	1079076618
	.long	687194767
	.long	1079979868
	.long	-1546188227
	.long	1076116848
	.long	858993459
	.long	1079018291
	.long	-1889785610
	.long	1077917122
	.long	-171798692
	.long	1079094312
	.long	343597384
	.long	1079486382
	.long	1546188227
	.long	1080316559
	.long	-687194767
	.long	1078874275
	.long	1546188227
	.long	1079558799
	.long	687194767
	.long	1076957020
	.long	-1889785610
	.long	1079264706
	.long	687194767
	.long	1074696028
	.long	687194767
	.long	1078423388
	.long	-687194767
	.long	1079468195
	.long	-515396076
	.long	1080173690
	.long	-1374389535
	.long	1077895495
	.long	-1546188227
	.long	1079328112
	.long	-858993459
	.long	1079217356
	.long	-1030792151
	.long	1080076533
	.long	-1374389535
	.long	1076257095
	.long	1717986918
	.long	1078560358
	.long	-515396076
	.long	1078932602
	.long	343597384
	.long	1079809966
	.long	-2061584302
	.long	1079136747
	.long	1717986918
	.long	1079809638
	.long	-1717986918
	.long	1079032217
	.long	-1546188227
	.long	1080120688
	.long	-1202590843
	.long	1079461150
	.long	-515396076
	.long	1080265850
	.long	1717986918
	.long	1079125606
	.long	858993459
	.long	1080066867
	.long	515396076
	.long	1079561093
	.long	-171798692
	.long	1080136744
	.long	515396076
	.long	1078152069
	.long	1889785610
	.long	1079532093
	.long	-1889785610
	.long	1077573058
	.long	1546188227
	.long	1078682255
	.long	1374389535
	.long	1079000760
	.long	858993459
	.long	1079497523
	.long	0
	.long	1074528256
	.long	515396076
	.long	1077701509
	.long	-1546188227
	.long	1079102832
	.long	2061584302
	.long	1079762452
	.long	1717986918
	.long	1078691430
	.long	-687194767
	.long	1079554211
	.long	-515396076
	.long	1079170170
	.long	-687194767
	.long	1080074403
	.long	-858993459
	.long	1078684876
	.long	1374389535
	.long	1079230136
	.long	515396076
	.long	1079040901
	.long	-1546188227
	.long	1079790960
	.long	-1374389535
	.long	1078010183
	.long	687194767
	.long	1079369564
	.long	-1030792151
	.long	1078012149
	.long	-1374389535
	.long	1078952263
	.long	-1889785610
	.long	1079403970
	.long	858993459
	.long	1080175411
	.long	-687194767
	.long	1078956195
	.long	-1546188227
	.long	1079713136
	.long	515396076
	.long	1079532421
	.long	515396076
	.long	1080202117
	.long	1030792151
	.long	1079482122
	.long	858993459
	.long	1080138547
	.long	515396076
	.long	1077685125
	.long	-687194767
	.long	1079279779
	.long	1374389535
	.long	1075584696
	.long	-343597384
	.long	1078171729
	.long	687194767
	.long	1078939484
	.long	-687194767
	.long	1079627939
	.long	171798692
	.long	1079399383
	.long	515396076
	.long	1080122245
	.long	-1030792151
	.long	1078999285
	.long	1030792151
	.long	1080057610
	.long	-2061584302
	.long	1079402987
	.long	-171798692
	.long	1080081448
	.long	1889785610
	.long	1078381117
	.long	-1030792151
	.long	1079617781
	.long	-1030792151
	.long	1079408885
	.long	2061584302
	.long	1080206868
	.long	1030792151
	.long	1077057290
	.long	-858993459
	.long	1078684876
	.long	1030792151
	.long	1079035658
	.long	-343597384
	.long	1079703633
	.long	-2061584302
	.long	1078243819
	.long	-1546188227
	.long	1079094640
	.long	1546188227
	.long	1077494415
	.long	-515396076
	.long	1078998138
	.long	-1374389535
	.long	1079279943
	.long	1546188227
	.long	1080251023
	.long	-858993459
	.long	1077316812
	.long	1717986918
	.long	1078634086
	.long	-1717986918
	.long	1079253401
	.long	1546188227
	.long	1080064655
	.long	2061584302
	.long	1078521364
	.long	-1374389535
	.long	1079533895
	.long	1546188227
	.long	1078428303
	.long	1717986918
	.long	1079629414
	.long	1717986918
	.long	1078101606
	.long	1374389535
	.long	1079344824
	.long	1717986918
	.long	1077651046
	.long	-1030792151
	.long	1079068917
	.long	-1030792151
	.long	1078241525
	.long	-1202590843
	.long	1079276830
	.long	1889785610
	.long	1077856829
	.long	1546188227
	.long	1079210639
	.long	-343597384
	.long	1079416913
	.long	-1717986918
	.long	1080058265
	.long	-1374389535
	.long	1078067527
	.long	687194767
	.long	1079369564
	.long	-858993459
	.long	1079102668
	.long	1374389535
	.long	1079873208
	.long	343597384
	.long	1078003630
	.long	-1889785610
	.long	1079162306
	.long	-1030792151
	.long	1079249141
	.long	1717986918
	.long	1079678566
	.long	1202590843
	.long	1077590753
	.long	343597384
	.long	1078994862
	.long	-1030792151
	.long	1078692085
	.long	1889785610
	.long	1079495229
	.long	1202590843
	.long	1077443297
	.long	2061584302
	.long	1078996500
	.long	1030792151
	.long	1076680458
	.long	-515396076
	.long	1078367354
	.long	-1889785610
	.long	1076786626
	.long	-1030792151
	.long	1078905077
	.long	0
	.long	1079164928
	.long	0
	.long	1080094720
	.long	2061584302
	.long	1078930964
	.long	1030792151
	.long	1079850762
	.long	2061584302
	.long	1077898772
	.long	-2061584302
	.long	1078899179
	.long	1717986918
	.long	1078191718
	.long	858993459
	.long	1079190323
	.long	1717986918
	.long	1078871654
	.long	1202590843
	.long	1079761633
	.long	-515396076
	.long	1075451002
	.long	-1202590843
	.long	1077691678
	.long	687194767
	.long	1078316892
	.long	171798692
	.long	1079223255
	.long	-2061584302
	.long	1076777451
	.long	-1889785610
	.long	1078171074
	.long	1030792151
	.long	1079285514
	.long	-1889785610
	.long	1079748034
	.long	2061584302
	.long	1074114068
	.long	0
	.long	1078755328
	.long	343597384
	.long	1078790062
	.long	171798692
	.long	1079792599
	.long	-1202590843
	.long	1079485726
	.long	2061584302
	.long	1080034836
	.long	-2061584302
	.long	1079460331
	.long	1374389535
	.long	1080174264
	.long	-687194767
	.long	1079460003
	.long	1202590843
	.long	1080072929
	.long	171798692
	.long	1077257175
	.long	1202590843
	.long	1078983393
	.long	-515396076
	.long	1079342202
	.long	1030792151
	.long	1080151818
	.long	-1546188227
	.long	1074543984
	.long	515396076
	.long	1077455749
	.long	1202590843
	.long	1079249633
	.long	-1374389535
	.long	1079963975
	.long	1202590843
	.long	1078475489
	.long	1030792151
	.long	1079707402
	.long	-171798692
	.long	1079155752
	.long	-858993459
	.long	1080016076
	.long	-171798692
	.long	1078975528
	.long	1717986918
	.long	1079486054
	.long	1889785610
	.long	1077742141
	.long	343597384
	.long	1079187374
	.long	858993459
	.long	1079108403
	.long	-1717986918
	.long	1079966105
	.long	1374389535
	.long	1078656696
	.long	-515396076
	.long	1079948410
	.long	-2061584302
	.long	1078235627
	.long	687194767
	.long	1079381852
	.long	858993459
	.long	1077834547
	.long	858993459
	.long	1079178035
	.long	-858993459
	.long	1078856908
	.long	-1202590843
	.long	1079407902
	.long	-515396076
	.long	1078506618
	.long	-1889785610
	.long	1079506370
	.long	1717986918
	.long	1078969958
	.long	-1717986918
	.long	1079802265
	.long	515396076
	.long	1079552901
	.long	-1889785610
	.long	1080200642
	.long	515396076
	.long	1077767045
	.long	343597384
	.long	1078757294
	.long	858993459
	.long	1079186227
	.long	-171798692
	.long	1080099880
	.long	-343597384
	.long	1078319185
	.long	-687194767
	.long	1079165091
	.long	343597384
	.long	1079281582
	.long	-1202590843
	.long	1080083742
	.long	343597384
	.long	1075726254
	.long	-687194767
	.long	1078448291
	.long	-1030792151
	.long	1079240949
	.long	-171798692
	.long	1080060968
	.long	-687194767
	.long	1078104227
	.long	171798692
	.long	1079366615
	.long	-1030792151
	.long	1074145525
	.long	343597384
	.long	1078445998
	.long	-515396076
	.long	1077089402
	.long	-1202590843
	.long	1078715678
	.long	-2061584302
	.long	1077105131
	.long	-1889785610
	.long	1079039426
	.long	0
	.long	1079484416
	.long	1546188227
	.long	1080324751
	.long	-2061584302
	.long	1078219243
	.long	687194767
	.long	1079463772
	.long	-1889785610
	.long	1078818242
	.long	2061584302
	.long	1079672340
	.long	-687194767
	.long	1079562403
	.long	343597384
	.long	1080158126
	.long	-1030792151
	.long	1079269621
	.long	-171798692
	.long	1079835688
	.long	515396076
	.long	1076784005
	.long	-858993459
	.long	1078643916
	.long	0
	.long	1076953088
	.long	171798692
	.long	1078838231
	.long	171798692
	.long	1078371287
	.long	-2061584302
	.long	1079472619
	.long	-515396076
	.long	1073353850
	.long	-1374389535
	.long	1078141255
	.long	1030792151
	.long	1077942026
	.long	171798692
	.long	1078707159
	.long	-515396076
	.long	1078998138
	.long	-1889785610
	.long	1079821762
	.long	-343597384
	.long	1079015505
	.long	687194767
	.long	1079840604
	.long	-515396076
	.long	1079506042
	.long	1546188227
	.long	1080156815
	.long	-2061584302
	.long	1079239147
	.long	1889785610
	.long	1080252989
	.long	-2061584302
	.long	1079042539
	.long	2061584302
	.long	1079873044
	.long	-2061584302
	.long	1079030251
	.long	-1546188227
	.long	1079999856
	.long	343597384
	.long	1078822830
	.long	-687194767
	.long	1079476387
	.long	1202590843
	.long	1077099233
	.long	1546188227
	.long	1078305423
	.long	0
	.long	1078517760
	.long	1202590843
	.long	1079257825
	.long	171798692
	.long	1079256023
	.long	1717986918
	.long	1080026726
	.long	1030792151
	.long	1079363338
	.long	-1374389535
	.long	1080136007
	.long	0
	.long	1077739520
	.long	858993459
	.long	1078997811
	.long	-1030792151
	.long	1076832501
	.long	858993459
	.long	1078899507
	.long	1030792151
	.long	1076778762
	.long	-1374389535
	.long	1078632775
	.long	-2061584302
	.long	1078841835
	.long	858993459
	.long	1079640883
	.long	-171798692
	.long	1079131176
	.long	343597384
	.long	1079871406
	.long	0
	.long	1079496704
	.long	-1546188227
	.long	1080229232
	.long	515396076
	.long	1078668165
	.long	343597384
	.long	1079437230
	.long	-2061584302
	.long	1078473195
	.long	515396076
	.long	1079393157
	.long	1202590843
	.long	1076263649
	.long	-687194767
	.long	1078055075
	.long	1889785610
	.long	1077561917
	.long	858993459
	.long	1078670131
	.long	-171798692
	.long	1078377512
	.long	-2061584302
	.long	1079595499
	.long	1889785610
	.long	1077529149
	.long	858993459
	.long	1078981427
	.long	2061584302
	.long	1078070804
	.long	-515396076
	.long	1079161978
	.long	1374389535
	.long	1074339512
	.long	858993459
	.long	1078735667
	.long	1030792151
	.long	1078351626
	.long	2061584302
	.long	1079365140
	.long	2061584302
	.long	1078750740
	.long	515396076
	.long	1079581573
	.long	1030792151
	.long	1078040330
	.long	1889785610
	.long	1079036477
	.long	1202590843
	.long	1078213345
	.long	-171798692
	.long	1079311400
	.long	-1374389535
	.long	1073799495
	.long	-1889785610
	.long	1077114306
	.long	-171798692
	.long	1079405608
	.long	1717986918
	.long	1080286822
	.long	1374389535
	.long	1077911224
	.long	-343597384
	.long	1079048273
	.long	1889785610
	.long	1078348349
	.long	-1374389535
	.long	1079267655
	.long	1202590843
	.long	1076001505
	.long	687194767
	.long	1078087516
	.long	515396076
	.long	1077930885
	.long	1030792151
	.long	1078925066
	.long	1374389535
	.long	1078501048
	.long	-343597384
	.long	1079429201
	.long	-171798692
	.long	1076550696
	.long	-343597384
	.long	1078163537
	.long	2061584302
	.long	1077538324
	.long	1202590843
	.long	1079065313
	.long	-1546188227
	.long	1079496048
	.long	515396076
	.long	1080093573
	.long	-1202590843
	.long	1079125278
	.long	-858993459
	.long	1080067276
	.long	1030792151
	.long	1078155018
	.long	687194767
	.long	1078857564
	.long	1030792151
	.long	1079269130
	.long	1030792151
	.long	1080061706
	.long	1202590843
	.long	1078254305
	.long	-858993459
	.long	1078955212
	.long	-171798692
	.long	1079245864
	.long	1889785610
	.long	1079999037
	.long	687194767
	.long	1078808412
	.long	1546188227
	.long	1079644815
	.long	-1546188227
	.long	1078820208
	.long	515396076
	.long	1079565189
	.long	687194767
	.long	1077612380
	.long	-515396076
	.long	1079272570
	.long	858993459
	.long	1078129459
	.long	-1546188227
	.long	1079098736
	.long	2061584302
	.long	1075686932
	.long	-515396076
	.long	1077744762
	.long	171798692
	.long	1076896727
	.long	858993459
	.long	1078833971
	.long	1546188227
	.long	1078215311
	.long	-1717986918
	.long	1079216537
	.long	2061584302
	.long	1077112340
	.long	687194767
	.long	1079164764
	.long	687194767
	.long	1078488924
	.long	-687194767
	.long	1079378083
	.long	1030792151
	.long	1079084810
	.long	1374389535
	.long	1079815864
	.long	1546188227
	.long	1075856015
	.long	-1202590843
	.long	1078510878
	.long	1889785610
	.long	1078454845
	.long	515396076
	.long	1079556997
	.long	-1889785610
	.long	1077671362
	.long	-858993459
	.long	1078488268
	.long	-1374389535
	.long	1077780807
	.long	858993459
	.long	1079018291
	.long	858993459
	.long	1078219571
	.long	-1889785610
	.long	1079145922
	.long	2061584302
	.long	1078693396
	.long	-1889785610
	.long	1079567810
	.long	-858993459
	.long	1078881484
	.long	1030792151
	.long	1079809802
	.long	687194767
	.long	1079185244
	.long	1374389535
	.long	1079926456
	.long	-171798692
	.long	1076649000
	.long	1202590843
	.long	1078606561
	.long	1889785610
	.long	1079224893
	.long	515396076
	.long	1080073093
	.long	1889785610
	.long	1077332541
	.long	343597384
	.long	1078888366
	.long	-687194767
	.long	1078104227
	.long	-1546188227
	.long	1079098736
	.long	-1202590843
	.long	1077478686
	.long	-1546188227
	.long	1078836592
	.long	343597384
	.long	1077577646
	.long	-1030792151
	.long	1078511861
	.long	687194767
	.long	1078603612
	.long	-1030792151
	.long	1079359733
	.long	0
	.long	1076690944
	.long	343597384
	.long	1078847406
	.long	171798692
	.long	1076077527
	.long	1374389535
	.long	1078410936
	.long	-1030792151
	.long	1073752309
	.long	1889785610
	.long	1077742141
	.long	0
	.long	1077985280
	.long	-687194767
	.long	1079312547
	.long	515396076
	.long	1077685125
	.long	-1546188227
	.long	1079205232
	.long	-1202590843
	.long	1079477534
	.long	171798692
	.long	1080052695
	.long	-1374389535
	.long	1078747463
	.long	-1717986918
	.long	1079880089
	.long	687194767
	.long	1079312220
	.long	1889785610
	.long	1079982653
	.long	858993459
	.long	1079378739
	.long	1202590843
	.long	1080093409
	.long	1889785610
	.long	1079540285
	.long	1717986918
	.long	1080397414
	.long	-687194767
	.long	1077457059
	.long	-1374389535
	.long	1078911303
	.long	343597384
	.long	1077995438
	.long	-343597384
	.long	1079310417
	.long	1030792151
	.long	1077286666
	.long	-2061584302
	.long	1078985195
	.long	-2061584302
	.long	1079411179
	.long	0
	.long	1080180736
	.long	0
	.long	1078075392
	.long	-515396076
	.long	1079157882
	.long	515396076
	.long	1076423557
	.long	-1717986918
	.long	1078516121
	.long	343597384
	.long	1078937518
	.long	343597384
	.long	1079539630
	.long	1374389535
	.long	1076928184
	.long	-515396076
	.long	1078727802
	.long	-1717986918
	.long	1079331225
	.long	687194767
	.long	1080127324
	.long	-515396076
	.long	1076827258
	.long	2061584302
	.long	1078308372
	.long	171798692
	.long	1078510551
	.long	-1717986918
	.long	1079331225
	.long	-1889785610
	.long	1078744514
	.long	1202590843
	.long	1079675617
	.long	1030792151
	.long	1078925066
	.long	1030792151
	.long	1079518986
	.long	-1889785610
	.long	1079543234
	.long	858993459
	.long	1080363827
	.long	-1889785610
	.long	1079170498
	.long	858993459
	.long	1079845683
	.long	858993459
	.long	1078145843
	.long	1030792151
	.long	1079383818
	.long	-858993459
	.long	1079065804
	.long	1889785610
	.long	1079786045
	.long	-1889785610
	.long	1077507522
	.long	858993459
	.long	1078629171
	.long	1546188227
	.long	1075987087
	.long	-343597384
	.long	1078712401
	.long	-343597384
	.long	1077672017
	.long	343597384
	.long	1079003054
	.long	2061584302
	.long	1077866004
	.long	-1889785610
	.long	1078982082
	.long	687194767
	.long	1078497116
	.long	-1030792151
	.long	1079392501
	.long	1202590843
	.long	1078262497
	.long	2061584302
	.long	1079627284
	.long	-1030792151
	.long	1079560437
	.long	-1546188227
	.long	1080270192
	.long	-171798692
	.long	1078402088
	.long	1202590843
	.long	1079425761
	.long	-1202590843
	.long	1078813982
	.long	1889785610
	.long	1079634493
	.long	-1546188227
	.long	1074019696
	.long	515396076
	.long	1077668741
	.long	-1202590843
	.long	1079170334
	.long	343597384
	.long	1080037294
	.long	1717986918
	.long	1079281254
	.long	-687194767
	.long	1080207523
	.long	-1030792151
	.long	1079007477
	.long	-343597384
	.long	1079642193
	.long	-1717986918
	.long	1073584537
	.long	-171798692
	.long	1078066216
	.long	-2061584302
	.long	1079013867
	.long	858993459
	.long	1079907123
	.long	2061584302
	.long	1077784084
	.long	343597384
	.long	1079166894
	.long	687194767
	.long	1079013212
	.long	-1717986918
	.long	1079638425
	.long	1546188227
	.long	1079566991
	.long	-1374389535
	.long	1080305991
	.long	1889785610
	.long	1076693565
	.long	-687194767
	.long	1078775971
	.long	-171798692
	.long	1078443048
	.long	-1374389535
	.long	1079226695
	.long	-858993459
	.long	1075825868
	.long	1202590843
	.long	1078016737
	.long	-515396076
	.long	1079424122
	.long	1202590843
	.long	1080255201
	.long	-1889785610
	.long	1079109058
	.long	-858993459
	.long	1080081612
	.long	687194767
	.long	1079402332
	.long	-515396076
	.long	1080239226
	.long	1030792151
	.long	1078785802
	.long	-2061584302
	.long	1079841259
	.long	1374389535
	.long	1078460088
	.long	-687194767
	.long	1079152803
	.long	-687194767
	.long	1077178531
	.long	-1546188227
	.long	1078820208
	.long	1546188227
	.long	1079141007
	.long	1374389535
	.long	1079791288
	.long	1030792151
	.long	1077860106
	.long	-343597384
	.long	1079146577
	.long	171798692
	.long	1075553239
	.long	515396076
	.long	1078807429
	.long	171798692
	.long	1073521623
	.long	515396076
	.long	1076882309
	.long	1374389535
	.long	1078378168
	.long	1546188227
	.long	1079374479
	.long	2061584302
	.long	1079410196
	.long	1202590843
	.long	1080191713
	.long	-1374389535
	.long	1078780231
	.long	-343597384
	.long	1079851089
	.long	-687194767
	.long	1070428323
	.long	1546188227
	.long	1078321807
	.long	-687194767
	.long	1076293795
	.long	687194767
	.long	1078054748
	.long	1030792151
	.long	1075173130
	.long	-515396076
	.long	1078531194
	.long	-1889785610
	.long	1078007234
	.long	171798692
	.long	1079223255
	.long	-1030792151
	.long	1079388405
	.long	171798692
	.long	1080126423
	.long	515396076
	.long	1078692741
	.long	2061584302
	.long	1079782932
	.long	171798692
	.long	1078150103
	.long	-1717986918
	.long	1079355801
	.long	-515396076
	.long	1079530618
	.long	-1546188227
	.long	1080255856
	.long	0
	.long	1079136256
	.long	-343597384
	.long	1079826513
	.long	-1889785610
	.long	1077360066
	.long	0
	.long	1078812672
	.long	-343597384
	.long	1079347281
	.long	-1717986918
	.long	1080033689
	.long	-858993459
	.long	1079413964
	.long	687194767
	.long	1080078172
	.long	-515396076
	.long	1078203514
	.long	0
	.long	1079054336
	.long	-343597384
	.long	1078892625
	.long	-343597384
	.long	1079855185
	.long	171798692
	.long	1078297559
	.long	-1374389535
	.long	1079480647
	.long	-171798692
	.long	1078271016
	.long	343597384
	.long	1079453614
	.long	0
	.long	1079476224
	.long	1202590843
	.long	1080183521
	.long	1202590843
	.long	1079073505
	.long	0
	.long	1079844864
	.long	-1717986918
	.long	1079380377
	.long	343597384
	.long	1080237998
	.long	0
	.long	1079070720
	.long	-2061584302
	.long	1079816683
	.long	2061584302
	.long	1076145684
	.long	-1546188227
	.long	1078123888
	.long	1202590843
	.long	1079311073
	.long	858993459
	.long	1080199987
	.long	858993459
	.long	1075524403
	.long	-1889785610
	.long	1078171074
	.long	-1546188227
	.long	1077542256
	.long	-1374389535
	.long	1079144775
	.long	171798692
	.long	1078428631
	.long	-171798692
	.long	1079516200
	.long	2061584302
	.long	1079537172
	.long	171798692
	.long	1079804887
	.long	1546188227
	.long	1076576911
	.long	343597384
	.long	1078626222
	.long	1546188227
	.long	1079362191
	.long	1889785610
	.long	1080185405
	.long	1030792151
	.long	1079039754
	.long	-343597384
	.long	1079756881
	.long	1030792151
	.long	1079195402
	.long	-1030792151
	.long	1080115445
	.long	-1030792151
	.long	1076914421
	.long	-1546188227
	.long	1079082352
	.long	2061584302
	.long	1078709780
	.long	1374389535
	.long	1079660216
	.long	-1546188227
	.long	1079283056
	.long	-1374389535
	.long	1080090951
	.long	-1374389535
	.long	1078944071
	.long	-2061584302
	.long	1079599595
	.long	-1889785610
	.long	1074591170
	.long	1889785610
	.long	1078856253
	.long	-858993459
	.long	1079426252
	.long	343597384
	.long	1080145838
	.long	-1030792151
	.long	1079064821
	.long	687194767
	.long	1079639900
	.long	1202590843
	.long	1078368993
	.long	515396076
	.long	1079552901
	.long	-1374389535
	.long	1074454855
	.long	1717986918
	.long	1078011494
	.long	0
	.long	1076756480
	.long	1202590843
	.long	1078786785
	.long	-1889785610
	.long	1074460098
	.long	2061584302
	.long	1078513172
	.long	-515396076
	.long	1077728378
	.long	858993459
	.long	1079108403
	.long	-1030792151
	.long	1077668085
	.long	-2061584302
	.long	1078817259
	.long	-1546188227
	.long	1078377840
	.long	2061584302
	.long	1079180820
	.long	-858993459
	.long	1078996172
	.long	1546188227
	.long	1079755407
	.long	-1202590843
	.long	1078994206
	.long	1374389535
	.long	1079615160
	.long	-171798692
	.long	1078909992
	.long	-687194767
	.long	1079840931
	.long	-171798692
	.long	1078230056
	.long	-1202590843
	.long	1078854942
	.long	-1717986918
	.long	1077967257
	.long	-171798692
	.long	1079348264
	.long	-1030792151
	.long	1079404789
	.long	1889785610
	.long	1080199741
	.long	1030792151
	.long	1079146250
	.long	1202590843
	.long	1079872225
	.long	-687194767
	.long	1077817507
	.long	687194767
	.long	1079258972
	.long	343597384
	.long	1079183278
	.long	0
	.long	1079775232
	.long	171798692
	.long	1078592471
	.long	1717986918
	.long	1079416422
	.long	-858993459
	.long	1076743372
	.long	1889785610
	.long	1078880829
	.long	-1374389535
	.long	1078886727
	.long	1889785610
	.long	1079855677
	.long	-1717986918
	.long	1071225241
	.long	-1030792151
	.long	1078118645
	.long	-343597384
	.long	1077311569
	.long	1889785610
	.long	1079122493
	.long	1889785610
	.long	1078790717
	.long	1030792151
	.long	1079256842
	.long	-687194767
	.long	1078374563
	.long	1030792151
	.long	1079260938
	.long	-171798692
	.long	1078279208
	.long	1030792151
	.long	1079502602
	.long	0
	.long	1079173120
	.long	0
	.long	1079963648
	.long	-858993459
	.long	1077980364
	.long	0
	.long	1078788096
	.long	1030792151
	.long	1079387914
	.long	-687194767
	.long	1080201379
	.long	1374389535
	.long	1078927032
	.long	-687194767
	.long	1080000675
	.long	1717986918
	.long	1079522918
	.long	-343597384
	.long	1080223825
	.long	171798692
	.long	1078543319
	.long	1889785610
	.long	1079474749
	.long	1717986918
	.long	1079170662
	.long	858993459
	.long	1079997235
	.long	-1030792151
	.long	1079552245
	.long	858993459
	.long	1080152883
	.long	0
	.long	1078910976
	.long	858993459
	.long	1079993139
	.long	-1546188227
	.long	1076870512
	.long	-2061584302
	.long	1078874603
	.long	1202590843
	.long	1079364321
	.long	1030792151
	.long	1080248074
	.long	1546188227
	.long	1079026319
	.long	-687194767
	.long	1079689379
	.long	1030792151
	.long	1079383818
	.long	-858993459
	.long	1080212684
	.long	858993459
	.long	1078563635
	.long	-1030792151
	.long	1079585013
	.long	-515396076
	.long	1078957178
	.long	-858993459
	.long	1079708876
	.long	-1546188227
	.long	1077017968
	.long	1889785610
	.long	1078405693
	.long	1546188227
	.long	1076871823
	.long	515396076
	.long	1078889349
	.long	1202590843
	.long	1078926049
	.long	687194767
	.long	1079557980
	.long	-2061584302
	.long	1077121515
	.long	-1374389535
	.long	1078378823
	.long	343597384
	.long	1078904750
	.long	-1202590843
	.long	1079723294
	.long	-171798692
	.long	1079360552
	.long	687194767
	.long	1080086364
	.long	1030792151
	.long	1077630730
	.long	-1374389535
	.long	1078550855
	.long	-1546188227
	.long	1079164272
	.long	-1717986918
	.long	1079712153
	.long	-1374389535
	.long	1079152967
	.long	1030792151
	.long	1080055562
	.long	-1717986918
	.long	1078417817
	.long	-1030792151
	.long	1079396597
	.long	1889785610
	.long	1074793021
	.long	-1546188227
	.long	1077771632
	.long	2061584302
	.long	1073720852
	.long	-1202590843
	.long	1077724446
	.long	1202590843
	.long	1078860513
	.long	-1889785610
	.long	1079412162
	.long	687194767
	.long	1078669148
	.long	858993459
	.long	1079583539
	.long	-1546188227
	.long	1079500144
	.long	-515396076
	.long	1080220794
	.long	-171798692
	.long	1078664232
	.long	687194767
	.long	1079439196
	.long	1546188227
	.long	1077248655
	.long	1030792151
	.long	1078736650
	.long	2061584302
	.long	1076604436
	.long	-2061584302
	.long	1079017963
	.long	1546188227
	.long	1076380303
	.long	-1546188227
	.long	1078181232
	.long	2061584302
	.long	1079221780
	.long	687194767
	.long	1079951196
	.long	858993459
	.long	1078776627
	.long	1030792151
	.long	1079670538
	.long	1889785610
	.long	1075939901
	.long	-1546188227
	.long	1077607792
	.long	515396076
	.long	1076784005
	.long	515396076
	.long	1078537093
	.long	-2061584302
	.long	1075139051
	.long	-343597384
	.long	1078556753
	.long	1717986918
	.long	1078937190
	.long	-2061584302
	.long	1079751147
	.long	171798692
	.long	1075749847
	.long	-1546188227
	.long	1078795632
	.long	-1889785610
	.long	1078941122
	.long	-2061584302
	.long	1079517675
	.long	-1030792151
	.long	1079548149
	.long	-343597384
	.long	1080125521
	.long	-687194767
	.long	1078980771
	.long	-1202590843
	.long	1079854366
	.long	0
	.long	1077280768
	.long	2061584302
	.long	1078988308
	.long	1374389535
	.long	1079221944
	.long	171798692
	.long	1080234967
	.long	-1030792151
	.long	1079208181
	.long	-687194767
	.long	1080082595
	.long	1546188227
	.long	1079296655
	.long	-1202590843
	.long	1080067358
	.long	2061584302
	.long	1078095380
	.long	-687194767
	.long	1079607459
	.long	858993459
	.long	1078793011
	.long	-687194767
	.long	1079763107
	.long	-1030792151
	.long	1076013301
	.long	-1546188227
	.long	1078533488
	.long	-2061584302
	.long	1079181803
	.long	343597384
	.long	1080072110
	.long	-171798692
	.long	1072913448
	.long	-343597384
	.long	1078409297
	.long	-343597384
	.long	1079515217
	.long	-515396076
	.long	1080222842
	.long	-343597384
	.long	1078360145
	.long	-343597384
	.long	1079244881
	.long	-2061584302
	.long	1077613035
	.long	687194767
	.long	1079054172
	.long	-2061584302
	.long	1077629419
	.long	-858993459
	.long	1079258316
	.long	-858993459
	.long	1078029516
	.long	1889785610
	.long	1079102013
	.long	-1030792151
	.long	1079478517
	.long	0
	.long	1080074240
	.long	1546188227
	.long	1079210639
	.long	-515396076
	.long	1080063098
	.long	1717986918
	.long	1079174758
	.long	-343597384
	.long	1080111185
	.long	171798692
	.long	1078592471
	.long	2061584302
	.long	1079508500
	.long	1889785610
	.long	1079061053
	.long	-1030792151
	.long	1079638261
	.long	-1030792151
	.long	1078069493
	.long	515396076
	.long	1079298949
	.long	515396076
	.long	1077504901
	.long	858993459
	.long	1079063347
	.long	-687194767
	.long	1078276259
	.long	687194767
	.long	1079160668
	.long	1717986918
	.long	1079060070
	.long	-171798692
	.long	1080151080
	.long	1030792151
	.long	1079199498
	.long	-1546188227
	.long	1080126832
	.long	-1889785610
	.long	1079211458
	.long	1889785610
	.long	1080109629
	.long	0
	.long	1078018048
	.long	-1202590843
	.long	1079035166
	.long	1374389535
	.long	1078263480
	.long	515396076
	.long	1079094149
	.long	-171798692
	.long	1078844456
	.long	1374389535
	.long	1079807672
	.long	-1546188227
	.long	1077017968
	.long	-1030792151
	.long	1078282485
	.long	-1889785610
	.long	1078556098
	.long	-171798692
	.long	1079692328
	.long	-1202590843
	.long	1079469342
	.long	1374389535
	.long	1080295096
	.long	-343597384
	.long	1079040081
	.long	-2061584302
	.long	1079624171
	.long	-1889785610
	.long	1077638594
	.long	515396076
	.long	1079122821
	.long	-1202590843
	.long	1077019934
	.long	1374389535
	.long	1078877880
	.long	-171798692
	.long	1077943336
	.long	1202590843
	.long	1079450337
	.long	1717986918
	.long	1079133798
	.long	171798692
	.long	1079903191
	.long	-1202590843
	.long	1077970206
	.long	687194767
	.long	1079185244
	.long	1889785610
	.long	1077824061
	.long	-858993459
	.long	1079188684
	.long	2061584302
	.long	1078971924
	.long	-515396076
	.long	1079895162
	.long	-858993459
	.long	1078971596
	.long	-171798692
	.long	1079802920
	.long	-1717986918
	.long	1078729113
	.long	1546188227
	.long	1079313039
	.long	-343597384
	.long	1079498833
	.long	343597384
	.long	1080094638
	.long	-1546188227
	.long	1079016816
	.long	-687194767
	.long	1079992483
	.long	515396076
	.long	1075702661
	.long	-515396076
	.long	1077941370
	.long	-858993459
	.long	1079434444
	.long	-515396076
	.long	1080245370
	.long	171798692
	.long	1076732887
	.long	-1546188227
	.long	1078615408
	.long	-171798692
	.long	1076354088
	.long	-1546188227
	.long	1078361456
	.long	1717986918
	.long	1077126758
	.long	-1717986918
	.long	1078778265
	.long	343597384
	.long	1078699950
	.long	-1030792151
	.long	1079396597
	.long	1717986918
	.long	1074947686
	.long	1717986918
	.long	1078281830
	.long	1374389535
	.long	1077255864
	.long	-343597384
	.long	1078515793
	.long	2061584302
	.long	1078799892
	.long	858993459
	.long	1079501619
	.long	1030792151
	.long	1076647690
	.long	-171798692
	.long	1079057448
	.long	1546188227
	.long	1079341711
	.long	1889785610
	.long	1080201789
	.long	171798692
	.long	1073521623
	.long	-343597384
	.long	1077770321
	.long	-1717986918
	.long	1078548889
	.long	-1374389535
	.long	1079451975
	.long	-1717986918
	.long	1073584537
	.long	-858993459
	.long	1078095052
	.long	1202590843
	.long	1079237345
	.long	-1202590843
	.long	1080112414
	.long	-171798692
	.long	1077091368
	.long	1030792151
	.long	1078556426
	.long	515396076
	.long	1078889349
	.long	858993459
	.long	1079718707
	.long	-687194767
	.long	1079066787
	.long	0
	.long	1080041472
	.long	1374389535
	.long	1079459512
	.long	1374389535
	.long	1080182456
	.long	1030792151
	.long	1079432970
	.long	-1374389535
	.long	1080181063
	.long	687194767
	.long	1078325084
	.long	-171798692
	.long	1079606312
	.long	687194767
	.long	1079304028
	.long	1202590843
	.long	1080046305
	.long	1546188227
	.long	1079112335
	.long	0
	.long	1079726080
	.long	171798692
	.long	1077011415
	.long	2061584302
	.long	1078423060
	.long	1202590843
	.long	1078295265
	.long	1374389535
	.long	1079746232
	.long	1202590843
	.long	1078745825
	.long	858993459
	.long	1079759667
	.long	1889785610
	.long	1076693565
	.long	-1889785610
	.long	1078457794
	.long	-1717986918
	.long	1079167385
	.long	343597384
	.long	1080147886
	.long	1030792151
	.long	1078310666
	.long	-1717986918
	.long	1079163289
	.long	-1030792151
	.long	1077651701
	.long	-1374389535
	.long	1078845767
	.long	-515396076
	.long	1078588538
	.long	-1717986918
	.long	1079667097
	.long	1889785610
	.long	1078209085
	.long	-1374389535
	.long	1079402823
	.long	-2061584302
	.long	1077121515
	.long	1374389535
	.long	1078181560
	.long	343597384
	.long	1078011822
	.long	-1030792151
	.long	1079040245
	.long	-1717986918
	.long	1079507353
	.long	-1374389535
	.long	1080443207
	.long	-1374389535
	.long	1078337863
	.long	-1030792151
	.long	1079286005
	.long	1030792151
	.long	1077679882
	.long	-1374389535
	.long	1079001415
	.long	-1717986918
	.long	1076238745
	.long	-858993459
	.long	1078357196
	.long	858993459
	.long	1078178611
	.long	-515396076
	.long	1079407738
	.long	-343597384
	.long	1075427409
	.long	1717986918
	.long	1078511206
	.long	343597384
	.long	1078052782
	.long	-515396076
	.long	1079211130
	.long	1717986918
	.long	1077257830
	.long	-1546188227
	.long	1079012720
	.long	-1717986918
	.long	1078761881
	.long	1202590843
	.long	1079659233
	.long	343597384
	.long	1075529646
	.long	1546188227
	.long	1078092431
	.long	1202590843
	.long	1078295265
	.long	-515396076
	.long	1079342202
	.long	1546188227
	.long	1078551183
	.long	1717986918
	.long	1079543398
	.long	-343597384
	.long	1078302801
	.long	1030792151
	.long	1079113482
	.long	-2061584302
	.long	1079046635
	.long	-1030792151
	.long	1079789813
	.long	2061584302
	.long	1079545364
	.long	687194767
	.long	1080272732
	.long	-687194767
	.long	1078948003
	.long	0
	.long	1079590912
	.long	-171798692
	.long	1077992488
	.long	-2061584302
	.long	1079202283
	.long	-343597384
	.long	1079154769
	.long	343597384
	.long	1079916462
	.long	858993459
	.long	1076917043
	.long	2061584302
	.long	1079070228
	.long	-1717986918
	.long	1075157401
	.long	-343597384
	.long	1078171729
	.long	1374389535
	.long	1079127736
	.long	1717986918
	.long	1080102502
	.long	-1889785610
	.long	1078482370
	.long	-1202590843
	.long	1079719198
	.long	858993459
	.long	1074213683
	.long	-1889785610
	.long	1078351298
	.long	515396076
	.long	1079311237
	.long	2061584302
	.long	1080073748
	.long	515396076
	.long	1077570437
	.long	-687194767
	.long	1078923427
	.long	1717986918
	.long	1079330406
	.long	343597384
	.long	1080252334
	.long	1202590843
	.long	1079319265
	.long	515396076
	.long	1079970693
	.long	171798692
	.long	1077863383
	.long	0
	.long	1079242752
	.long	-858993459
	.long	1077972172
	.long	-1546188227
	.long	1079254384
	.long	-2061584302
	.long	1077793259
	.long	-687194767
	.long	1079054499
	.long	-1889785610
	.long	1078138306
	.long	-343597384
	.long	1079109713
	.long	1889785610
	.long	1079081533
	.long	-1717986918
	.long	1079843225
	.long	-858993459
	.long	1076612300
	.long	858993459
	.long	1078915891
	.long	-687194767
	.long	1079226531
	.long	2061584302
	.long	1079881236
	.long	-687194767
	.long	1079312547
	.long	2061584302
	.long	1080020500
	.long	-1717986918
	.long	1078106521
	.long	858993459
	.long	1079227187
	.long	1202590843
	.long	1079429857
	.long	171798692
	.long	1080187863
	.long	687194767
	.long	1078218588
	.long	-171798692
	.long	1079348264
	.long	343597384
	.long	1078839214
	.long	1889785610
	.long	1079642685
	.long	1889785610
	.long	1076595261
	.long	-2061584302
	.long	1078792683
	.long	1374389535
	.long	1079197368
	.long	687194767
	.long	1079963484
	.long	171798692
	.long	1076143063
	.long	-1889785610
	.long	1078818242
	.long	-687194767
	.long	1078399139
	.long	1202590843
	.long	1079585505
	.long	1202590843
	.long	1077959393
	.long	858993459
	.long	1079227187
	.long	-2061584302
	.long	1073893867
	.long	-2061584302
	.long	1078055403
	.long	858993459
	.long	1078481715
	.long	-1889785610
	.long	1079653826
	.long	515396076
	.long	1079114629
	.long	-1889785610
	.long	1079883202
	.long	-2061584302
	.long	1079042539
	.long	2061584302
	.long	1079746068
	.long	515396076
	.long	1079266181
	.long	2061584302
	.long	1079889428
	.long	2061584302
	.long	1075228180
	.long	-2061584302
	.long	1078071787
	.long	-1374389535
	.long	1078419783
	.long	-1889785610
	.long	1079469506
	.long	1374389535
	.long	1079291576
	.long	2061584302
	.long	1080102420
	.long	1717986918
	.long	1078642278
	.long	-858993459
	.long	1079389388
	.long	-1546188227
	.long	1076018544
	.long	1889785610
	.long	1077611069
	.long	1717986918
	.long	1079502438
	.long	858993459
	.long	1080079155
	.long	1374389535
	.long	1079361208
	.long	1546188227
	.long	1080121999
	.long	1717986918
	.long	1079277158
	.long	2061584302
	.long	1080065556
	.long	-687194767
	.long	1078366371
	.long	-515396076
	.long	1079542906
	.long	-687194767
	.long	1079111843
	.long	-343597384
	.long	1079871569
	.long	1889785610
	.long	1074989629
	.long	-687194767
	.long	1078145187
	.long	-1030792151
	.long	1079437557
	.long	-687194767
	.long	1080328355
	.long	1030792151
	.long	1079523082
	.long	858993459
	.long	1080316723
	.long	687194767
	.long	1078464348
	.long	-1374389535
	.long	1079488839
	.long	-858993459
	.long	1075432652
	.long	-1889785610
	.long	1078367682
	.long	1717986918
	.long	1078339174
	.long	-1374389535
	.long	1079419207
	.long	1717986918
	.long	1079408230
	.long	343597384
	.long	1080143790
	.long	0
	.long	1077493760
	.long	0
	.long	1078755328
	.long	-1374389535
	.long	1078387015
	.long	1202590843
	.long	1079544545
	.long	515396076
	.long	1078766469
	.long	-1030792151
	.long	1079544053
	.long	-171798692
	.long	1079471144
	.long	1546188227
	.long	1080148623
	.long	1202590843
	.long	1076493025
	.long	1030792151
	.long	1078097674
	.long	-171798692
	.long	1078459432
	.long	-1374389535
	.long	1079292231
	.long	1202590843
	.long	1074887393
	.long	-858993459
	.long	1078078668
	.long	-343597384
	.long	1078995025
	.long	0
	.long	1079787520
	.long	-1546188227
	.long	1076542832
	.long	-171798692
	.long	1078123560
	.long	1546188227
	.long	1076740751
	.long	-687194767
	.long	1078333603
	.long	0
	.long	1076756480
	.long	1374389535
	.long	1079148216
	.long	1546188227
	.long	1075561103
	.long	1374389535
	.long	1078468280
	.long	-171798692
	.long	1079401512
	.long	1202590843
	.long	1080212193
	.long	-2061584302
	.long	1078350315
	.long	-1889785610
	.long	1079170498
	.long	1717986918
	.long	1079457382
	.long	1374389535
	.long	1080286904
	.long	687194767
	.long	1079074652
	.long	1202590843
	.long	1079778017
	.long	-1889785610
	.long	1077327298
	.long	1030792151
	.long	1078892298
	.long	1546188227
	.long	1075364495
	.long	-515396076
	.long	1078293626
	.long	1374389535
	.long	1077354168
	.long	0
	.long	1079119872
	.long	-1717986918
	.long	1079409049
	.long	-858993459
	.long	1080069324
	.long	343597384
	.long	1076774830
	.long	-515396076
	.long	1078203514
	.long	1546188227
	.long	1079431823
	.long	-1889785610
	.long	1080061378
	.long	171798692
	.long	1078518743
	.long	-1030792151
	.long	1079511285
	.long	1717986918
	.long	1072850534
	.long	2061584302
	.long	1077866004
	.long	-858993459
	.long	1077628108
	.long	-687194767
	.long	1078538403
	.long	0
	.long	1079508992
	.long	858993459
	.long	1080113971
	.long	2061584302
	.long	1076538900
	.long	1889785610
	.long	1078372925
	.long	1030792151
	.long	1079052042
	.long	-343597384
	.long	1079855185
	.long	0
	.long	1079422976
	.long	-171798692
	.long	1080118312
	.long	-515396076
	.long	1078277242
	.long	-1717986918
	.long	1079237017
	.long	-1717986918
	.long	1076468121
	.long	-2061584302
	.long	1078686187
	.long	-858993459
	.long	1079262412
	.long	-1717986918
	.long	1079953817
	.long	1717986918
	.long	1078740582
	.long	-1374389535
	.long	1079140679
	.long	0
	.long	1072955392
	.long	0
	.long	1078263808
	.long	-343597384
	.long	1076836433
	.long	171798692
	.long	1078232023
	.long	-171798692
	.long	1077156904
	.long	-1546188227
	.long	1079033200
	.long	-1374389535
	.long	1078116679
	.long	1202590843
	.long	1079302881
	.long	1374389535
	.long	1078927032
	.long	-1374389535
	.long	1079644487
	.long	858993459
	.long	1079112499
	.long	-1030792151
	.long	1079769333
	.long	-1030792151
	.long	1078593781
	.long	2061584302
	.long	1079365140
	.long	171798692
	.long	1079538647
	.long	1546188227
	.long	1080214159
	.long	-858993459
	.long	1076448460
	.long	-1717986918
	.long	1078995353
	.long	1374389535
	.long	1079025336
	.long	-171798692
	.long	1079823400
	.long	858993459
	.long	1077883699
	.long	-343597384
	.long	1078925393
	.long	1374389535
	.long	1077173944
	.long	343597384
	.long	1079207854
	.long	-2061584302
	.long	1079476715
	.long	-1202590843
	.long	1080149278
	.long	1889785610
	.long	1076890173
	.long	-1546188227
	.long	1078451568
	.long	1717986918
	.long	1079535206
	.long	343597384
	.long	1080199086
	.long	-1546188227
	.long	1079516528
	.long	-1717986918
	.long	1080189337
	.long	343597384
	.long	1077905326
	.long	515396076
	.long	1078496133
	.long	-1717986918
	.long	1075091865
	.long	-1717986918
	.long	1078598041
	.long	-343597384
	.long	1079322705
	.long	1717986918
	.long	1080127078
	.long	-1374389535
	.long	1077158215
	.long	1374389535
	.long	1078640312
	.long	687194767
	.long	1079406428
	.long	-2061584302
	.long	1080197611
	.long	687194767
	.long	1079181148
	.long	1546188227
	.long	1079648911
	.long	-858993459
	.long	1077947596
	.long	1374389535
	.long	1078664888
	.long	-858993459
	.long	1078136012
	.long	1030792151
	.long	1079043850
	.long	515396076
	.long	1076947845
	.long	-515396076
	.long	1079010426
	.long	1889785610
	.long	1076890173
	.long	1889785610
	.long	1077692989
	.long	343597384
	.long	1078765486
	.long	1889785610
	.long	1079175741
	.long	-2061584302
	.long	1079239147
	.long	687194767
	.long	1080158044
	.long	-858993459
	.long	1079397580
	.long	515396076
	.long	1080116101
	.long	2061584302
	.long	1079381524
	.long	-858993459
	.long	1080063180
	.long	1202590843
	.long	1077656289
	.long	0
	.long	1079193600
	.long	-2061584302
	.long	1079112171
	.long	-1717986918
	.long	1080131993
	.long	-1889785610
	.long	1078695362
	.long	-858993459
	.long	1079401676
	.long	-1202590843
	.long	1078994206
	.long	1374389535
	.long	1079791288
	.long	0
	.long	1074003968
	.long	-343597384
	.long	1077753937
	.long	1889785610
	.long	1079269949
	.long	-343597384
	.long	1079973969
	.long	-1030792151
	.long	1079187701
	.long	0
	.long	1080043520
	.long	1546188227
	.long	1079149199
	.long	0
	.long	1079955456
	.long	1717986918
	.long	1078421094
	.long	0
	.long	1079390208
	.long	1374389535
	.long	1079512760
	.long	1717986918
	.long	1080170086
	.long	858993459
	.long	1074803507
	.long	171798692
	.long	1078125527
	.long	515396076
	.long	1074850693
	.long	-1030792151
	.long	1077553397
	.long	-515396076
	.long	1075713146
	.long	515396076
	.long	1078020997
	.long	1374389535
	.long	1077485240
	.long	-1889785610
	.long	1079064002
	.long	-1030792151
	.long	1079245045
	.long	1889785610
	.long	1080140349
	.long	-1374389535
	.long	1077043527
	.long	-1202590843
	.long	1078240542
	.long	-2061584302
	.long	1077121515
	.long	1889785610
	.long	1078839869
	.long	2061584302
	.long	1079569940
	.long	-1030792151
	.long	1080107253
	.long	171798692
	.long	1079501783
	.long	-858993459
	.long	1080175820
	.long	-1030792151
	.long	1078462709
	.long	-858993459
	.long	1079569612
	.long	-1374389535
	.long	1079042375
	.long	1202590843
	.long	1079958241
	.long	-1374389535
	.long	1079050567
	.long	-515396076
	.long	1080069242
	.long	1889785610
	.long	1078282813
	.long	-1546188227
	.long	1079078256
	.long	858993459
	.long	1079128883
	.long	-1030792151
	.long	1079675125
	.long	-515396076
	.long	1079309434
	.long	1546188227
	.long	1080083087
	.long	171798692
	.long	1073521623
	.long	343597384
	.long	1078405038
	.long	171798692
	.long	1078436823
	.long	-343597384
	.long	1079634001
	.long	515396076
	.long	1077668741
	.long	-343597384
	.long	1079183441
	.long	-343597384
	.long	1078319185
	.long	1030792151
	.long	1079318282
	.long	1717986918
	.long	1078290022
	.long	-2061584302
	.long	1079345643
	.long	515396076
	.long	1079180165
	.long	0
	.long	1080076288
	.long	1374389535
	.long	1079430840
	.long	-171798692
	.long	1080058920
	.long	-1030792151
	.long	1077717237
	.long	-515396076
	.long	1079067770
	.long	1030792151
	.long	1076156170
	.long	-1546188227
	.long	1078828400
	.long	0
	.long	1078435840
	.long	858993459
	.long	1079804723
	.long	-687194767
	.long	1076097187
	.long	1374389535
	.long	1078558392
	.long	-858993459
	.long	1076645068
	.long	687194767
	.long	1078243164
	.long	-1717986918
	.long	1078589849
	.long	-2061584302
	.long	1079620075
	.long	0
	.long	1079455744
	.long	1202590843
	.long	1080185569
	.long	-515396076
	.long	1078703226
	.long	515396076
	.long	1079630725
	.long	0
	.long	1073741824
	.long	1717986918
	.long	1078314598
	.long	1202590843
	.long	1078762209
	.long	1030792151
	.long	1079752458
	.long	-858993459
	.long	1078316236
	.long	-687194767
	.long	1079333027
	.long	-1202590843
	.long	1079158046
	.long	-2061584302
	.long	1079919083
	.long	-343597384
	.long	1079298129
	.long	1546188227
	.long	1080144527
	.long	687194767
	.long	1078955868
	.long	-1546188227
	.long	1079696752
	.long	1202590843
	.long	1078794977
	.long	687194767
	.long	1079852892
	.long	515396076
	.long	1079356293
	.long	-1889785610
	.long	1080069570
	.long	-1030792151
	.long	1079044341
	.long	1889785610
	.long	1079822909
	.long	-1202590843
	.long	1079543070
	.long	343597384
	.long	1080174510
	.long	-1030792151
	.long	1079105781
	.long	-343597384
	.long	1080102993
	.long	1546188227
	.long	1075298959
	.long	-2061584302
	.long	1078219243
	.long	1717986918
	.long	1079215718
	.long	-171798692
	.long	1080101928
	.long	-858993459
	.long	1079377100
	.long	0
	.long	1080193024
	.long	687194767
	.long	1078898524
	.long	1889785610
	.long	1079515709
	.long	-1546188227
	.long	1077525872
	.long	-2061584302
	.long	1079198187
	.long	515396076
	.long	1079143301
	.long	-1889785610
	.long	1079973314
	.long	687194767
	.long	1076006748
	.long	1202590843
	.long	1078655713
	.long	-687194767
	.long	1078489251
	.long	-171798692
	.long	1079704616
	.long	1717986918
	.long	1078617702
	.long	1374389535
	.long	1079443128
	.long	343597384
	.long	1079216046
	.long	0
	.long	1080020992
	.long	1374389535
	.long	1078116024
	.long	-1546188227
	.long	1079123312
	.long	-1889785610
	.long	1079190978
	.long	171798692
	.long	1080058839
	.long	-515396076
	.long	1077269626
	.long	1374389535
	.long	1078828728
	.long	-1546188227
	.long	1076936048
	.long	-1717986918
	.long	1079179673
	.long	-515396076
	.long	1079411834
	.long	1889785610
	.long	1080148541
	.long	1889785610
	.long	1078946365
	.long	687194767
	.long	1079914332
	.long	-1889785610
	.long	1079023042
	.long	1717986918
	.long	1079678566
	.long	-1546188227
	.long	1079000432
	.long	-1889785610
	.long	1079870914
	.long	-1030792151
	.long	1079130357
	.long	-1030792151
	.long	1079744757
	.long	1546188227
	.long	1079558799
	.long	0
	.long	1080190976
	.long	1030792151
	.long	1079338762
	.long	858993459
	.long	1080242995
	.long	1374389535
	.long	1079213752
	.long	1546188227
	.long	1080210063
	.long	-1889785610
	.long	1079449026
	.long	-2061584302
	.long	1080160747
	.long	1546188227
	.long	1078739599
	.long	515396076
	.long	1079675781
	.long	-858993459
	.long	1079323852
	.long	1202590843
	.long	1080204001
	.long	1374389535
	.long	1079488184
	.long	-2061584302
	.long	1080193515
	.long	1717986918
	.long	1079043686
	.long	-1202590843
	.long	1079944478
	.long	515396076
	.long	1077701509
	.long	-343597384
	.long	1079162961
	.long	1889785610
	.long	1079048765
	.long	-1717986918
	.long	1079650713
	.long	343597384
	.long	1078134702
	.long	-1374389535
	.long	1079222599
	.long	-1717986918
	.long	1076500889
	.long	1202590843
	.long	1078942433
	.long	-171798692
	.long	1079114792
	.long	0
	.long	1080037376
	.long	1546188227
	.long	1079493263
	.long	515396076
	.long	1080212357
	.long	-1374389535
	.long	1079148871
	.long	-2061584302
	.long	1080074731
	.long	-687194767
	.long	1079304355
	.long	687194767
	.long	1080182620
	.long	1717986918
	.long	1073636966
	.long	-1546188227
	.long	1077575024
	.long	1202590843
	.long	1078246113
	.long	-1374389535
	.long	1079398727
	.long	1546188227
	.long	1078960783
	.long	-2061584302
	.long	1079771627
	.long	-1374389535
	.long	1078952263
	.long	-171798692
	.long	1079860264
	.long	-1030792151
	.long	1079367925
	.long	-858993459
	.long	1080143052
	.long	-687194767
	.long	1077973155
	.long	1374389535
	.long	1079307960
	.long	1717986918
	.long	1078871654
	.long	-1546188227
	.long	1079700848
	.long	-1374389535
	.long	1077551431
	.long	1202590843
	.long	1079110369
	.long	-1546188227
	.long	1075592560
	.long	-343597384
	.long	1078409297
	.long	-1717986918
	.long	1079056793
	.long	1717986918
	.long	1079952998
	.long	1546188227
	.long	1079259791
	.long	-1546188227
	.long	1079987568
	.long	1202590843
	.long	1079491297
	.long	171798692
	.long	1080130519
	.long	0
	.long	1077493760
	.long	-687194767
	.long	1079271587
	.long	-1889785610
	.long	1078236610
	.long	1889785610
	.long	1079355965
	.long	858993459
	.long	1078694707
	.long	0
	.long	1079500800
	.long	1374389535
	.long	1077968568
	.long	1717986918
	.long	1079051878
	.long	-1889785610
	.long	1079301570
	.long	1030792151
	.long	1079969546
	.long	-1030792151
	.long	1078216949
	.long	515396076
	.long	1079098245
	.long	-1717986918
	.long	1079028121
	.long	-171798692
	.long	1079634984
	.long	687194767
	.long	1079353180
	.long	343597384
	.long	1080102830
	.long	1202590843
	.long	1076984545
	.long	1717986918
	.long	1078355558
	.long	-1889785610
	.long	1078293954
	.long	0
	.long	1079222272
	.long	-687194767
	.long	1078456483
	.long	-515396076
	.long	1079673978
	.long	515396076
	.long	1077406597
	.long	1030792151
	.long	1079252746
	.long	-1374389535
	.long	1079009607
	.long	858993459
	.long	1079993139
	.long	-1717986918
	.long	1079249305
	.long	-2061584302
	.long	1080029675
	.long	858993459
	.long	1073820467
	.long	-515396076
	.long	1078203514
	.long	515396076
	.long	1078217605
	.long	1202590843
	.long	1079184097
	.long	1717986918
	.long	1074292326
	.long	343597384
	.long	1078765486
	.long	687194767
	.long	1075875676
	.long	-1030792151
	.long	1077971189
	.long	-687194767
	.long	1078325411
	.long	-171798692
	.long	1079446568
	.long	858993459
	.long	1079563059
	.long	1717986918
	.long	1080309350
	.long	1374389535
	.long	1076862648
	.long	-1717986918
	.long	1078933913
	.long	-1546188227
	.long	1078615408
	.long	515396076
	.long	1079651205
	.long	1546188227
	.long	1079464591
	.long	-343597384
	.long	1080037457
	.long	2061584302
	.long	1077866004
	.long	-1546188227
	.long	1079143792
	.long	-858993459
	.long	1078537420
	.long	-858993459
	.long	1079495884
	.long	343597384
	.long	1079302062
	.long	2061584302
	.long	1080139284
	.long	687194767
	.long	1078669148
	.long	1202590843
	.long	1079397089
	.long	1717986918
	.long	1077978726
	.long	-858993459
	.long	1079037132
	.long	-515396076
	.long	1079207034
	.long	-1889785610
	.long	1079891394
	.long	0
	.long	1073872896
	.long	-1202590843
	.long	1077888286
	.long	-171798692
	.long	1078901800
	.long	1374389535
	.long	1079639736
	.long	858993459
	.long	1077261107
	.long	-858993459
	.long	1079012556
	.long	-687194767
	.long	1079238819
	.long	-1546188227
	.long	1080126832
	.long	0
	.long	1077379072
	.long	-171798692
	.long	1078877224
	.long	-1030792151
	.long	1078364405
	.long	1374389535
	.long	1079447224
	.long	1546188227
	.long	1078878863
	.long	-1717986918
	.long	1079851417
	.long	1717986918
	.long	1073112678
	.long	-515396076
	.long	1078375546
	.long	1546188227
	.long	1077002895
	.long	-1030792151
	.long	1078569205
	.long	1202590843
	.long	1079417569
	.long	-1030792151
	.long	1080230133
	.long	-1202590843
	.long	1078281502
	.long	515396076
	.long	1079040901
	.long	515396076
	.long	1079294853
	.long	1030792151
	.long	1079936778
	.long	1889785610
	.long	1078700605
	.long	-858993459
	.long	1079639244
	.long	1374389535
	.long	1079463608
	.long	687194767
	.long	1080280924
	.long	0
	.long	1078312960
	.long	-2061584302
	.long	1079648747
	.long	1030792151
	.long	1076680458
	.long	-1202590843
	.long	1078396190
	.long	1717986918
	.long	1079268966
	.long	1717986918
	.long	1080188518
	.long	1202590843
	.long	1073248993
	.long	1717986918
	.long	1077438054
	.long	1717986918
	.long	1078560358
	.long	-1202590843
	.long	1079473438
	.long	0
	.long	1076658176
	.long	-1202590843
	.long	1078396190
	.long	-687194767
	.long	1079267491
	.long	-2061584302
	.long	1080068587
	.long	858993459
	.long	1069757235
	.long	-1374389535
	.long	1078321479
	.long	2061584302
	.long	1079123476
	.long	-687194767
	.long	1079685283
	.long	-1202590843
	.long	1078748446
	.long	1374389535
	.long	1079811768
	.long	-1374389535
	.long	1078935879
	.long	-1546188227
	.long	1079844208
	.long	-1374389535
	.long	1079275847
	.long	515396076
	.long	1079843717
	.long	-858993459
	.long	1078586572
	.long	-1030792151
	.long	1079527669
	.long	-2061584302
	.long	1074549227
	.long	0
	.long	1078591488
	.long	-1717986918
	.long	1077959065
	.long	-171798692
	.long	1079163944
	.long	515396076
	.long	1079188357
	.long	1889785610
	.long	1079937597
	.long	-171798692
	.long	1076386856
	.long	1374389535
	.long	1078148792
	.long	-343597384
	.long	1076803665
	.long	-515396076
	.long	1078170746
	.long	-1374389535
	.long	1078796615
	.long	1889785610
	.long	1079495229
	.long	-687194767
	.long	1077768355
	.long	1546188227
	.long	1078993551
	.long	0
	.long	1079472128
	.long	-171798692
	.long	1080216616
	.long	171798692
	.long	1079088087
	.long	1889785610
	.long	1080037949
	.long	-1717986918
	.long	1079265689
	.long	0
	.long	1080051712
	.long	1546188227
	.long	1076609679
	.long	-2061584302
	.long	1078489579
	.long	-171798692
	.long	1079274536
	.long	171798692
	.long	1080105943
	.long	2061584302
	.long	1078308372
	.long	1374389535
	.long	1079398072
	.long	-1717986918
	.long	1077221785
	.long	858993459
	.long	1079010099
	.long	-515396076
	.long	1077122170
	.long	343597384
	.long	1079236526
	.long	-1717986918
	.long	1079437721
	.long	0
	.long	1080197120
	.long	-1546188227
	.long	1077476720
	.long	515396076
	.long	1079020421
	.long	1374389535
	.long	1077927608
	.long	171798692
	.long	1079342039
	.long	-1202590843
	.long	1078732062
	.long	-1717986918
	.long	1079777689
	.long	-1546188227
	.long	1079381360
	.long	-1374389535
	.long	1080191303
	.long	-515396076
	.long	1077302394
	.long	-1889785610
	.long	1078998466
	.long	343597384
	.long	1077315502
	.long	1889785610
	.long	1079241277
	.long	1374389535
	.long	1078591160
	.long	687194767
	.long	1079492444
	.long	-171798692
	.long	1075469352
	.long	1546188227
	.long	1078002319
	.long	1374389535
	.long	1078468280
	.long	2061584302
	.long	1079344660
	.long	1889785610
	.long	1079089725
	.long	0
	.long	1079808000
	.long	515396076
	.long	1078143877
	.long	687194767
	.long	1079267164
	.long	1546188227
	.long	1075430031
	.long	-858993459
	.long	1077988556
	.long	171798692
	.long	1075160023
	.long	0
	.long	1077977088
	.long	0
	.long	1078583296
	.long	2061584302
	.long	1079553556
	.long	-1202590843
	.long	1079411998
	.long	343597384
	.long	1080094638
	.long	-515396076
	.long	1078211706
	.long	-343597384
	.long	1079339089
	.long	1889785610
	.long	1079306813
	.long	-171798692
	.long	1080198184
	.long	-1202590843
	.long	1075152158
	.long	858993459
	.long	1077621555
	.long	515396076
	.long	1075243909
	.long	1374389535
	.long	1078558392
	.long	687194767
	.long	1076301660
	.long	1889785610
	.long	1078200893
	.long	-2061584302
	.long	1079177707
	.long	343597384
	.long	1080055726
	.long	-1546188227
	.long	1079528816
	.long	-1717986918
	.long	1080306073
	.long	1717986918
	.long	1077765734
	.long	1546188227
	.long	1078698639
	.long	-858993459
	.long	1073007820
	.long	-1030792151
	.long	1078372597
	.long	1889785610
	.long	1076398653
	.long	-858993459
	.long	1078865100
	.long	687194767
	.long	1079009116
	.long	1030792151
	.long	1079871242
	.long	1030792151
	.long	1079482122
	.long	-171798692
	.long	1080280104
	.long	-2061584302
	.long	1079489003
	.long	515396076
	.long	1080120197
	.long	2061584302
	.long	1075818004
	.long	-687194767
	.long	1078333603
	.long	1889785610
	.long	1078438461
	.long	-858993459
	.long	1079512268
	.long	-343597384
	.long	1078646865
	.long	-343597384
	.long	1079564369
	.long	1889785610
	.long	1077840445
	.long	-858993459
	.long	1079020748
	.long	2061584302
	.long	1079279124
	.long	-1717986918
	.long	1080086937
	.long	687194767
	.long	1078644572
	.long	0
	.long	1079402496
	.long	1202590843
	.long	1079565025
	.long	1030792151
	.long	1080299274
	.long	2061584302
	.long	1079225876
	.long	-2061584302
	.long	1080164843
	.long	-1202590843
	.long	1079203102
	.long	-1374389535
	.long	1079865671
	.long	-515396076
	.long	1075876986
	.long	-1889785610
	.long	1078867394
	.long	-1202590843
	.long	1079358750
	.long	-1030792151
	.long	1080162549
	.long	1030792151
	.long	1076320010
	.long	515396076
	.long	1078791045
	.long	515396076
	.long	1079569285
	.long	-1030792151
	.long	1080215797
	.long	2061584302
	.long	1079279124
	.long	1374389535
	.long	1080100536
	.long	858993459
	.long	1078104883
	.long	-1546188227
	.long	1079209328
	.long	2061584302
	.long	1079016980
	.long	0
	.long	1079554048
	.long	1889785610
	.long	1077938749
	.long	858993459
	.long	1079137075
	.long	171798692
	.long	1078870999
	.long	-858993459
	.long	1079704780
	.long	1374389535
	.long	1079336632
	.long	-1030792151
	.long	1080135925
	.long	-1030792151
	.long	1079003381
	.long	1030792151
	.long	1080006410
	.long	-1374389535
	.long	1079308615
	.long	-1889785610
	.long	1080151490
	.long	171798692
	.long	1079403479
	.long	687194767
	.long	1080053596
	.long	-1546188227
	.long	1078091120
	.long	-687194767
	.long	1079451811
	.long	858993459
	.long	1078039347
	.long	515396076
	.long	1079163781
	.long	1717986918
	.long	1079023206
	.long	2061584302
	.long	1079729684
	.long	1030792151
	.long	1076991754
	.long	1717986918
	.long	1079096934
	.long	1546188227
	.long	1077674639
	.long	2061584302
	.long	1079340564
	.long	343597384
	.long	1078208430
	.long	-1202590843
	.long	1079342366
	.long	0
	.long	1079300096
	.long	1374389535
	.long	1080059576
	.long	1546188227
	.long	1078067855
	.long	-1889785610
	.long	1079043522
	.long	171798692
	.long	1079436247
	.long	-1889785610
	.long	1080118722
	.long	515396076
	.long	1076964229
	.long	1546188227
	.long	1079005839
	.long	-343597384
	.long	1079556177
	.long	1889785610
	.long	1080126013
	.long	-1717986918
	.long	1077991833
	.long	-1889785610
	.long	1079219650
	.long	-1202590843
	.long	1079399710
	.long	2061584302
	.long	1080178196
	.long	1374389535
	.long	1070931640
	.long	1202590843
	.long	1078139617
	.long	-1889785610
	.long	1076950466
	.long	-858993459
	.long	1078119628
	.long	-1546188227
	.long	1077214576
	.long	-343597384
	.long	1079019601
	.long	687194767
	.long	1077071708
	.long	0
	.long	1078501376
	.long	1030792151
	.long	1076926218
	.long	-1546188227
	.long	1079164272
	.long	0
	.long	1078829056
	.long	-171798692
	.long	1079721000
	.long	343597384
	.long	1078667182
	.long	858993459
	.long	1079481139
	.long	2061584302
	.long	1079160340
	.long	687194767
	.long	1080143708
	.long	-687194767
	.long	1079513251
	.long	0
	.long	1080238080
	.long	1889785610
	.long	1077979709
	.long	-1202590843
	.long	1079162142
	.long	1374389535
	.long	1079463608
	.long	-343597384
	.long	1080084561
	.long	0
	.long	1079193600
	.long	515396076
	.long	1079954309
	.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
	.globl	time_taken
	.bss
	.align 8
	.type	time_taken, @object
	.size	time_taken, 8
time_taken:
	.zero	8
	.globl	end
	.align 16
	.type	end, @object
	.size	end, 16
end:
	.zero	16
	.globl	start
	.align 16
	.type	start, @object
	.size	start, 16
start:
	.zero	16
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC3:
	.long	-8388608
	.long	1104006500
	.align 8
.LC4:
	.long	0
	.long	1076101120
	.align 8
.LC5:
	.long	-858993459
	.long	1073007820
	.align 8
.LC10:
	.long	1202590843
	.long	1065646817
	.align 8
.LC20:
	.long	0
	.long	1104006501
	.ident	"GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:


#include <hip/hip_runtime.h>
#include <stdio.h>
#include <hip/hip_runtime_api.h>

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

typedef struct point_t{
double xIntercept;
double yIntercept;
}point_t;
struct timespec start, end;
	long long int time_taken;
int n_data = 1000;
__device__ int d_n_data =1000;

point_t data[] = {
  {78.99,108.01},{85.04,146.71},{82.60,135.33},{65.96,115.13},
  {83.32,127.88},{72.47,117.63},{73.94,127.86},{68.03,119.80},
  {65.36,104.39},{72.21,125.05},{73.91,114.63},{68.81,109.11},
  {82.96,144.33},{73.07,135.92},{83.36,121.14},{30.32,58.07},
  {78.12,130.44},{39.75,65.44},{57.57,88.87},{17.51,45.41},
  { 8.00,43.00},{ 7.37,37.21},{28.96,77.98},{39.94,96.24},
  {47.29,107.36},{70.88,102.87},{22.04,65.14},{16.70,63.43},
  {39.40,82.65},{54.97,96.65},{77.35,126.63},{79.27,135.48},
  {41.89,81.49},{87.97,127.71},{57.89,94.58},{24.07,62.06},
  {13.59,60.37},{73.79,128.83},{44.43,77.19},{56.31,106.71},
  {37.79,84.83},{77.68,131.13},{45.93,98.74},{59.22,106.96},
  { 6.77,44.00},{61.73,102.80},{47.95,78.76},{43.21,76.19},
  {90.48,132.53},{41.01,83.81},{87.90,129.50},{82.33,126.74},
  {84.46,155.99},{50.44,81.99},{16.17,58.76},{25.33,69.91},
  {61.32,101.46},{22.01,74.76},{78.24,133.53},{79.52,130.56},
  {54.73,102.06},{21.50,47.03},{22.82,62.80},{11.74,44.63},
  {66.44,117.55},{98.18,143.67},{17.84,60.07},{83.87,137.02},
  {12.86,60.96},{78.49,128.53},{40.10,88.76},{ 6.47,31.45},
  {58.63,94.21},{76.76,136.41},{26.22,73.78},{ 2.04,41.67},
  {54.21,87.53},{49.96,86.45},{60.79,133.85},{14.03,43.42},
  {53.59,114.22},{38.72,73.73},{66.24,117.39},{71.58,117.08},
  {85.07,121.43},{98.91,150.54},{43.00,62.70},{42.77,80.92},
  {33.91,88.18},{50.46,87.74},{96.03,158.65},{65.23,134.55},
  {56.84,119.72},{85.39,128.89},{68.18,109.88},{98.29,156.03},
  {95.18,135.71},{99.77,147.91},{38.72,81.02},{35.23,63.53},
  {17.26,47.95},{81.76,125.65},{47.25,100.59},{95.23,141.49},
  {20.00,54.54},{39.19,81.10},{15.41,45.96},{ 0.81,33.32},
  { 1.55,21.32},{42.82,90.13},{32.90,71.88},{99.25,158.56},
  {82.27,125.77},{82.60,132.58},{31.64,86.74},{ 8.02,41.34},
  {11.00,32.86},{58.29,109.11},{25.19,55.09},{19.30,62.87},
  {76.29,136.60},{83.05,133.72},{74.83,121.85},{49.80,84.96},
  {15.45,66.23},{47.41,89.25},{49.21,86.21},{60.34,106.58},
  {36.42,82.17},{16.61,47.16},{61.52,105.16},{59.44,101.65},
  {79.38,130.70},{65.50,108.67},{59.47,112.57},{71.55,121.32},
  {69.31,101.34},{61.59,105.76},{75.37,123.50},{59.50,106.08},
  { 3.09,39.61},{82.90,150.24},{29.23,66.75},{31.59,70.13},
  {65.95,105.56},{22.31,62.98},{ 3.34,49.29},{32.27,67.53},
  {68.16,105.22},{ 7.88,57.99},{53.79,96.88},{89.89,155.12},
  {45.73,65.64},{10.81,39.72},{ 6.08,34.90},{70.95,132.33},
  {41.31,76.97},{85.88,136.65},{90.37,128.48},{15.46,66.23},
  {32.01,85.13},{30.14,57.04},{96.79,162.24},{12.40,43.63},
  { 1.91,28.07},{66.97,105.63},{30.56,78.91},{96.28,141.79},
  {35.88,70.76},{48.39,94.21},{89.18,140.54},{ 7.47,27.63},
  {19.68,49.17},{80.55,152.49},{49.60,109.22},{62.47,115.47},
  {92.59,154.97},{69.98,124.31},{89.87,132.13},{ 2.02,29.81},
  {29.56,73.74},{87.91,146.55},{15.63,45.95},{84.98,143.85},
  {85.64,146.18},{55.16,90.30},{32.91,83.94},{48.13,75.49},
  {40.84,88.19},{58.30,90.80},{22.89,69.86},{51.73,98.24},
  {98.74,129.99},{97.55,138.60},{90.59,135.33},{14.63,59.60},
  {82.33,133.58},{ 4.88,33.69},{69.81,115.70},{53.55,99.11},
  {78.05,132.93},{69.61,124.74},{10.12,66.05},{31.71,70.69},
  {94.62,162.58},{60.63,99.04},{17.06,81.09},{ 3.82,46.87},
  {93.51,145.14},{31.38,84.96},{78.20,133.28},{11.19,51.05},
  {62.41,114.37},{73.28,114.35},{66.90,138.67},{93.08,156.39},
  {72.60,132.10},{99.18,140.63},{38.59,97.41},{26.46,54.77},
  {64.98,95.30},{ 3.50,28.42},{71.21,111.47},{55.05,98.76},
  {75.32,133.02},{54.85,78.98},{67.43,113.21},{34.26,87.49},
  {34.32,63.01},{89.59,145.35},{63.13,108.46},{97.43,148.61},
  {94.36,140.85},{28.17,82.01},{ 7.03,39.19},{62.62,103.26},
  {89.31,138.86},{64.89,130.97},{89.53,133.88},{45.58,102.64},
  {89.89,149.19},{18.59,54.85},{67.11,107.88},{41.39,70.71},
  {25.26,64.82},{82.02,154.58},{22.55,53.30},{80.40,131.83},
  {49.86,97.52},{47.02,103.35},{37.05,85.98},{27.65,69.14},
  {41.32,81.83},{30.79,77.79},{90.38,131.05},{36.01,87.49},
  {71.20,118.23},{34.06,74.84},{80.14,106.35},{26.73,64.62},
  {55.07,95.16},{24.48,64.72},{14.42,45.16},{15.23,61.57},
  {75.00,135.50},{62.36,116.86},{31.43,61.39},{39.80,76.55},
  {60.55,111.42},{ 6.52,28.27},{43.62,78.56},{15.16,39.17},
  {82.36,110.59},{ 2.71,57.00},{58.06,113.31},{94.58,128.19},
  {93.03,145.21},{93.01,132.84},{21.64,63.96},{85.82,142.47},
  { 3.53,24.67},{80.17,123.77},{48.46,108.11},{74.44,126.95},
  {63.72,94.60},{29.04,76.37},{71.55,123.90},{53.99,122.82},
  {41.14,88.24},{30.45,75.80},{60.10,89.83},{49.41,95.84},
  {63.55,113.90},{98.68,148.43},{29.42,57.06},{76.30,136.13},
  {43.69,75.01},{82.12,134.16},{ 7.57,47.63},{79.64,131.38},
  {37.13,87.31},{ 2.77,47.56},{19.08,55.79},{19.32,67.34},
  {94.50,163.58},{40.64,93.24},{58.92,105.97},{99.26,143.24},
  {81.39,115.94},{15.21,53.60},{17.00,59.53},{45.28,93.78},
  { 1.63,38.26},{32.18,55.53},{64.82,115.09},{65.88,116.24},
  {95.82,143.08},{79.53,154.82},{67.53,118.22},{66.78,125.96},
  {59.06,94.01},{19.23,43.27},{49.75,80.67},{80.56,127.60},
  {87.11,140.54},{29.00,64.80},{15.58,61.40},{15.17,53.26},
  {59.64,104.05},{72.94,118.12},{95.25,151.92},{54.34,91.62},
  {48.39,88.93},{11.24,35.63},{26.29,54.40},{45.47,101.28},
  {25.79,63.90},{36.11,74.82},{ 3.14,56.40},{44.68,87.22},
  {56.86,100.43},{35.18,67.16},{40.46,83.94},{ 2.11,19.46},
  {89.69,158.95},{31.62,67.88},{44.58,81.27},{ 9.24,36.62},
  {31.92,62.18},{49.24,91.13},{13.43,38.94},{25.93,68.92},
  {95.21,135.36},{72.58,132.15},{38.68,60.12},{81.36,131.47},
  {41.71,63.10},{79.94,125.91},{58.62,104.29},{58.98,99.43},
  {27.06,81.57},{37.90,70.96},{ 7.42,29.08},{16.14,59.40},
  {40.52,78.15},{19.43,74.99},{48.87,88.01},{70.11,114.73},
  { 8.13,49.54},{47.83,98.93},{27.96,48.85},{29.63,66.05},
  {40.65,73.84},{55.11,99.59},{60.85,114.36},{76.24,121.48},
  {14.18,52.46},{78.66,132.86},{22.79,61.06},{37.13,70.96},
  {25.02,59.48},{26.53,49.57},{52.37,86.89},{14.50,59.81},
  { 9.82,46.49},{ 2.02,29.04},{33.50,84.01},{28.17,77.46},
  {94.08,130.37},{56.76,118.65},{83.99,124.91},{88.05,135.34},
  {97.91,172.45},{24.69,61.76},{33.81,83.88},{22.09,64.03},
  {90.03,146.00},{36.25,74.57},{12.46,49.70},{62.56,97.87},
  {16.62,56.16},{85.15,139.48},{15.54,43.36},{49.53,85.15},
  {56.67,106.17},{62.18,96.61},{98.09,168.35},{75.34,116.55},
  {38.40,88.36},{68.95,112.91},{25.46,53.15},{ 9.13,55.69},
  {27.97,65.12},{30.93,63.92},{49.12,88.89},{41.96,103.22},
  {99.14,156.92},{46.22,90.92},{58.79,103.66},{ 2.53,27.92},
  {75.33,128.49},{82.10,149.27},{65.39,104.13},{ 1.85,35.97},
  {65.78,120.30},{29.68,75.12},{65.74,103.90},{99.54,161.29},
  {14.52,57.63},{47.47,78.77},{ 7.95,34.46},{90.82,155.09},
  {71.59,133.90},{89.49,153.14},{57.93,116.28},{47.99,74.26},
  {20.44,58.98},{73.54,113.23},{30.84,73.88},{ 6.91,58.59},
  { 1.79,15.96},{45.49,87.79},{89.97,147.34},{57.76,116.88},
  { 0.23,43.77},{11.47,35.62},{ 5.46,50.16},{34.17,78.56},
  {88.64,139.37},{55.09,112.72},{38.53,86.65},{97.32,155.17},
  {73.25,115.38},{23.21,58.75},{86.13,128.05},{90.20,133.48},
  {40.16,68.25},{61.19,117.13},{43.03,94.27},{42.22,92.62},
  {94.00,146.34},{69.42,116.50},{88.15,152.99},{69.25,114.78},
  {10.34,37.73},{83.92,148.35},{ 6.80,39.17},{25.99,73.77},
  {47.03,96.44},{97.72,114.06},{13.63,53.06},{87.04,146.57},
  {67.36,111.13},{76.86,138.03},{16.41,69.96},{55.61,105.23},
  {82.21,135.04},{62.76,101.53},{ 3.62,60.08},{90.95,141.74},
  {68.89,103.99},{45.21,98.68},{ 3.36,34.30},{15.00,57.96},
  { 3.37,49.61},{28.83,71.55},{27.91,58.89},{45.48,75.97},
  {64.70,111.04},{64.58,102.48},{61.72,116.26},{40.97,60.04},
  {32.95,86.19},{89.64,148.32},{73.86,118.17},{30.19,80.74},
  {76.12,112.25},{52.03,90.35},{14.90,60.83},{61.01,117.16},
  { 0.40,37.57},{22.47,72.41},{58.08,80.61},{45.38,80.86},
  {42.47,95.61},{75.50,123.75},{33.35,58.00},{88.61,148.52},
  {62.24,126.01},{96.85,151.26},{50.53,93.91},{75.35,125.80},
  {98.64,142.60},{61.75,125.55},{15.87,60.64},{87.17,154.22},
  {66.54,107.01},{88.36,149.90},{51.15,100.64},{63.16,108.20},
  {17.99,46.33},{15.88,61.09},{62.21,98.99},{19.57,45.51},
  {61.56,109.08},{86.94,134.48},{27.34,50.76},{74.96,108.40},
  {74.27,130.72},{46.70,89.14},{ 4.01,29.49},{ 1.98,28.77},
  {60.21,90.09},{54.37,100.55},{95.46,150.89},{54.22,91.74},
  {21.51,56.43},{13.84,66.03},{12.13,39.48},{78.47,122.99},
  {57.65,105.86},{ 8.77,26.99},{15.21,50.34},{ 5.33,50.94},
  {62.55,110.78},{ 7.66,58.23},{62.67,96.53},{98.39,139.26},
  {63.88,117.08},{22.00,64.22},{78.48,152.62},{77.64,134.02},
  {83.04,132.16},{36.86,102.01},{58.15,111.51},{ 9.33,50.23},
  {76.03,132.74},{ 1.21,46.44},{96.38,151.14},{44.94,79.88},
  {27.07,68.24},{27.32,80.70},{34.85,71.16},{94.14,133.00},
  {77.79,131.64},{75.60,137.51},{52.03,95.97},{68.66,103.89},
  {36.07,83.18},{25.42,68.80},{42.38,74.74},{68.60,142.38},
  {77.11,139.42},{77.84,137.32},{34.50,67.08},{41.99,70.68},
  {59.72,114.23},{17.99,42.57},{50.92,107.19},{93.58,159.96},
  {67.38,103.03},{27.46,72.43},{18.02,60.74},{32.22,92.42},
  {73.10,120.06},{33.04,76.24},{30.29,76.45},{63.61,119.57},
  {63.60,113.94},{56.20,84.04},{95.38,135.49},{65.96,125.51},
  { 7.48,32.16},{91.45,153.89},{14.82,52.73},{11.93,44.98},
  {19.65,57.70},{55.31,89.14},{ 4.60,42.55},{21.62,49.69},
  {58.36,95.55},{14.17,68.44},{85.79,148.57},{ 1.79,29.47},
  {50.70,92.52},{ 1.85,36.85},{79.42,137.66},{19.11,50.93},
  {61.09,108.80},{69.01,129.00},{92.98,146.21},{91.36,146.04},
  {43.87,101.94},{83.49,129.59},{71.79,109.25},{17.89,46.86},
  {42.96,110.48},{56.71,111.30},{14.52,47.92},{75.15,141.99},
  {43.43,74.90},{27.66,59.76},{51.91,105.65},{40.33,89.52},
  {19.57,39.49},{34.31,67.39},{95.90,178.04},{44.26,82.39},
  {28.09,65.02},{11.05,44.85},{39.40,89.82},{ 6.43,49.55},
  {35.56,77.82},{21.65,65.71},{57.20,105.17},{ 6.82,36.77},
  {42.96,85.82},{50.77,98.10},{43.19,71.86},{67.78,113.14},
  {98.22,157.23},{62.88,101.00},{33.72,77.28},{74.38,120.87},
  {16.45,69.22},{ 5.40,39.19},{72.73,136.45},{48.67,108.83},
  { 2.90,44.67},{83.93,132.94},{26.42,62.13},{85.10,154.74},
  {84.42,124.18},{30.89,79.75},{33.10,80.46},{29.82,68.26},
  {38.17,71.63},{69.91,116.40},{13.90,61.90},{78.76,118.72},
  {84.01,127.22},{37.20,78.80},{91.17,146.87},{40.62,86.19},
  {59.56,104.16},{13.77,58.14},{76.98,123.74},{10.32,58.92},
  {46.13,100.67},{32.71,78.80},{ 2.29,35.64},{48.65,104.84},
  {71.93,118.84},{67.53,110.47},{81.18,119.22},{ 5.67,36.14},
  {46.76,93.59},{82.73,136.44},{53.55,88.70},{ 9.37,27.04},
  {95.60,133.60},{86.98,138.83},{81.85,131.94},{45.13,98.07},
  {71.76,118.13},{ 4.76,38.38},{91.64,164.02},{96.86,162.60},
  {48.12,94.77},{ 6.45,45.17},{44.30,90.52},{89.85,141.49},
  {25.25,57.00},{45.76,98.17},{57.34,98.14},{93.69,142.08},
  {12.99,36.93},{47.97,82.77},{ 4.37,36.35},{64.63,113.00},
  {13.37,37.72},{14.88,44.13},{15.00,73.98},{ 6.94,48.24},
  {89.44,149.84},{44.64,75.34},{92.85,158.96},{69.49,112.42},
  {22.71,61.18},{ 6.19,42.91},{23.12,72.25},{89.90,132.40},
  {15.14,40.16},{91.29,131.43},{49.78,96.14},{ 1.15,30.93},
  {27.30,50.38},{96.00,137.85},{13.34,45.33},{68.11,117.13},
  {90.75,138.38},{42.41,79.40},{12.80,54.89},{80.95,123.15},
  {56.55,73.52},{ 1.25,42.00},{15.61,41.03},{20.11,66.96},
  {37.51,83.42},{62.24,104.27},{71.80,111.89},{52.07,87.22},
  {97.81,150.08},{12.65,64.65},{66.48,115.19},{31.20,62.19},
  {20.37,77.62},{94.03,142.16},{16.04,47.73},{97.60,148.24},
  {96.46,147.05},{31.53,49.09},{ 5.15,52.20},{84.63,139.45},
  {20.13,53.49},{89.74,148.06},{75.99,104.54},{32.35,54.24},
  {38.10,67.61},{16.92,65.57},{16.04,28.29},{57.31,75.66},
  {79.53,143.23},{89.20,138.11},{88.22,131.65},{27.73,76.75},
  {71.78,140.05},{55.17,89.45},{64.58,113.23},{ 2.50,29.22},
  {81.41,124.38},{76.39,129.25},{74.04,123.25},{46.80,88.75},
  {96.23,144.70},{ 4.05,37.78},{ 4.23,26.16},{ 7.52,34.59},
  {25.12,68.84},{79.89,141.07},{18.38,41.29},{19.57,59.58},
  {99.72,137.03},{95.56,145.40},{48.07,99.70},{67.52,123.42},
  {68.02,132.39},{42.58,69.71},{72.80,106.14},{83.82,134.08},
  { 1.79,46.31},{47.28,103.63},{27.92,76.13},{43.69,84.36},
  {42.80,86.03},{75.93,133.25},{91.23,131.13},{28.66,69.07},
  {10.42,59.23},{47.25,114.05},{ 9.97,50.99},{14.15,41.37},
  {51.95,102.78},{92.75,146.59},{55.41,103.43},{ 2.00,43.55},
  {57.21,110.86},{43.60,85.26},{74.58,121.03},{83.13,141.58},
  {63.12,107.46},{58.21,116.99},{86.68,132.43},{67.64,115.16},
  {98.08,145.24},{71.39,136.51},{ 5.94,40.64},{78.10,136.38},
  {87.95,147.50},{61.37,96.41},{25.74,77.03},{73.68,124.34},
  { 9.28,53.96},{48.88,107.94},{52.80,91.98},{78.12,127.25},
  {37.49,72.46},{76.59,131.12},{21.83,59.24},{16.74,75.90},
  {90.07,142.07},{62.83,120.74},{66.34,106.35},{64.96,118.09},
  {72.89,110.39},{99.04,147.25},{85.61,153.60},{77.98,149.58},
  {92.34,143.56},{56.52,106.18},{84.70,148.84},{94.73,147.56},
  {67.60,122.58},{28.42,74.88},{67.91,104.65},{38.06,78.52},
  {13.05,62.71},{71.94,128.50},{95.04,149.86},{74.02,133.06},
  {83.51,146.23},{ 1.90,26.49},{41.46,89.27},{63.27,112.03},
  {63.01,117.44},{87.39,141.40},{33.13,83.73},{60.55,107.71},
  {26.13,71.67},{ 7.06,46.44},{68.40,123.10},{80.79,125.21},
  {94.92,139.87},{25.25,81.51},{41.17,86.66},{55.15,95.50},
  {32.99,68.10},{83.34,124.11},{40.57,70.93},{66.65,103.69},
  {86.49,136.49},{17.48,44.80},{42.92,78.50},{47.88,106.07},
  {23.92,80.36},{65.52,125.55},{80.15,127.78},{ 2.15,40.16},
  {40.59,76.17},{ 3.05,57.31},{ 8.28,33.07},{43.88,92.19},
  {99.30,161.70},{15.81,62.45},{52.73,104.68},{93.29,128.51},
  {30.93,73.71},{50.35,95.20},{83.37,140.94},{54.37,89.17},
  {33.30,67.20},{77.57,119.34},{ 2.25,31.27},{61.47,103.98},
  {21.70,65.70},{79.51,139.42},{23.50,60.72},{45.07,92.23},
  {60.77,116.90},{ 1.40,45.41},{17.76,51.32},{90.42,152.03},
  {42.54,67.43},{82.93,122.11},{55.33,103.95},{93.23,158.23},
  {43.50,104.53},{14.42,46.04},{81.35,146.95},{ 1.53,24.40},
  {51.05,93.83},{14.25,46.04},{81.26,132.31},{ 0.15,43.76},
  {72.47,106.76},{56.79,114.48},{62.51,116.46},{81.77,116.43},
  {51.85,97.14},{ 3.54,52.00},{32.70,74.94},{76.43,122.16},
  {12.18,38.49},{15.36,39.16},{58.26,95.16},{29.44,64.54},
  {93.75,150.38},{70.31,128.57},{81.15,130.25},{13.88,48.89},
  {81.69,136.87},{43.36,89.23},{21.10,65.55},{19.58,79.37},
  {91.65,148.00},{24.99,66.18},{31.87,85.81},{56.29,112.40},
  {88.21,147.29},{22.33,64.84},{22.53,79.66},{51.99,94.99},
  { 6.59,34.02},{48.24,85.97},{70.41,114.25},{38.34,81.24},
  { 6.44,33.60},{ 5.41,33.25},{51.75,98.72},{90.08,135.49},
  {40.41,85.63},{83.66,148.13},{ 5.38,27.20},{ 5.73,50.99},
  {11.53,40.08},{75.78,130.74},{97.21,161.30},{29.40,55.27},
  { 1.30,45.32},{12.27,60.35},{65.49,118.11},{94.36,158.13},
  {94.78,138.61},{ 7.92,44.13},{47.33,96.20},{53.69,99.38},
  {30.54,66.20},{81.97,134.55},{53.62,89.50},{99.42,160.47},
  {78.72,144.06},{77.33,117.77},{ 8.29,60.42},{86.83,143.78},
  {11.67,58.09},{99.68,150.28},{81.97,136.21},{37.15,77.71},
  {65.97,98.75},{32.08,73.30},{60.53,107.95},{85.48,140.53},
  {65.14,126.36},{83.77,142.43},{89.56,130.48},{36.73,92.51},
  {35.15,74.93},{66.35,109.47},{17.59,70.85},{28.01,85.72},
  {40.31,85.83},{83.25,131.21},{36.02,67.59},{91.56,138.43},
  {17.17,65.29},{98.88,139.32},{33.70,78.34},{89.33,145.69},
  { 0.33,38.21},{16.96,37.60},{20.99,66.13},{18.81,49.25},
  {16.59,74.96},{59.25,108.94},{54.31,94.30},{74.72,141.48},
  {96.26,153.00},{33.33,74.83},{93.23,134.26},{76.75,123.18}
};



double residual_error(double xIntercept, double yIntercept, double slope, double c) {
  double e = (slope * xIntercept) + c - yIntercept;
  return e * e;
}
__device__ double d_residual_error(double xIntercept, double yIntercept, double slope, double c) {
  double e = (slope * xIntercept) + c - yIntercept;
  return e * e;
}
double rms_error(double slope, double c) {
  int i;
  double mean;
  double error_sum = 0;
  
  for(i=0; i<n_data; i++) {
    error_sum += residual_error(data[i].xIntercept, data[i].yIntercept, slope, c);  
  }
  
  mean = error_sum / n_data;
  
  return sqrt(mean);
}
__global__ void d_rms_error(double *slope, 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].xIntercept,d_data[i].yIntercept, *slope, *c);
}

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

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



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

	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, //371
hipGetErrorString(error));
exit(1);
}

error=hipMalloc(&d_data,sizeof(data)); //376
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); //401
if(error){
fprintf(stderr,"hipMemcpy to d_data returned %d %s\n",error,
hipGetErrorString(error));
}

for(i=0;i<8;i++){
double h_error_sum_arr[1000];

double error_sum_total;
double error_sum_mean;

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

if(e[i] < best_error){
best_error = e[i];
error_sum_total +=h_error_sum_arr[i];
}
error_sum_mean = error_sum_total /n_data;
e[i] =  sqrt(error_sum_mean); 

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


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

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

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

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


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

clock_gettime(CLOCK_MONOTONIC, &end);
  t_difference(&start, &end, &time_taken);
  printf("Total time taken was %lldns or %0.9lfs\n", time_taken,
                                         (time_taken/1.0e9)); 

return 0;
}

;

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

	.type	end,@object                     # @end
	.globl	end
	.p2align	3, 0x0
end:
	.zero	16
	.size	end, 16

	.type	time_taken,@object              # @time_taken
	.globl	time_taken
	.p2align	3, 0x0
time_taken:
	.quad	0                               # 0x0
	.size	time_taken, 8

	.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	0x4053bf5c28f5c28f              # double 78.989999999999994
	.quad	0x405b00a3d70a3d71              # double 108.01000000000001
	.quad	0x4055428f5c28f5c3              # double 85.040000000000006
	.quad	0x406256b851eb851f              # double 146.71000000000001
	.quad	0x4054a66666666666              # double 82.599999999999994
	.quad	0x4060ea8f5c28f5c3              # double 135.33000000000001
	.quad	0x40507d70a3d70a3d              # double 65.959999999999994
	.quad	0x405cc851eb851eb8              # double 115.13
	.quad	0x4054d47ae147ae14              # double 83.319999999999993
	.quad	0x405ff851eb851eb8              # double 127.88
	.quad	0x40521e147ae147ae              # double 72.469999999999999
	.quad	0x405d6851eb851eb8              # double 117.63
	.quad	0x40527c28f5c28f5c              # double 73.939999999999998
	.quad	0x405ff70a3d70a3d7              # double 127.86
	.quad	0x405101eb851eb852              # double 68.030000000000001
	.quad	0x405df33333333333              # double 119.8
	.quad	0x4050570a3d70a3d7              # double 65.359999999999999
	.quad	0x405a18f5c28f5c29              # double 104.39
	.quad	0x40520d70a3d70a3d              # double 72.209999999999994
	.quad	0x405f433333333333              # double 125.05
	.quad	0x40527a3d70a3d70a              # double 73.909999999999997
	.quad	0x405ca851eb851eb8              # double 114.63
	.quad	0x405133d70a3d70a4              # double 68.810000000000002
	.quad	0x405b470a3d70a3d7              # double 109.11
	.quad	0x4054bd70a3d70a3d              # double 82.959999999999993
	.quad	0x40620a8f5c28f5c3              # double 144.33000000000001
	.quad	0x4052447ae147ae14              # double 73.069999999999993
	.quad	0x4060fd70a3d70a3d              # double 135.91999999999999
	.quad	0x4054d70a3d70a3d7              # double 83.359999999999999
	.quad	0x405e48f5c28f5c29              # double 121.14
	.quad	0x403e51eb851eb852              # double 30.32
	.quad	0x404d08f5c28f5c29              # double 58.07
	.quad	0x405387ae147ae148              # double 78.120000000000005
	.quad	0x40604e147ae147ae              # double 130.44
	.quad	0x4043e00000000000              # double 39.75
	.quad	0x40505c28f5c28f5c              # double 65.439999999999998
	.quad	0x404cc8f5c28f5c29              # double 57.57
	.quad	0x405637ae147ae148              # double 88.870000000000005
	.quad	0x4031828f5c28f5c3              # double 17.510000000000002
	.quad	0x4046b47ae147ae14              # double 45.409999999999997
	.quad	0x4020000000000000              # double 8
	.quad	0x4045800000000000              # double 43
	.quad	0x401d7ae147ae147b              # double 7.3700000000000001
	.quad	0x40429ae147ae147b              # double 37.210000000000001
	.quad	0x403cf5c28f5c28f6              # double 28.960000000000001
	.quad	0x40537eb851eb851f              # double 77.980000000000003
	.quad	0x4043f851eb851eb8              # double 39.939999999999998
	.quad	0x40580f5c28f5c28f              # double 96.239999999999994
	.quad	0x4047a51eb851eb85              # double 47.289999999999999
	.quad	0x405ad70a3d70a3d7              # double 107.36
	.quad	0x4051b851eb851eb8              # double 70.879999999999995
	.quad	0x4059b7ae147ae148              # double 102.87
	.quad	0x40360a3d70a3d70a              # double 22.039999999999999
	.quad	0x405048f5c28f5c29              # double 65.140000000000001
	.quad	0x4030b33333333333              # double 16.699999999999999
	.quad	0x404fb70a3d70a3d7              # double 63.43
	.quad	0x4043b33333333333              # double 39.399999999999999
	.quad	0x4054a9999999999a              # double 82.650000000000006
	.quad	0x404b7c28f5c28f5c              # double 54.969999999999999
	.quad	0x405829999999999a              # double 96.650000000000005
	.quad	0x4053566666666666              # double 77.349999999999994
	.quad	0x405fa851eb851eb8              # double 126.63
	.quad	0x4053d147ae147ae1              # double 79.269999999999996
	.quad	0x4060ef5c28f5c28f              # double 135.47999999999999
	.quad	0x4044f1eb851eb852              # double 41.890000000000001
	.quad	0x40545f5c28f5c28f              # double 81.489999999999994
	.quad	0x4055fe147ae147ae              # double 87.969999999999999
	.quad	0x405fed70a3d70a3d              # double 127.70999999999999
	.quad	0x404cf1eb851eb852              # double 57.890000000000001
	.quad	0x4057a51eb851eb85              # double 94.579999999999998
	.quad	0x403811eb851eb852              # double 24.07
	.quad	0x404f07ae147ae148              # double 62.060000000000002
	.quad	0x402b2e147ae147ae              # double 13.59
	.quad	0x404e2f5c28f5c28f              # double 60.369999999999997
	.quad	0x4052728f5c28f5c3              # double 73.790000000000006
	.quad	0x40601a8f5c28f5c3              # double 128.83000000000001
	.quad	0x4046370a3d70a3d7              # double 44.43
	.quad	0x40534c28f5c28f5c              # double 77.189999999999998
	.quad	0x404c27ae147ae148              # double 56.310000000000002
	.quad	0x405aad70a3d70a3d              # double 106.70999999999999
	.quad	0x4042e51eb851eb85              # double 37.789999999999999
	.quad	0x4055351eb851eb85              # double 84.829999999999998
	.quad	0x40536b851eb851ec              # double 77.680000000000007
	.quad	0x40606428f5c28f5c              # double 131.13
	.quad	0x4046f70a3d70a3d7              # double 45.93
	.quad	0x4058af5c28f5c28f              # double 98.739999999999994
	.quad	0x404d9c28f5c28f5c              # double 59.219999999999999
	.quad	0x405abd70a3d70a3d              # double 106.95999999999999
	.quad	0x401b147ae147ae14              # double 6.7699999999999996
	.quad	0x4046000000000000              # double 44
	.quad	0x404edd70a3d70a3d              # double 61.729999999999997
	.quad	0x4059b33333333333              # double 102.8
	.quad	0x4047f9999999999a              # double 47.950000000000003
	.quad	0x4053b0a3d70a3d71              # double 78.760000000000005
	.quad	0x40459ae147ae147b              # double 43.210000000000001
	.quad	0x40530c28f5c28f5c              # double 76.189999999999998
	.quad	0x40569eb851eb851f              # double 90.480000000000003
	.quad	0x406090f5c28f5c29              # double 132.53
	.quad	0x40448147ae147ae1              # double 41.009999999999998
	.quad	0x4054f3d70a3d70a4              # double 83.810000000000002
	.quad	0x4055f9999999999a              # double 87.900000000000006
	.quad	0x4060300000000000              # double 129.5
	.quad	0x4054951eb851eb85              # double 82.329999999999998
	.quad	0x405faf5c28f5c28f              # double 126.73999999999999
	.quad	0x40551d70a3d70a3d              # double 84.459999999999993
	.quad	0x40637fae147ae148              # double 155.99000000000001
	.quad	0x40493851eb851eb8              # double 50.439999999999998
	.quad	0x40547f5c28f5c28f              # double 81.989999999999994
	.quad	0x40302b851eb851ec              # double 16.170000000000002
	.quad	0x404d6147ae147ae1              # double 58.759999999999998
	.quad	0x4039547ae147ae14              # double 25.329999999999998
	.quad	0x40517a3d70a3d70a              # double 69.909999999999997
	.quad	0x404ea8f5c28f5c29              # double 61.32
	.quad	0x40595d70a3d70a3d              # double 101.45999999999999
	.quad	0x4036028f5c28f5c3              # double 22.010000000000002
	.quad	0x4052b0a3d70a3d71              # double 74.760000000000005
	.quad	0x40538f5c28f5c28f              # double 78.239999999999994
	.quad	0x4060b0f5c28f5c29              # double 133.53
	.quad	0x4053e147ae147ae1              # double 79.519999999999996
	.quad	0x406051eb851eb852              # double 130.56
	.quad	0x404b5d70a3d70a3d              # double 54.729999999999997
	.quad	0x405983d70a3d70a4              # double 102.06
	.quad	0x4035800000000000              # double 21.5
	.quad	0x404783d70a3d70a4              # double 47.030000000000001
	.quad	0x4036d1eb851eb852              # double 22.82
	.quad	0x404f666666666666              # double 62.799999999999997
	.quad	0x40277ae147ae147b              # double 11.74
	.quad	0x404650a3d70a3d71              # double 44.630000000000003
	.quad	0x40509c28f5c28f5c              # double 66.439999999999998
	.quad	0x405d633333333333              # double 117.55
	.quad	0x40588b851eb851ec              # double 98.180000000000007
	.quad	0x4061f570a3d70a3d              # double 143.66999999999999
	.quad	0x4031d70a3d70a3d7              # double 17.84
	.quad	0x404e08f5c28f5c29              # double 60.07
	.quad	0x4054f7ae147ae148              # double 83.870000000000005
	.quad	0x406120a3d70a3d71              # double 137.02000000000001
	.quad	0x4029b851eb851eb8              # double 12.859999999999999
	.quad	0x404e7ae147ae147b              # double 60.960000000000001
	.quad	0x40539f5c28f5c28f              # double 78.489999999999994
	.quad	0x406010f5c28f5c29              # double 128.53
	.quad	0x40440ccccccccccd              # double 40.100000000000001
	.quad	0x405630a3d70a3d71              # double 88.760000000000005
	.quad	0x4019e147ae147ae1              # double 6.4699999999999998
	.quad	0x403f733333333333              # double 31.449999999999999
	.quad	0x404d50a3d70a3d71              # double 58.630000000000003
	.quad	0x40578d70a3d70a3d              # double 94.209999999999993
	.quad	0x405330a3d70a3d71              # double 76.760000000000005
	.quad	0x40610d1eb851eb85              # double 136.41
	.quad	0x403a3851eb851eb8              # double 26.219999999999999
	.quad	0x405271eb851eb852              # double 73.780000000000001
	.quad	0x400051eb851eb852              # double 2.04
	.quad	0x4044d5c28f5c28f6              # double 41.670000000000002
	.quad	0x404b1ae147ae147b              # double 54.210000000000001
	.quad	0x4055e1eb851eb852              # double 87.530000000000001
	.quad	0x4048fae147ae147b              # double 49.960000000000001
	.quad	0x40559ccccccccccd              # double 86.450000000000002
	.quad	0x404e651eb851eb85              # double 60.789999999999999
	.quad	0x4060bb3333333333              # double 133.84999999999999
	.quad	0x402c0f5c28f5c28f              # double 14.029999999999999
	.quad	0x4045b5c28f5c28f6              # double 43.420000000000002
	.quad	0x404acb851eb851ec              # double 53.590000000000003
	.quad	0x405c8e147ae147ae              # double 114.22
	.quad	0x40435c28f5c28f5c              # double 38.719999999999999
	.quad	0x40526eb851eb851f              # double 73.730000000000003
	.quad	0x40508f5c28f5c28f              # double 66.239999999999995
	.quad	0x405d58f5c28f5c29              # double 117.39
	.quad	0x4051e51eb851eb85              # double 71.579999999999998
	.quad	0x405d451eb851eb85              # double 117.08
	.quad	0x4055447ae147ae14              # double 85.069999999999993
	.quad	0x405e5b851eb851ec              # double 121.43000000000001
	.quad	0x4058ba3d70a3d70a              # double 98.909999999999996
	.quad	0x4062d147ae147ae1              # double 150.53999999999999
	.quad	0x4045800000000000              # double 43
	.quad	0x404f59999999999a              # double 62.700000000000003
	.quad	0x4045628f5c28f5c3              # double 42.770000000000003
	.quad	0x40543ae147ae147b              # double 80.920000000000001
	.quad	0x4040f47ae147ae14              # double 33.909999999999997
	.quad	0x40560b851eb851ec              # double 88.180000000000007
	.quad	0x40493ae147ae147b              # double 50.460000000000001
	.quad	0x4055ef5c28f5c28f              # double 87.739999999999994
	.quad	0x405801eb851eb852              # double 96.030000000000001
	.quad	0x4063d4cccccccccd              # double 158.65000000000001
	.quad	0x40504eb851eb851f              # double 65.230000000000004
	.quad	0x4060d1999999999a              # double 134.55000000000001
	.quad	0x404c6b851eb851ec              # double 56.840000000000003
	.quad	0x405dee147ae147ae              # double 119.72
	.quad	0x405558f5c28f5c29              # double 85.39
	.quad	0x40601c7ae147ae14              # double 128.88999999999999
	.quad	0x40510b851eb851ec              # double 68.180000000000007
	.quad	0x405b7851eb851eb8              # double 109.88
	.quad	0x4058928f5c28f5c3              # double 98.290000000000006
	.quad	0x406380f5c28f5c29              # double 156.03
	.quad	0x4057cb851eb851ec              # double 95.180000000000007
	.quad	0x4060f6b851eb851f              # double 135.71000000000001
	.quad	0x4058f147ae147ae1              # double 99.769999999999996
	.quad	0x40627d1eb851eb85              # double 147.91
	.quad	0x40435c28f5c28f5c              # double 38.719999999999999
	.quad	0x40544147ae147ae1              # double 81.019999999999996
	.quad	0x40419d70a3d70a3d              # double 35.229999999999997
	.quad	0x404fc3d70a3d70a4              # double 63.530000000000001
	.quad	0x4031428f5c28f5c3              # double 17.260000000000002
	.quad	0x4047f9999999999a              # double 47.950000000000003
	.quad	0x405470a3d70a3d71              # double 81.760000000000005
	.quad	0x405f69999999999a              # double 125.65000000000001
	.quad	0x4047a00000000000              # double 47.25
	.quad	0x405925c28f5c28f6              # double 100.59
	.quad	0x4057ceb851eb851f              # double 95.230000000000003
	.quad	0x4061afae147ae148              # double 141.49000000000001
	.quad	0x4034000000000000              # double 20
	.quad	0x404b451eb851eb85              # double 54.539999999999999
	.quad	0x40439851eb851eb8              # double 39.189999999999998
	.quad	0x4054466666666666              # double 81.099999999999994
	.quad	0x402ed1eb851eb852              # double 15.41
	.quad	0x4046fae147ae147b              # double 45.960000000000001
	.quad	0x3fe9eb851eb851ec              # double 0.81000000000000005
	.quad	0x4040a8f5c28f5c29              # double 33.32
	.quad	0x3ff8cccccccccccd              # double 1.55
	.quad	0x403551eb851eb852              # double 21.32
	.quad	0x404568f5c28f5c29              # double 42.82
	.quad	0x40568851eb851eb8              # double 90.129999999999995
	.quad	0x4040733333333333              # double 32.899999999999999
	.quad	0x4051f851eb851eb8              # double 71.879999999999995
	.quad	0x4058d00000000000              # double 99.25
	.quad	0x4063d1eb851eb852              # double 158.56
	.quad	0x40549147ae147ae1              # double 82.269999999999996
	.quad	0x405f7147ae147ae1              # double 125.77
	.quad	0x4054a66666666666              # double 82.599999999999994
	.quad	0x4060928f5c28f5c3              # double 132.58000000000001
	.quad	0x403fa3d70a3d70a4              # double 31.640000000000001
	.quad	0x4055af5c28f5c28f              # double 86.739999999999994
	.quad	0x40200a3d70a3d70a              # double 8.0199999999999996
	.quad	0x4044ab851eb851ec              # double 41.340000000000003
	.quad	0x4026000000000000              # double 11
	.quad	0x40406e147ae147ae              # double 32.859999999999999
	.quad	0x404d251eb851eb85              # double 58.289999999999999
	.quad	0x405b470a3d70a3d7              # double 109.11
	.quad	0x403930a3d70a3d71              # double 25.190000000000001
	.quad	0x404b8b851eb851ec              # double 55.090000000000003
	.quad	0x40334ccccccccccd              # double 19.300000000000001
	.quad	0x404f6f5c28f5c28f              # double 62.869999999999997
	.quad	0x4053128f5c28f5c3              # double 76.290000000000006
	.quad	0x4061133333333333              # double 136.59999999999999
	.quad	0x4054c33333333333              # double 83.049999999999997
	.quad	0x4060b70a3d70a3d7              # double 133.72
	.quad	0x4052b51eb851eb85              # double 74.829999999999998
	.quad	0x405e766666666666              # double 121.84999999999999
	.quad	0x4048e66666666666              # double 49.799999999999997
	.quad	0x40553d70a3d70a3d              # double 84.959999999999993
	.quad	0x402ee66666666666              # double 15.449999999999999
	.quad	0x40508eb851eb851f              # double 66.230000000000004
	.quad	0x4047b47ae147ae14              # double 47.409999999999997
	.quad	0x4056500000000000              # double 89.25
	.quad	0x40489ae147ae147b              # double 49.210000000000001
	.quad	0x40558d70a3d70a3d              # double 86.209999999999993
	.quad	0x404e2b851eb851ec              # double 60.340000000000003
	.quad	0x405aa51eb851eb85              # double 106.58
	.quad	0x404235c28f5c28f6              # double 36.420000000000002
	.quad	0x40548ae147ae147b              # double 82.170000000000001
	.quad	0x40309c28f5c28f5c              # double 16.609999999999999
	.quad	0x4047947ae147ae14              # double 47.159999999999997
	.quad	0x404ec28f5c28f5c3              # double 61.520000000000003
	.quad	0x405a4a3d70a3d70a              # double 105.16
	.quad	0x404db851eb851eb8              # double 59.439999999999998
	.quad	0x405969999999999a              # double 101.65000000000001
	.quad	0x4053d851eb851eb8              # double 79.379999999999995
	.quad	0x4060566666666666              # double 130.69999999999999
	.quad	0x4050600000000000              # double 65.5
	.quad	0x405b2ae147ae147b              # double 108.67
	.quad	0x404dbc28f5c28f5c              # double 59.469999999999999
	.quad	0x405c247ae147ae14              # double 112.56999999999999
	.quad	0x4051e33333333333              # double 71.549999999999997
	.quad	0x405e547ae147ae14              # double 121.31999999999999
	.quad	0x405153d70a3d70a4              # double 69.310000000000002
	.quad	0x405955c28f5c28f6              # double 101.34
	.quad	0x404ecb851eb851ec              # double 61.590000000000003
	.quad	0x405a70a3d70a3d71              # double 105.76000000000001
	.quad	0x4052d7ae147ae148              # double 75.370000000000005
	.quad	0x405ee00000000000              # double 123.5
	.quad	0x404dc00000000000              # double 59.5
	.quad	0x405a851eb851eb85              # double 106.08
	.quad	0x4008b851eb851eb8              # double 3.0899999999999999
	.quad	0x4043ce147ae147ae              # double 39.609999999999999
	.quad	0x4054b9999999999a              # double 82.900000000000006
	.quad	0x4062c7ae147ae148              # double 150.24000000000001
	.quad	0x403d3ae147ae147b              # double 29.23
	.quad	0x4050b00000000000              # double 66.75
	.quad	0x403f970a3d70a3d7              # double 31.59
	.quad	0x40518851eb851eb8              # double 70.129999999999995
	.quad	0x40507ccccccccccd              # double 65.950000000000003
	.quad	0x405a63d70a3d70a4              # double 105.56
	.quad	0x40364f5c28f5c28f              # double 22.309999999999999
	.quad	0x404f7d70a3d70a3d              # double 62.979999999999997
	.quad	0x400ab851eb851eb8              # double 3.3399999999999999
	.quad	0x4048a51eb851eb85              # double 49.289999999999999
	.quad	0x4040228f5c28f5c3              # double 32.270000000000003
	.quad	0x4050e1eb851eb852              # double 67.530000000000001
	.quad	0x40510a3d70a3d70a              # double 68.159999999999997
	.quad	0x405a4e147ae147ae              # double 105.22
	.quad	0x401f851eb851eb85              # double 7.8799999999999998
	.quad	0x404cfeb851eb851f              # double 57.990000000000002
	.quad	0x404ae51eb851eb85              # double 53.789999999999999
	.quad	0x40583851eb851eb8              # double 96.879999999999995
	.quad	0x405678f5c28f5c29              # double 89.89
	.quad	0x406363d70a3d70a4              # double 155.12
	.quad	0x4046dd70a3d70a3d              # double 45.729999999999997
	.quad	0x405068f5c28f5c29              # double 65.640000000000001
	.quad	0x40259eb851eb851f              # double 10.81
	.quad	0x4043dc28f5c28f5c              # double 39.719999999999999
	.quad	0x401851eb851eb852              # double 6.0800000000000001
	.quad	0x4041733333333333              # double 34.899999999999999
	.quad	0x4051bccccccccccd              # double 70.950000000000003
	.quad	0x40608a8f5c28f5c3              # double 132.33000000000001
	.quad	0x4044a7ae147ae148              # double 41.310000000000002
	.quad	0x40533e147ae147ae              # double 76.969999999999999
	.quad	0x40557851eb851eb8              # double 85.879999999999995
	.quad	0x406114cccccccccd              # double 136.65000000000001
	.quad	0x405697ae147ae148              # double 90.370000000000005
	.quad	0x40600f5c28f5c28f              # double 128.47999999999999
	.quad	0x402eeb851eb851ec              # double 15.460000000000001
	.quad	0x40508eb851eb851f              # double 66.230000000000004
	.quad	0x40400147ae147ae1              # double 32.009999999999998
	.quad	0x40554851eb851eb8              # double 85.129999999999995
	.quad	0x403e23d70a3d70a4              # double 30.140000000000001
	.quad	0x404c851eb851eb85              # double 57.039999999999999
	.quad	0x4058328f5c28f5c3              # double 96.790000000000006
	.quad	0x406447ae147ae148              # double 162.24000000000001
	.quad	0x4028cccccccccccd              # double 12.4
	.quad	0x4045d0a3d70a3d71              # double 43.630000000000003
	.quad	0x3ffe8f5c28f5c28f              # double 1.9099999999999999
	.quad	0x403c11eb851eb852              # double 28.07
	.quad	0x4050be147ae147ae              # double 66.969999999999999
	.quad	0x405a6851eb851eb8              # double 105.63
	.quad	0x403e8f5c28f5c28f              # double 30.559999999999999
	.quad	0x4053ba3d70a3d70a              # double 78.909999999999997
	.quad	0x405811eb851eb852              # double 96.280000000000001
	.quad	0x4061b947ae147ae1              # double 141.78999999999999
	.quad	0x4041f0a3d70a3d71              # double 35.880000000000003
	.quad	0x4051b0a3d70a3d71              # double 70.760000000000005
	.quad	0x404831eb851eb852              # double 48.390000000000001
	.quad	0x40578d70a3d70a3d              # double 94.209999999999993
	.quad	0x40564b851eb851ec              # double 89.180000000000007
	.quad	0x40619147ae147ae1              # double 140.53999999999999
	.quad	0x401de147ae147ae1              # double 7.4699999999999998
	.quad	0x403ba147ae147ae1              # double 27.629999999999999
	.quad	0x4033ae147ae147ae              # double 19.68
	.quad	0x404895c28f5c28f6              # double 49.170000000000002
	.quad	0x4054233333333333              # double 80.549999999999997
	.quad	0x40630fae147ae148              # double 152.49000000000001
	.quad	0x4048cccccccccccd              # double 49.600000000000001
	.quad	0x405b4e147ae147ae              # double 109.22
	.quad	0x404f3c28f5c28f5c              # double 62.469999999999999
	.quad	0x405cde147ae147ae              # double 115.47
	.quad	0x405725c28f5c28f6              # double 92.590000000000003
	.quad	0x40635f0a3d70a3d7              # double 154.97
	.quad	0x40517eb851eb851f              # double 69.980000000000004
	.quad	0x405f13d70a3d70a4              # double 124.31
	.quad	0x405677ae147ae148              # double 89.870000000000005
	.quad	0x40608428f5c28f5c              # double 132.13
	.quad	0x400028f5c28f5c29              # double 2.02
	.quad	0x403dcf5c28f5c28f              # double 29.809999999999999
	.quad	0x403d8f5c28f5c28f              # double 29.559999999999999
	.quad	0x40526f5c28f5c28f              # double 73.739999999999994
	.quad	0x4055fa3d70a3d70a              # double 87.909999999999997
	.quad	0x406251999999999a              # double 146.55000000000001
	.quad	0x402f428f5c28f5c3              # double 15.630000000000001
	.quad	0x4046f9999999999a              # double 45.950000000000003
	.quad	0x40553eb851eb851f              # double 84.980000000000003
	.quad	0x4061fb3333333333              # double 143.84999999999999
	.quad	0x405568f5c28f5c29              # double 85.64
	.quad	0x406245c28f5c28f6              # double 146.18000000000001
	.quad	0x404b947ae147ae14              # double 55.159999999999997
	.quad	0x4056933333333333              # double 90.299999999999997
	.quad	0x4040747ae147ae14              # double 32.909999999999997
	.quad	0x4054fc28f5c28f5c              # double 83.939999999999998
	.quad	0x404810a3d70a3d71              # double 48.130000000000003
	.quad	0x4052df5c28f5c28f              # double 75.489999999999994
	.quad	0x40446b851eb851ec              # double 40.840000000000003
	.quad	0x40560c28f5c28f5c              # double 88.189999999999998
	.quad	0x404d266666666666              # double 58.299999999999997
	.quad	0x4056b33333333333              # double 90.799999999999997
	.quad	0x4036e3d70a3d70a4              # double 22.890000000000001
	.quad	0x4051770a3d70a3d7              # double 69.859999999999999
	.quad	0x4049dd70a3d70a3d              # double 51.729999999999997
	.quad	0x40588f5c28f5c28f              # double 98.239999999999994
	.quad	0x4058af5c28f5c28f              # double 98.739999999999994
	.quad	0x40603fae147ae148              # double 129.99000000000001
	.quad	0x4058633333333333              # double 97.549999999999997
	.quad	0x4061533333333333              # double 138.59999999999999
	.quad	0x4056a5c28f5c28f6              # double 90.590000000000003
	.quad	0x4060ea8f5c28f5c3              # double 135.33000000000001
	.quad	0x402d428f5c28f5c3              # double 14.630000000000001
	.quad	0x404dcccccccccccd              # double 59.600000000000001
	.quad	0x4054951eb851eb85              # double 82.329999999999998
	.quad	0x4060b28f5c28f5c3              # double 133.58000000000001
	.quad	0x4013851eb851eb85              # double 4.8799999999999999
	.quad	0x4040d851eb851eb8              # double 33.689999999999998
	.quad	0x405173d70a3d70a4              # double 69.810000000000002
	.quad	0x405ceccccccccccd              # double 115.7
	.quad	0x404ac66666666666              # double 53.549999999999997
	.quad	0x4058c70a3d70a3d7              # double 99.109999999999999
	.quad	0x4053833333333333              # double 78.049999999999997
	.quad	0x40609dc28f5c28f6              # double 132.93000000000001
	.quad	0x4051670a3d70a3d7              # double 69.609999999999999
	.quad	0x405f2f5c28f5c28f              # double 124.73999999999999
	.quad	0x40243d70a3d70a3d              # double 10.119999999999999
	.quad	0x4050833333333333              # double 66.049999999999997
	.quad	0x403fb5c28f5c28f6              # double 31.710000000000001
	.quad	0x4051ac28f5c28f5c              # double 70.689999999999998
	.quad	0x4057a7ae147ae148              # double 94.620000000000005
	.quad	0x4064528f5c28f5c3              # double 162.58000000000001
	.quad	0x404e50a3d70a3d71              # double 60.630000000000003
	.quad	0x4058c28f5c28f5c3              # double 99.040000000000006
	.quad	0x40310f5c28f5c28f              # double 17.059999999999999
	.quad	0x405445c28f5c28f6              # double 81.090000000000003
	.quad	0x400e8f5c28f5c28f              # double 3.8199999999999998
	.quad	0x40476f5c28f5c28f              # double 46.869999999999997
	.quad	0x405760a3d70a3d71              # double 93.510000000000005
	.quad	0x4062247ae147ae14              # double 145.13999999999999
	.quad	0x403f6147ae147ae1              # double 31.379999999999999
	.quad	0x40553d70a3d70a3d              # double 84.959999999999993
	.quad	0x40538ccccccccccd              # double 78.200000000000002
	.quad	0x4060a8f5c28f5c29              # double 133.28
	.quad	0x40266147ae147ae1              # double 11.19
	.quad	0x4049866666666666              # double 51.049999999999997
	.quad	0x404f347ae147ae14              # double 62.409999999999997
	.quad	0x405c97ae147ae148              # double 114.37
	.quad	0x405251eb851eb852              # double 73.280000000000001
	.quad	0x405c966666666666              # double 114.34999999999999
	.quad	0x4050b9999999999a              # double 66.900000000000006
	.quad	0x40615570a3d70a3d              # double 138.66999999999999
	.quad	0x4057451eb851eb85              # double 93.079999999999998
	.quad	0x40638c7ae147ae14              # double 156.38999999999999
	.quad	0x4052266666666666              # double 72.599999999999994
	.quad	0x4060833333333333              # double 132.09999999999999
	.quad	0x4058cb851eb851ec              # double 99.180000000000007
	.quad	0x40619428f5c28f5c              # double 140.63
	.quad	0x40434b851eb851ec              # double 38.590000000000003
	.quad	0x40585a3d70a3d70a              # double 97.409999999999996
	.quad	0x403a75c28f5c28f6              # double 26.460000000000001
	.quad	0x404b628f5c28f5c3              # double 54.770000000000003
	.quad	0x40503eb851eb851f              # double 64.980000000000004
	.quad	0x4057d33333333333              # double 95.299999999999997
	.quad	0x400c000000000000              # double 3.5
	.quad	0x403c6b851eb851ec              # double 28.420000000000002
	.quad	0x4051cd70a3d70a3d              # double 71.209999999999994
	.quad	0x405bde147ae147ae              # double 111.47
	.quad	0x404b866666666666              # double 55.049999999999997
	.quad	0x4058b0a3d70a3d71              # double 98.760000000000005
	.quad	0x4052d47ae147ae14              # double 75.319999999999993
	.quad	0x4060a0a3d70a3d71              # double 133.02000000000001
	.quad	0x404b6ccccccccccd              # double 54.850000000000001
	.quad	0x4053beb851eb851f              # double 78.980000000000003
	.quad	0x4050db851eb851ec              # double 67.430000000000007
	.quad	0x405c4d70a3d70a3d              # double 113.20999999999999
	.quad	0x40412147ae147ae1              # double 34.259999999999998
	.quad	0x4055df5c28f5c28f              # double 87.489999999999994
	.quad	0x404128f5c28f5c29              # double 34.32
	.quad	0x404f8147ae147ae1              # double 63.009999999999998
	.quad	0x405665c28f5c28f6              # double 89.590000000000003
	.quad	0x40622b3333333333              # double 145.34999999999999
	.quad	0x404f90a3d70a3d71              # double 63.130000000000003
	.quad	0x405b1d70a3d70a3d              # double 108.45999999999999
	.quad	0x40585b851eb851ec              # double 97.430000000000007
	.quad	0x406293851eb851ec              # double 148.61000000000001
	.quad	0x4057970a3d70a3d7              # double 94.359999999999999
	.quad	0x40619b3333333333              # double 140.84999999999999
	.quad	0x403c2b851eb851ec              # double 28.170000000000002
	.quad	0x405480a3d70a3d71              # double 82.010000000000005
	.quad	0x401c1eb851eb851f              # double 7.0300000000000002
	.quad	0x40439851eb851eb8              # double 39.189999999999998
	.quad	0x404f4f5c28f5c28f              # double 62.619999999999997
	.quad	0x4059d0a3d70a3d71              # double 103.26000000000001
	.quad	0x405653d70a3d70a4              # double 89.310000000000002
	.quad	0x40615b851eb851ec              # double 138.86000000000001
	.quad	0x405038f5c28f5c29              # double 64.890000000000001
	.quad	0x40605f0a3d70a3d7              # double 130.97
	.quad	0x405661eb851eb852              # double 89.530000000000001
	.quad	0x4060bc28f5c28f5c              # double 133.88
	.quad	0x4046ca3d70a3d70a              # double 45.579999999999998
	.quad	0x4059a8f5c28f5c29              # double 102.64
	.quad	0x405678f5c28f5c29              # double 89.89
	.quad	0x4062a6147ae147ae              # double 149.19
	.quad	0x4032970a3d70a3d7              # double 18.59
	.quad	0x404b6ccccccccccd              # double 54.850000000000001
	.quad	0x4050c70a3d70a3d7              # double 67.109999999999999
	.quad	0x405af851eb851eb8              # double 107.88
	.quad	0x4044b1eb851eb852              # double 41.390000000000001
	.quad	0x4051ad70a3d70a3d              # double 70.709999999999994
	.quad	0x4039428f5c28f5c3              # double 25.260000000000002
	.quad	0x4050347ae147ae14              # double 64.819999999999993
	.quad	0x40548147ae147ae1              # double 82.019999999999996
	.quad	0x4063528f5c28f5c3              # double 154.58000000000001
	.quad	0x40368ccccccccccd              # double 22.550000000000001
	.quad	0x404aa66666666666              # double 53.299999999999997
	.quad	0x405419999999999a              # double 80.400000000000006
	.quad	0x40607a8f5c28f5c3              # double 131.83000000000001
	.quad	0x4048ee147ae147ae              # double 49.859999999999999
	.quad	0x40586147ae147ae1              # double 97.519999999999996
	.quad	0x4047828f5c28f5c3              # double 47.020000000000003
	.quad	0x4059d66666666666              # double 103.34999999999999
	.quad	0x4042866666666666              # double 37.049999999999997
	.quad	0x40557eb851eb851f              # double 85.980000000000003
	.quad	0x403ba66666666666              # double 27.649999999999999
	.quad	0x405148f5c28f5c29              # double 69.140000000000001
	.quad	0x4044a8f5c28f5c29              # double 41.32
	.quad	0x4054751eb851eb85              # double 81.829999999999998
	.quad	0x403eca3d70a3d70a              # double 30.789999999999999
	.quad	0x4053728f5c28f5c3              # double 77.790000000000006
	.quad	0x40569851eb851eb8              # double 90.379999999999995
	.quad	0x406061999999999a              # double 131.05000000000001
	.quad	0x40420147ae147ae1              # double 36.009999999999998
	.quad	0x4055df5c28f5c28f              # double 87.489999999999994
	.quad	0x4051cccccccccccd              # double 71.200000000000003
	.quad	0x405d8eb851eb851f              # double 118.23
	.quad	0x404107ae147ae148              # double 34.060000000000002
	.quad	0x4052b5c28f5c28f6              # double 74.840000000000003
	.quad	0x405408f5c28f5c29              # double 80.14
	.quad	0x405a966666666666              # double 106.34999999999999
	.quad	0x403abae147ae147b              # double 26.73
	.quad	0x405027ae147ae148              # double 64.620000000000005
	.quad	0x404b88f5c28f5c29              # double 55.07
	.quad	0x4057ca3d70a3d70a              # double 95.159999999999996
	.quad	0x40387ae147ae147b              # double 24.48
	.quad	0x40502e147ae147ae              # double 64.719999999999999
	.quad	0x402cd70a3d70a3d7              # double 14.42
	.quad	0x4046947ae147ae14              # double 45.159999999999997
	.quad	0x402e75c28f5c28f6              # double 15.23
	.quad	0x404ec8f5c28f5c29              # double 61.57
	.quad	0x4052c00000000000              # double 75
	.quad	0x4060f00000000000              # double 135.5
	.quad	0x404f2e147ae147ae              # double 62.359999999999999
	.quad	0x405d370a3d70a3d7              # double 116.86
	.quad	0x403f6e147ae147ae              # double 31.43
	.quad	0x404eb1eb851eb852              # double 61.390000000000001
	.quad	0x4043e66666666666              # double 39.799999999999997
	.quad	0x4053233333333333              # double 76.549999999999997
	.quad	0x404e466666666666              # double 60.549999999999997
	.quad	0x405bdae147ae147b              # double 111.42
	.quad	0x401a147ae147ae14              # double 6.5199999999999996
	.quad	0x403c451eb851eb85              # double 28.27
	.quad	0x4045cf5c28f5c28f              # double 43.619999999999997
	.quad	0x4053a3d70a3d70a4              # double 78.560000000000002
	.quad	0x402e51eb851eb852              # double 15.16
	.quad	0x404395c28f5c28f6              # double 39.170000000000002
	.quad	0x4054970a3d70a3d7              # double 82.359999999999999
	.quad	0x405ba5c28f5c28f6              # double 110.59
	.quad	0x4005ae147ae147ae              # double 2.71
	.quad	0x404c800000000000              # double 57
	.quad	0x404d07ae147ae148              # double 58.060000000000002
	.quad	0x405c53d70a3d70a4              # double 113.31
	.quad	0x4057a51eb851eb85              # double 94.579999999999998
	.quad	0x406006147ae147ae              # double 128.19
	.quad	0x405741eb851eb852              # double 93.030000000000001
	.quad	0x406226b851eb851f              # double 145.21000000000001
	.quad	0x405740a3d70a3d71              # double 93.010000000000005
	.quad	0x40609ae147ae147b              # double 132.84
	.quad	0x4035a3d70a3d70a4              # double 21.640000000000001
	.quad	0x404ffae147ae147b              # double 63.960000000000001
	.quad	0x4055747ae147ae14              # double 85.819999999999993
	.quad	0x4061cf0a3d70a3d7              # double 142.47
	.quad	0x400c3d70a3d70a3d              # double 3.5299999999999998
	.quad	0x4038ab851eb851ec              # double 24.670000000000002
	.quad	0x40540ae147ae147b              # double 80.170000000000001
	.quad	0x405ef147ae147ae1              # double 123.77
	.quad	0x40483ae147ae147b              # double 48.460000000000001
	.quad	0x405b070a3d70a3d7              # double 108.11
	.quad	0x40529c28f5c28f5c              # double 74.439999999999998
	.quad	0x405fbccccccccccd              # double 126.95
	.quad	0x404fdc28f5c28f5c              # double 63.719999999999999
	.quad	0x4057a66666666666              # double 94.599999999999994
	.quad	0x403d0a3d70a3d70a              # double 29.039999999999999
	.quad	0x405317ae147ae148              # double 76.370000000000005
	.quad	0x4051e33333333333              # double 71.549999999999997
	.quad	0x405ef9999999999a              # double 123.90000000000001
	.quad	0x404afeb851eb851f              # double 53.990000000000002
	.quad	0x405eb47ae147ae14              # double 122.81999999999999
	.quad	0x404491eb851eb852              # double 41.140000000000001
	.quad	0x40560f5c28f5c28f              # double 88.239999999999994
	.quad	0x403e733333333333              # double 30.449999999999999
	.quad	0x4052f33333333333              # double 75.799999999999997
	.quad	0x404e0ccccccccccd              # double 60.100000000000001
	.quad	0x4056751eb851eb85              # double 89.829999999999998
	.quad	0x4048b47ae147ae14              # double 49.409999999999997
	.quad	0x4057f5c28f5c28f6              # double 95.840000000000003
	.quad	0x404fc66666666666              # double 63.549999999999997
	.quad	0x405c79999999999a              # double 113.90000000000001
	.quad	0x4058ab851eb851ec              # double 98.680000000000007
	.quad	0x40628dc28f5c28f6              # double 148.43000000000001
	.quad	0x403d6b851eb851ec              # double 29.420000000000002
	.quad	0x404c87ae147ae148              # double 57.060000000000002
	.quad	0x4053133333333333              # double 76.299999999999997
	.quad	0x40610428f5c28f5c              # double 136.13
	.quad	0x4045d851eb851eb8              # double 43.689999999999998
	.quad	0x4052c0a3d70a3d71              # double 75.010000000000005
	.quad	0x405487ae147ae148              # double 82.120000000000005
	.quad	0x4060c51eb851eb85              # double 134.16
	.quad	0x401e47ae147ae148              # double 7.5700000000000002
	.quad	0x4047d0a3d70a3d71              # double 47.630000000000003
	.quad	0x4053e8f5c28f5c29              # double 79.64
	.quad	0x40606c28f5c28f5c              # double 131.38
	.quad	0x404290a3d70a3d71              # double 37.130000000000003
	.quad	0x4055d3d70a3d70a4              # double 87.310000000000002
	.quad	0x400628f5c28f5c29              # double 2.77
	.quad	0x4047c7ae147ae148              # double 47.560000000000002
	.quad	0x4033147ae147ae14              # double 19.079999999999998
	.quad	0x404be51eb851eb85              # double 55.789999999999999
	.quad	0x403351eb851eb852              # double 19.32
	.quad	0x4050d5c28f5c28f6              # double 67.340000000000003
	.quad	0x4057a00000000000              # double 94.5
	.quad	0x4064728f5c28f5c3              # double 163.58000000000001
	.quad	0x404451eb851eb852              # double 40.640000000000001
	.quad	0x40574f5c28f5c28f              # double 93.239999999999994
	.quad	0x404d75c28f5c28f6              # double 58.920000000000002
	.quad	0x405a7e147ae147ae              # double 105.97
	.quad	0x4058d0a3d70a3d71              # double 99.260000000000005
	.quad	0x4061e7ae147ae148              # double 143.24000000000001
	.quad	0x405458f5c28f5c29              # double 81.39
	.quad	0x405cfc28f5c28f5c              # double 115.94
	.quad	0x402e6b851eb851ec              # double 15.210000000000001
	.quad	0x404acccccccccccd              # double 53.600000000000001
	.quad	0x4031000000000000              # double 17
	.quad	0x404dc3d70a3d70a4              # double 59.530000000000001
	.quad	0x4046a3d70a3d70a4              # double 45.280000000000001
	.quad	0x405771eb851eb852              # double 93.780000000000001
	.quad	0x3ffa147ae147ae14              # double 1.6299999999999999
	.quad	0x40432147ae147ae1              # double 38.259999999999998
	.quad	0x4040170a3d70a3d7              # double 32.18
	.quad	0x404bc3d70a3d70a4              # double 55.530000000000001
	.quad	0x4050347ae147ae14              # double 64.819999999999993
	.quad	0x405cc5c28f5c28f6              # double 115.09
	.quad	0x40507851eb851eb8              # double 65.879999999999995
	.quad	0x405d0f5c28f5c28f              # double 116.23999999999999
	.quad	0x4057f47ae147ae14              # double 95.819999999999993
	.quad	0x4061e28f5c28f5c3              # double 143.08000000000001
	.quad	0x4053e1eb851eb852              # double 79.530000000000001
	.quad	0x40635a3d70a3d70a              # double 154.81999999999999
	.quad	0x4050e1eb851eb852              # double 67.530000000000001
	.quad	0x405d8e147ae147ae              # double 118.22
	.quad	0x4050b1eb851eb852              # double 66.780000000000001
	.quad	0x405f7d70a3d70a3d              # double 125.95999999999999
	.quad	0x404d87ae147ae148              # double 59.060000000000002
	.quad	0x405780a3d70a3d71              # double 94.010000000000005
	.quad	0x40333ae147ae147b              # double 19.23
	.quad	0x4045a28f5c28f5c3              # double 43.270000000000003
	.quad	0x4048e00000000000              # double 49.75
	.quad	0x40542ae147ae147b              # double 80.670000000000001
	.quad	0x405423d70a3d70a4              # double 80.560000000000002
	.quad	0x405fe66666666666              # double 127.59999999999999
	.quad	0x4055c70a3d70a3d7              # double 87.109999999999999
	.quad	0x40619147ae147ae1              # double 140.53999999999999
	.quad	0x403d000000000000              # double 29
	.quad	0x4050333333333333              # double 64.799999999999997
	.quad	0x402f28f5c28f5c29              # double 15.58
	.quad	0x404eb33333333333              # double 61.399999999999999
	.quad	0x402e570a3d70a3d7              # double 15.17
	.quad	0x404aa147ae147ae1              # double 53.259999999999998
	.quad	0x404dd1eb851eb852              # double 59.640000000000001
	.quad	0x405a033333333333              # double 104.05
	.quad	0x40523c28f5c28f5c              # double 72.939999999999998
	.quad	0x405d87ae147ae148              # double 118.12
	.quad	0x4057d00000000000              # double 95.25
	.quad	0x4062fd70a3d70a3d              # double 151.91999999999999
	.quad	0x404b2b851eb851ec              # double 54.340000000000003
	.quad	0x4056e7ae147ae148              # double 91.620000000000005
	.quad	0x404831eb851eb852              # double 48.390000000000001
	.quad	0x40563b851eb851ec              # double 88.930000000000007
	.quad	0x40267ae147ae147b              # double 11.24
	.quad	0x4041d0a3d70a3d71              # double 35.630000000000003
	.quad	0x403a4a3d70a3d70a              # double 26.289999999999999
	.quad	0x404b333333333333              # double 54.399999999999999
	.quad	0x4046bc28f5c28f5c              # double 45.469999999999999
	.quad	0x405951eb851eb852              # double 101.28
	.quad	0x4039ca3d70a3d70a              # double 25.789999999999999
	.quad	0x404ff33333333333              # double 63.899999999999999
	.quad	0x40420e147ae147ae              # double 36.109999999999999
	.quad	0x4052b47ae147ae14              # double 74.819999999999993
	.quad	0x40091eb851eb851f              # double 3.1400000000000001
	.quad	0x404c333333333333              # double 56.399999999999999
	.quad	0x4046570a3d70a3d7              # double 44.68
	.quad	0x4055ce147ae147ae              # double 87.219999999999999
	.quad	0x404c6e147ae147ae              # double 56.859999999999999
	.quad	0x40591b851eb851ec              # double 100.43000000000001
	.quad	0x4041970a3d70a3d7              # double 35.18
	.quad	0x4050ca3d70a3d70a              # double 67.159999999999997
	.quad	0x40443ae147ae147b              # double 40.460000000000001
	.quad	0x4054fc28f5c28f5c              # double 83.939999999999998
	.quad	0x4000e147ae147ae1              # double 2.1099999999999999
	.quad	0x403375c28f5c28f6              # double 19.460000000000001
	.quad	0x40566c28f5c28f5c              # double 89.689999999999998
	.quad	0x4063de6666666666              # double 158.94999999999999
	.quad	0x403f9eb851eb851f              # double 31.620000000000001
	.quad	0x4050f851eb851eb8              # double 67.879999999999995
	.quad	0x40464a3d70a3d70a              # double 44.579999999999998
	.quad	0x40545147ae147ae1              # double 81.269999999999996
	.quad	0x40227ae147ae147b              # double 9.2400000000000002
	.quad	0x40424f5c28f5c28f              # double 36.619999999999997
	.quad	0x403feb851eb851ec              # double 31.920000000000002
	.quad	0x404f170a3d70a3d7              # double 62.18
	.quad	0x40489eb851eb851f              # double 49.240000000000002
	.quad	0x4056c851eb851eb8              # double 91.129999999999995
	.quad	0x402adc28f5c28f5c              # double 13.43
	.quad	0x40437851eb851eb8              # double 38.939999999999998
	.quad	0x4039ee147ae147ae              # double 25.93
	.quad	0x40513ae147ae147b              # double 68.920000000000002
	.quad	0x4057cd70a3d70a3d              # double 95.209999999999993
	.quad	0x4060eb851eb851ec              # double 135.36000000000001
	.quad	0x4052251eb851eb85              # double 72.579999999999998
	.quad	0x406084cccccccccd              # double 132.15000000000001
	.quad	0x4043570a3d70a3d7              # double 38.68
	.quad	0x404e0f5c28f5c28f              # double 60.119999999999997
	.quad	0x4054570a3d70a3d7              # double 81.359999999999999
	.quad	0x40606f0a3d70a3d7              # double 131.47
	.quad	0x4044dae147ae147b              # double 41.710000000000001
	.quad	0x404f8ccccccccccd              # double 63.100000000000001
	.quad	0x4053fc28f5c28f5c              # double 79.939999999999998
	.quad	0x405f7a3d70a3d70a              # double 125.91
	.quad	0x404d4f5c28f5c28f              # double 58.619999999999997
	.quad	0x405a128f5c28f5c3              # double 104.29000000000001
	.quad	0x404d7d70a3d70a3d              # double 58.979999999999997
	.quad	0x4058db851eb851ec              # double 99.430000000000007
	.quad	0x403b0f5c28f5c28f              # double 27.059999999999999
	.quad	0x4054647ae147ae14              # double 81.569999999999993
	.quad	0x4042f33333333333              # double 37.899999999999999
	.quad	0x4051bd70a3d70a3d              # double 70.959999999999994
	.quad	0x401dae147ae147ae              # double 7.4199999999999999
	.quad	0x403d147ae147ae14              # double 29.079999999999998
	.quad	0x403023d70a3d70a4              # double 16.140000000000001
	.quad	0x404db33333333333              # double 59.399999999999999
	.quad	0x4044428f5c28f5c3              # double 40.520000000000003
	.quad	0x405389999999999a              # double 78.150000000000006
	.quad	0x40336e147ae147ae              # double 19.43
	.quad	0x4052bf5c28f5c28f              # double 74.989999999999994
	.quad	0x40486f5c28f5c28f              # double 48.869999999999997
	.quad	0x405600a3d70a3d71              # double 88.010000000000005
	.quad	0x4051870a3d70a3d7              # double 70.109999999999999
	.quad	0x405caeb851eb851f              # double 114.73
	.quad	0x4020428f5c28f5c3              # double 8.1300000000000008
	.quad	0x4048c51eb851eb85              # double 49.539999999999999
	.quad	0x4047ea3d70a3d70a              # double 47.829999999999998
	.quad	0x4058bb851eb851ec              # double 98.930000000000007
	.quad	0x403bf5c28f5c28f6              # double 27.960000000000001
	.quad	0x40486ccccccccccd              # double 48.850000000000001
	.quad	0x403da147ae147ae1              # double 29.629999999999999
	.quad	0x4050833333333333              # double 66.049999999999997
	.quad	0x4044533333333333              # double 40.649999999999999
	.quad	0x405275c28f5c28f6              # double 73.840000000000003
	.quad	0x404b8e147ae147ae              # double 55.109999999999999
	.quad	0x4058e5c28f5c28f6              # double 99.590000000000003
	.quad	0x404e6ccccccccccd              # double 60.850000000000001
	.quad	0x405c970a3d70a3d7              # double 114.36
	.quad	0x40530f5c28f5c28f              # double 76.239999999999994
	.quad	0x405e5eb851eb851f              # double 121.48
	.quad	0x402c5c28f5c28f5c              # double 14.18
	.quad	0x404a3ae147ae147b              # double 52.460000000000001
	.quad	0x4053aa3d70a3d70a              # double 78.659999999999997
	.quad	0x40609b851eb851ec              # double 132.86000000000001
	.quad	0x4036ca3d70a3d70a              # double 22.789999999999999
	.quad	0x404e87ae147ae148              # double 61.060000000000002
	.quad	0x404290a3d70a3d71              # double 37.130000000000003
	.quad	0x4051bd70a3d70a3d              # double 70.959999999999994
	.quad	0x4039051eb851eb85              # double 25.02
	.quad	0x404dbd70a3d70a3d              # double 59.479999999999997
	.quad	0x403a87ae147ae148              # double 26.530000000000001
	.quad	0x4048c8f5c28f5c29              # double 49.57
	.quad	0x404a2f5c28f5c28f              # double 52.369999999999997
	.quad	0x4055b8f5c28f5c29              # double 86.89
	.quad	0x402d000000000000              # double 14.5
	.quad	0x404de7ae147ae148              # double 59.810000000000002
	.quad	0x4023a3d70a3d70a4              # double 9.8200000000000002
	.quad	0x40473eb851eb851f              # double 46.490000000000002
	.quad	0x400028f5c28f5c29              # double 2.02
	.quad	0x403d0a3d70a3d70a              # double 29.039999999999999
	.quad	0x4040c00000000000              # double 33.5
	.quad	0x405500a3d70a3d71              # double 84.010000000000005
	.quad	0x403c2b851eb851ec              # double 28.170000000000002
	.quad	0x40535d70a3d70a3d              # double 77.459999999999993
	.quad	0x4057851eb851eb85              # double 94.079999999999998
	.quad	0x40604bd70a3d70a4              # double 130.37
	.quad	0x404c6147ae147ae1              # double 56.759999999999998
	.quad	0x405da9999999999a              # double 118.65000000000001
	.quad	0x4054ff5c28f5c28f              # double 83.989999999999994
	.quad	0x405f3a3d70a3d70a              # double 124.91
	.quad	0x4056033333333333              # double 88.049999999999997
	.quad	0x4060eae147ae147b              # double 135.34
	.quad	0x40587a3d70a3d70a              # double 97.909999999999996
	.quad	0x40658e6666666666              # double 172.44999999999999
	.quad	0x4038b0a3d70a3d71              # double 24.690000000000001
	.quad	0x404ee147ae147ae1              # double 61.759999999999998
	.quad	0x4040e7ae147ae148              # double 33.810000000000002
	.quad	0x4054f851eb851eb8              # double 83.879999999999995
	.quad	0x4036170a3d70a3d7              # double 22.09
	.quad	0x405001eb851eb852              # double 64.030000000000001
	.quad	0x405681eb851eb852              # double 90.030000000000001
	.quad	0x4062400000000000              # double 146
	.quad	0x4042200000000000              # double 36.25
	.quad	0x4052a47ae147ae14              # double 74.569999999999993
	.quad	0x4028eb851eb851ec              # double 12.460000000000001
	.quad	0x4048d9999999999a              # double 49.700000000000003
	.quad	0x404f47ae147ae148              # double 62.560000000000002
	.quad	0x405877ae147ae148              # double 97.870000000000005
	.quad	0x40309eb851eb851f              # double 16.620000000000001
	.quad	0x404c147ae147ae14              # double 56.159999999999997
	.quad	0x405549999999999a              # double 85.150000000000006
	.quad	0x40616f5c28f5c28f              # double 139.47999999999999
	.quad	0x402f147ae147ae14              # double 15.539999999999999
	.quad	0x4045ae147ae147ae              # double 43.359999999999999
	.quad	0x4048c3d70a3d70a4              # double 49.530000000000001
	.quad	0x405549999999999a              # double 85.150000000000006
	.quad	0x404c55c28f5c28f6              # double 56.670000000000002
	.quad	0x405a8ae147ae147b              # double 106.17
	.quad	0x404f170a3d70a3d7              # double 62.18
	.quad	0x4058270a3d70a3d7              # double 96.609999999999999
	.quad	0x405885c28f5c28f6              # double 98.090000000000003
	.quad	0x40650b3333333333              # double 168.34999999999999
	.quad	0x4052d5c28f5c28f6              # double 75.340000000000003
	.quad	0x405d233333333333              # double 116.55
	.quad	0x4043333333333333              # double 38.399999999999999
	.quad	0x4056170a3d70a3d7              # double 88.359999999999999
	.quad	0x40513ccccccccccd              # double 68.950000000000003
	.quad	0x405c3a3d70a3d70a              # double 112.91
	.quad	0x403975c28f5c28f6              # double 25.460000000000001
	.quad	0x404a933333333333              # double 53.149999999999999
	.quad	0x4022428f5c28f5c3              # double 9.1300000000000008
	.quad	0x404bd851eb851eb8              # double 55.689999999999998
	.quad	0x403bf851eb851eb8              # double 27.969999999999999
	.quad	0x405047ae147ae148              # double 65.120000000000005
	.quad	0x403eee147ae147ae              # double 30.93
	.quad	0x404ff5c28f5c28f6              # double 63.920000000000002
	.quad	0x40488f5c28f5c28f              # double 49.119999999999997
	.quad	0x405638f5c28f5c29              # double 88.89
	.quad	0x4044fae147ae147b              # double 41.960000000000001
	.quad	0x4059ce147ae147ae              # double 103.22
	.quad	0x4058c8f5c28f5c29              # double 99.14
	.quad	0x40639d70a3d70a3d              # double 156.91999999999999
	.quad	0x40471c28f5c28f5c              # double 46.219999999999999
	.quad	0x4056bae147ae147b              # double 90.920000000000001
	.quad	0x404d651eb851eb85              # double 58.789999999999999
	.quad	0x4059ea3d70a3d70a              # double 103.66
	.quad	0x40043d70a3d70a3d              # double 2.5299999999999998
	.quad	0x403beb851eb851ec              # double 27.920000000000002
	.quad	0x4052d51eb851eb85              # double 75.329999999999998
	.quad	0x40600fae147ae148              # double 128.49000000000001
	.quad	0x4054866666666666              # double 82.099999999999994
	.quad	0x4062a8a3d70a3d71              # double 149.27000000000001
	.quad	0x405058f5c28f5c29              # double 65.390000000000001
	.quad	0x405a0851eb851eb8              # double 104.13
	.quad	0x3ffd99999999999a              # double 1.8500000000000001
	.quad	0x4041fc28f5c28f5c              # double 35.969999999999999
	.quad	0x405071eb851eb852              # double 65.780000000000001
	.quad	0x405e133333333333              # double 120.3
	.quad	0x403dae147ae147ae              # double 29.68
	.quad	0x4052c7ae147ae148              # double 75.120000000000005
	.quad	0x40506f5c28f5c28f              # double 65.739999999999995
	.quad	0x4059f9999999999a              # double 103.90000000000001
	.quad	0x4058e28f5c28f5c3              # double 99.540000000000006
	.quad	0x40642947ae147ae1              # double 161.28999999999999
	.quad	0x402d0a3d70a3d70a              # double 14.52
	.quad	0x404cd0a3d70a3d71              # double 57.630000000000003
	.quad	0x4047bc28f5c28f5c              # double 47.469999999999999
	.quad	0x4053b147ae147ae1              # double 78.769999999999996
	.quad	0x401fcccccccccccd              # double 7.9500000000000001
	.quad	0x40413ae147ae147b              # double 34.460000000000001
	.quad	0x4056b47ae147ae14              # double 90.819999999999993
	.quad	0x406362e147ae147b              # double 155.09
	.quad	0x4051e5c28f5c28f6              # double 71.590000000000003
	.quad	0x4060bccccccccccd              # double 133.90000000000001
	.quad	0x40565f5c28f5c28f              # double 89.489999999999994
	.quad	0x4063247ae147ae14              # double 153.13999999999999
	.quad	0x404cf70a3d70a3d7              # double 57.93
	.quad	0x405d11eb851eb852              # double 116.28
	.quad	0x4047feb851eb851f              # double 47.990000000000002
	.quad	0x405290a3d70a3d71              # double 74.260000000000005
	.quad	0x403470a3d70a3d71              # double 20.440000000000001
	.quad	0x404d7d70a3d70a3d              # double 58.979999999999997
	.quad	0x4052628f5c28f5c3              # double 73.540000000000006
	.quad	0x405c4eb851eb851f              # double 113.23
	.quad	0x403ed70a3d70a3d7              # double 30.84
	.quad	0x40527851eb851eb8              # double 73.879999999999995
	.quad	0x401ba3d70a3d70a4              # double 6.9100000000000001
	.quad	0x404d4b851eb851ec              # double 58.590000000000003
	.quad	0x3ffca3d70a3d70a4              # double 1.79
	.quad	0x402feb851eb851ec              # double 15.960000000000001
	.quad	0x4046beb851eb851f              # double 45.490000000000002
	.quad	0x4055f28f5c28f5c3              # double 87.790000000000006
	.quad	0x40567e147ae147ae              # double 89.969999999999999
	.quad	0x40626ae147ae147b              # double 147.34
	.quad	0x404ce147ae147ae1              # double 57.759999999999998
	.quad	0x405d3851eb851eb8              # double 116.88
	.quad	0x3fcd70a3d70a3d71              # double 0.23000000000000001
	.quad	0x4045e28f5c28f5c3              # double 43.770000000000003
	.quad	0x4026f0a3d70a3d71              # double 11.470000000000001
	.quad	0x4041cf5c28f5c28f              # double 35.619999999999997
	.quad	0x4015d70a3d70a3d7              # double 5.46
	.quad	0x4049147ae147ae14              # double 50.159999999999997
	.quad	0x404115c28f5c28f6              # double 34.170000000000002
	.quad	0x4053a3d70a3d70a4              # double 78.560000000000002
	.quad	0x405628f5c28f5c29              # double 88.64
	.quad	0x40616bd70a3d70a4              # double 139.37
	.quad	0x404b8b851eb851ec              # double 55.090000000000003
	.quad	0x405c2e147ae147ae              # double 112.72
	.quad	0x404343d70a3d70a4              # double 38.530000000000001
	.quad	0x4055a9999999999a              # double 86.650000000000006
	.quad	0x4058547ae147ae14              # double 97.319999999999993
	.quad	0x40636570a3d70a3d              # double 155.16999999999999
	.quad	0x4052500000000000              # double 73.25
	.quad	0x405cd851eb851eb8              # double 115.38
	.quad	0x403735c28f5c28f6              # double 23.210000000000001
	.quad	0x404d600000000000              # double 58.75
	.quad	0x40558851eb851eb8              # double 86.129999999999995
	.quad	0x406001999999999a              # double 128.05000000000001
	.quad	0x40568ccccccccccd              # double 90.200000000000002
	.quad	0x4060af5c28f5c28f              # double 133.47999999999999
	.quad	0x4044147ae147ae14              # double 40.159999999999997
	.quad	0x4051100000000000              # double 68.25
	.quad	0x404e9851eb851eb8              # double 61.189999999999998
	.quad	0x405d4851eb851eb8              # double 117.13
	.quad	0x404583d70a3d70a4              # double 43.030000000000001
	.quad	0x40579147ae147ae1              # double 94.269999999999996
	.quad	0x40451c28f5c28f5c              # double 42.219999999999999
	.quad	0x405727ae147ae148              # double 92.620000000000005
	.quad	0x4057800000000000              # double 94
	.quad	0x40624ae147ae147b              # double 146.34
	.quad	0x40515ae147ae147b              # double 69.420000000000002
	.quad	0x405d200000000000              # double 116.5
	.quad	0x405609999999999a              # double 88.150000000000006
	.quad	0x40631fae147ae148              # double 152.99000000000001
	.quad	0x4051500000000000              # double 69.25
	.quad	0x405cb1eb851eb852              # double 114.78
	.quad	0x4024ae147ae147ae              # double 10.34
	.quad	0x4042dd70a3d70a3d              # double 37.729999999999997
	.quad	0x4054fae147ae147b              # double 83.920000000000001
	.quad	0x40628b3333333333              # double 148.34999999999999
	.quad	0x401b333333333333              # double 6.7999999999999998
	.quad	0x404395c28f5c28f6              # double 39.170000000000002
	.quad	0x4039fd70a3d70a3d              # double 25.989999999999998
	.quad	0x40527147ae147ae1              # double 73.769999999999996
	.quad	0x404783d70a3d70a4              # double 47.030000000000001
	.quad	0x40581c28f5c28f5c              # double 96.439999999999998
	.quad	0x40586e147ae147ae              # double 97.719999999999998
	.quad	0x405c83d70a3d70a4              # double 114.06
	.quad	0x402b428f5c28f5c3              # double 13.630000000000001
	.quad	0x404a87ae147ae148              # double 53.060000000000002
	.quad	0x4055c28f5c28f5c3              # double 87.040000000000006
	.quad	0x4062523d70a3d70a              # double 146.56999999999999
	.quad	0x4050d70a3d70a3d7              # double 67.359999999999999
	.quad	0x405bc851eb851eb8              # double 111.13
	.quad	0x4053370a3d70a3d7              # double 76.859999999999999
	.quad	0x406140f5c28f5c29              # double 138.03
	.quad	0x403068f5c28f5c29              # double 16.41
	.quad	0x40517d70a3d70a3d              # double 69.959999999999994
	.quad	0x404bce147ae147ae              # double 55.609999999999999
	.quad	0x405a4eb851eb851f              # double 105.23
	.quad	0x40548d70a3d70a3d              # double 82.209999999999993
	.quad	0x4060e147ae147ae1              # double 135.03999999999999
	.quad	0x404f6147ae147ae1              # double 62.759999999999998
	.quad	0x405961eb851eb852              # double 101.53
	.quad	0x400cf5c28f5c28f6              # double 3.6200000000000001
	.quad	0x404e0a3d70a3d70a              # double 60.079999999999998
	.quad	0x4056bccccccccccd              # double 90.950000000000002
	.quad	0x4061b7ae147ae148              # double 141.74000000000001
	.quad	0x405138f5c28f5c29              # double 68.890000000000001
	.quad	0x4059ff5c28f5c28f              # double 103.98999999999999
	.quad	0x40469ae147ae147b              # double 45.210000000000001
	.quad	0x4058ab851eb851ec              # double 98.680000000000007
	.quad	0x400ae147ae147ae1              # double 3.3599999999999999
	.quad	0x4041266666666666              # double 34.299999999999997
	.quad	0x402e000000000000              # double 15
	.quad	0x404cfae147ae147b              # double 57.960000000000001
	.quad	0x400af5c28f5c28f6              # double 3.3700000000000001
	.quad	0x4048ce147ae147ae              # double 49.609999999999999
	.quad	0x403cd47ae147ae14              # double 28.829999999999998
	.quad	0x4051e33333333333              # double 71.549999999999997
	.quad	0x403be8f5c28f5c29              # double 27.91
	.quad	0x404d71eb851eb852              # double 58.890000000000001
	.quad	0x4046bd70a3d70a3d              # double 45.479999999999997
	.quad	0x4052fe147ae147ae              # double 75.969999999999999
	.quad	0x40502ccccccccccd              # double 64.700000000000003
	.quad	0x405bc28f5c28f5c3              # double 111.04000000000001
	.quad	0x4050251eb851eb85              # double 64.579999999999998
	.quad	0x40599eb851eb851f              # double 102.48
	.quad	0x404edc28f5c28f5c              # double 61.719999999999999
	.quad	0x405d10a3d70a3d71              # double 116.26000000000001
	.quad	0x40447c28f5c28f5c              # double 40.969999999999999
	.quad	0x404e051eb851eb85              # double 60.039999999999999
	.quad	0x404079999999999a              # double 32.950000000000003
	.quad	0x40558c28f5c28f5c              # double 86.189999999999998
	.quad	0x405668f5c28f5c29              # double 89.64
	.quad	0x40628a3d70a3d70a              # double 148.31999999999999
	.quad	0x4052770a3d70a3d7              # double 73.859999999999999
	.quad	0x405d8ae147ae147b              # double 118.17
	.quad	0x403e30a3d70a3d71              # double 30.190000000000001
	.quad	0x40542f5c28f5c28f              # double 80.739999999999994
	.quad	0x405307ae147ae148              # double 76.120000000000005
	.quad	0x405c100000000000              # double 112.25
	.quad	0x404a03d70a3d70a4              # double 52.030000000000001
	.quad	0x4056966666666666              # double 90.349999999999994
	.quad	0x402dcccccccccccd              # double 14.9
	.quad	0x404e6a3d70a3d70a              # double 60.829999999999998
	.quad	0x404e8147ae147ae1              # double 61.009999999999998
	.quad	0x405d4a3d70a3d70a              # double 117.16
	.quad	0x3fd999999999999a              # double 0.40000000000000002
	.quad	0x4042c8f5c28f5c29              # double 37.57
	.quad	0x40367851eb851eb8              # double 22.469999999999999
	.quad	0x40521a3d70a3d70a              # double 72.409999999999997
	.quad	0x404d0a3d70a3d70a              # double 58.079999999999998
	.quad	0x4054270a3d70a3d7              # double 80.609999999999999
	.quad	0x4046b0a3d70a3d71              # double 45.380000000000003
	.quad	0x4054370a3d70a3d7              # double 80.859999999999999
	.quad	0x40453c28f5c28f5c              # double 42.469999999999999
	.quad	0x4057e70a3d70a3d7              # double 95.609999999999999
	.quad	0x4052e00000000000              # double 75.5
	.quad	0x405ef00000000000              # double 123.75
	.quad	0x4040accccccccccd              # double 33.350000000000001
	.quad	0x404d000000000000              # double 58
	.quad	0x4056270a3d70a3d7              # double 88.609999999999999
	.quad	0x406290a3d70a3d71              # double 148.52000000000001
	.quad	0x404f1eb851eb851f              # double 62.240000000000002
	.quad	0x405f80a3d70a3d71              # double 126.01000000000001
	.quad	0x4058366666666666              # double 96.849999999999994
	.quad	0x4062e851eb851eb8              # double 151.25999999999999
	.quad	0x404943d70a3d70a4              # double 50.530000000000001
	.quad	0x40577a3d70a3d70a              # double 93.909999999999996
	.quad	0x4052d66666666666              # double 75.349999999999994
	.quad	0x405f733333333333              # double 125.8
	.quad	0x4058a8f5c28f5c29              # double 98.64
	.quad	0x4061d33333333333              # double 142.59999999999999
	.quad	0x404ee00000000000              # double 61.75
	.quad	0x405f633333333333              # double 125.55
	.quad	0x402fbd70a3d70a3d              # double 15.869999999999999
	.quad	0x404e51eb851eb852              # double 60.640000000000001
	.quad	0x4055cae147ae147b              # double 87.170000000000001
	.quad	0x4063470a3d70a3d7              # double 154.22
	.quad	0x4050a28f5c28f5c3              # double 66.540000000000006
	.quad	0x405ac0a3d70a3d71              # double 107.01000000000001
	.quad	0x4056170a3d70a3d7              # double 88.359999999999999
	.quad	0x4062bccccccccccd              # double 149.90000000000001
	.quad	0x4049933333333333              # double 51.149999999999999
	.quad	0x405928f5c28f5c29              # double 100.64
	.quad	0x404f947ae147ae14              # double 63.159999999999997
	.quad	0x405b0ccccccccccd              # double 108.2
	.quad	0x4031fd70a3d70a3d              # double 17.989999999999998
	.quad	0x40472a3d70a3d70a              # double 46.329999999999998
	.quad	0x402fc28f5c28f5c3              # double 15.880000000000001
	.quad	0x404e8b851eb851ec              # double 61.090000000000003
	.quad	0x404f1ae147ae147b              # double 62.210000000000001
	.quad	0x4058bf5c28f5c28f              # double 98.989999999999994
	.quad	0x403391eb851eb852              # double 19.57
	.quad	0x4046c147ae147ae1              # double 45.509999999999998
	.quad	0x404ec7ae147ae148              # double 61.560000000000002
	.quad	0x405b451eb851eb85              # double 109.08
	.quad	0x4055bc28f5c28f5c              # double 86.939999999999998
	.quad	0x4060cf5c28f5c28f              # double 134.47999999999999
	.quad	0x403b570a3d70a3d7              # double 27.34
	.quad	0x40496147ae147ae1              # double 50.759999999999998
	.quad	0x4052bd70a3d70a3d              # double 74.959999999999993
	.quad	0x405b19999999999a              # double 108.40000000000001
	.quad	0x40529147ae147ae1              # double 74.269999999999996
	.quad	0x4060570a3d70a3d7              # double 130.72
	.quad	0x404759999999999a              # double 46.700000000000003
	.quad	0x405648f5c28f5c29              # double 89.14
	.quad	0x40100a3d70a3d70a              # double 4.0099999999999998
	.quad	0x403d7d70a3d70a3d              # double 29.489999999999998
	.quad	0x3fffae147ae147ae              # double 1.98
	.quad	0x403cc51eb851eb85              # double 28.77
	.quad	0x404e1ae147ae147b              # double 60.210000000000001
	.quad	0x405685c28f5c28f6              # double 90.090000000000003
	.quad	0x404b2f5c28f5c28f              # double 54.369999999999997
	.quad	0x4059233333333333              # double 100.55
	.quad	0x4057dd70a3d70a3d              # double 95.459999999999993
	.quad	0x4062dc7ae147ae14              # double 150.88999999999999
	.quad	0x404b1c28f5c28f5c              # double 54.219999999999999
	.quad	0x4056ef5c28f5c28f              # double 91.739999999999994
	.quad	0x4035828f5c28f5c3              # double 21.510000000000002
	.quad	0x404c370a3d70a3d7              # double 56.43
	.quad	0x402bae147ae147ae              # double 13.84
	.quad	0x405081eb851eb852              # double 66.030000000000001
	.quad	0x4028428f5c28f5c3              # double 12.130000000000001
	.quad	0x4043bd70a3d70a3d              # double 39.479999999999997
	.quad	0x40539e147ae147ae              # double 78.469999999999999
	.quad	0x405ebf5c28f5c28f              # double 122.98999999999999
	.quad	0x404cd33333333333              # double 57.649999999999999
	.quad	0x405a770a3d70a3d7              # double 105.86
	.quad	0x40218a3d70a3d70a              # double 8.7699999999999996
	.quad	0x403afd70a3d70a3d              # double 26.989999999999998
	.quad	0x402e6b851eb851ec              # double 15.210000000000001
	.quad	0x40492b851eb851ec              # double 50.340000000000003
	.quad	0x401551eb851eb852              # double 5.3300000000000001
	.quad	0x40497851eb851eb8              # double 50.939999999999998
	.quad	0x404f466666666666              # double 62.549999999999997
	.quad	0x405bb1eb851eb852              # double 110.78
	.quad	0x401ea3d70a3d70a4              # double 7.6600000000000001
	.quad	0x404d1d70a3d70a3d              # double 58.229999999999997
	.quad	0x404f55c28f5c28f6              # double 62.670000000000002
	.quad	0x405821eb851eb852              # double 96.530000000000001
	.quad	0x405898f5c28f5c29              # double 98.39
	.quad	0x40616851eb851eb8              # double 139.25999999999999
	.quad	0x404ff0a3d70a3d71              # double 63.880000000000003
	.quad	0x405d451eb851eb85              # double 117.08
	.quad	0x4036000000000000              # double 22
	.quad	0x40500e147ae147ae              # double 64.219999999999999
	.quad	0x40539eb851eb851f              # double 78.480000000000003
	.quad	0x406313d70a3d70a4              # double 152.62
	.quad	0x405368f5c28f5c29              # double 77.64
	.quad	0x4060c0a3d70a3d71              # double 134.02000000000001
	.quad	0x4054c28f5c28f5c3              # double 83.040000000000006
	.quad	0x4060851eb851eb85              # double 132.16
	.quad	0x40426e147ae147ae              # double 36.859999999999999
	.quad	0x405980a3d70a3d71              # double 102.01000000000001
	.quad	0x404d133333333333              # double 58.149999999999999
	.quad	0x405be0a3d70a3d71              # double 111.51000000000001
	.quad	0x4022a8f5c28f5c29              # double 9.3300000000000001
	.quad	0x40491d70a3d70a3d              # double 50.229999999999997
	.quad	0x405301eb851eb852              # double 76.030000000000001
	.quad	0x406097ae147ae148              # double 132.74000000000001
	.quad	0x3ff35c28f5c28f5c              # double 1.21
	.quad	0x40473851eb851eb8              # double 46.439999999999998
	.quad	0x40581851eb851eb8              # double 96.379999999999995
	.quad	0x4062e47ae147ae14              # double 151.13999999999999
	.quad	0x40467851eb851eb8              # double 44.939999999999998
	.quad	0x4053f851eb851eb8              # double 79.879999999999995
	.quad	0x403b11eb851eb852              # double 27.07
	.quad	0x40510f5c28f5c28f              # double 68.239999999999995
	.quad	0x403b51eb851eb852              # double 27.32
	.quad	0x40542ccccccccccd              # double 80.700000000000002
	.quad	0x40416ccccccccccd              # double 34.850000000000001
	.quad	0x4051ca3d70a3d70a              # double 71.159999999999997
	.quad	0x405788f5c28f5c29              # double 94.14
	.quad	0x4060a00000000000              # double 133
	.quad	0x4053728f5c28f5c3              # double 77.790000000000006
	.quad	0x4060747ae147ae14              # double 131.63999999999999
	.quad	0x4052e66666666666              # double 75.599999999999994
	.quad	0x40613051eb851eb8              # double 137.50999999999999
	.quad	0x404a03d70a3d70a4              # double 52.030000000000001
	.quad	0x4057fe147ae147ae              # double 95.969999999999998
	.quad	0x40512a3d70a3d70a              # double 68.659999999999997
	.quad	0x4059f8f5c28f5c29              # double 103.89
	.quad	0x404208f5c28f5c29              # double 36.07
	.quad	0x4054cb851eb851ec              # double 83.180000000000007
	.quad	0x40396b851eb851ec              # double 25.420000000000002
	.quad	0x4051333333333333              # double 68.799999999999997
	.quad	0x404530a3d70a3d71              # double 42.380000000000003
	.quad	0x4052af5c28f5c28f              # double 74.739999999999994
	.quad	0x4051266666666666              # double 68.599999999999994
	.quad	0x4061cc28f5c28f5c              # double 142.38
	.quad	0x4053470a3d70a3d7              # double 77.109999999999999
	.quad	0x40616d70a3d70a3d              # double 139.41999999999999
	.quad	0x405375c28f5c28f6              # double 77.840000000000003
	.quad	0x40612a3d70a3d70a              # double 137.31999999999999
	.quad	0x4041400000000000              # double 34.5
	.quad	0x4050c51eb851eb85              # double 67.079999999999998
	.quad	0x4044feb851eb851f              # double 41.990000000000002
	.quad	0x4051ab851eb851ec              # double 70.680000000000007
	.quad	0x404ddc28f5c28f5c              # double 59.719999999999999
	.quad	0x405c8eb851eb851f              # double 114.23
	.quad	0x4031fd70a3d70a3d              # double 17.989999999999998
	.quad	0x404548f5c28f5c29              # double 42.57
	.quad	0x404975c28f5c28f6              # double 50.920000000000002
	.quad	0x405acc28f5c28f5c              # double 107.19
	.quad	0x4057651eb851eb85              # double 93.579999999999998
	.quad	0x4063feb851eb851f              # double 159.96000000000001
	.quad	0x4050d851eb851eb8              # double 67.379999999999995
	.quad	0x4059c1eb851eb852              # double 103.03
	.quad	0x403b75c28f5c28f6              # double 27.460000000000001
	.quad	0x40521b851eb851ec              # double 72.430000000000007
	.quad	0x4032051eb851eb85              # double 18.02
	.quad	0x404e5eb851eb851f              # double 60.740000000000002
	.quad	0x40401c28f5c28f5c              # double 32.219999999999999
	.quad	0x40571ae147ae147b              # double 92.420000000000001
	.quad	0x4052466666666666              # double 73.099999999999994
	.quad	0x405e03d70a3d70a4              # double 120.06
	.quad	0x4040851eb851eb85              # double 33.039999999999999
	.quad	0x40530f5c28f5c28f              # double 76.239999999999994
	.quad	0x403e4a3d70a3d70a              # double 30.289999999999999
	.quad	0x40531ccccccccccd              # double 76.450000000000002
	.quad	0x404fce147ae147ae              # double 63.609999999999999
	.quad	0x405de47ae147ae14              # double 119.56999999999999
	.quad	0x404fcccccccccccd              # double 63.600000000000001
	.quad	0x405c7c28f5c28f5c              # double 113.94
	.quad	0x404c19999999999a              # double 56.200000000000003
	.quad	0x4055028f5c28f5c3              # double 84.040000000000006
	.quad	0x4057d851eb851eb8              # double 95.379999999999995
	.quad	0x4060efae147ae148              # double 135.49000000000001
	.quad	0x40507d70a3d70a3d              # double 65.959999999999994
	.quad	0x405f60a3d70a3d71              # double 125.51000000000001
	.quad	0x401deb851eb851ec              # double 7.4800000000000004
	.quad	0x4040147ae147ae14              # double 32.159999999999997
	.quad	0x4056dccccccccccd              # double 91.450000000000002
	.quad	0x40633c7ae147ae14              # double 153.88999999999999
	.quad	0x402da3d70a3d70a4              # double 14.82
	.quad	0x404a5d70a3d70a3d              # double 52.729999999999997
	.quad	0x4027dc28f5c28f5c              # double 11.93
	.quad	0x40467d70a3d70a3d              # double 44.979999999999997
	.quad	0x4033a66666666666              # double 19.649999999999999
	.quad	0x404cd9999999999a              # double 57.700000000000003
	.quad	0x404ba7ae147ae148              # double 55.310000000000002
	.quad	0x405648f5c28f5c29              # double 89.14
	.quad	0x4012666666666666              # double 4.5999999999999996
	.quad	0x4045466666666666              # double 42.549999999999997
	.quad	0x40359eb851eb851f              # double 21.620000000000001
	.quad	0x4048d851eb851eb8              # double 49.689999999999998
	.quad	0x404d2e147ae147ae              # double 58.359999999999999
	.quad	0x4057e33333333333              # double 95.549999999999997
	.quad	0x402c570a3d70a3d7              # double 14.17
	.quad	0x40511c28f5c28f5c              # double 68.439999999999998
	.quad	0x4055728f5c28f5c3              # double 85.790000000000006
	.quad	0x4062923d70a3d70a              # double 148.56999999999999
	.quad	0x3ffca3d70a3d70a4              # double 1.79
	.quad	0x403d7851eb851eb8              # double 29.469999999999999
	.quad	0x404959999999999a              # double 50.700000000000003
	.quad	0x40572147ae147ae1              # double 92.519999999999996
	.quad	0x3ffd99999999999a              # double 1.8500000000000001
	.quad	0x40426ccccccccccd              # double 36.850000000000001
	.quad	0x4053dae147ae147b              # double 79.420000000000001
	.quad	0x4061351eb851eb85              # double 137.66
	.quad	0x40331c28f5c28f5c              # double 19.109999999999999
	.quad	0x4049770a3d70a3d7              # double 50.93
	.quad	0x404e8b851eb851ec              # double 61.090000000000003
	.quad	0x405b333333333333              # double 108.8
	.quad	0x405140a3d70a3d71              # double 69.010000000000005
	.quad	0x4060200000000000              # double 129
	.quad	0x40573eb851eb851f              # double 92.980000000000003
	.quad	0x406246b851eb851f              # double 146.21000000000001
	.quad	0x4056d70a3d70a3d7              # double 91.359999999999999
	.quad	0x40624147ae147ae1              # double 146.03999999999999
	.quad	0x4045ef5c28f5c28f              # double 43.869999999999997
	.quad	0x40597c28f5c28f5c              # double 101.94
	.quad	0x4054df5c28f5c28f              # double 83.489999999999994
	.quad	0x406032e147ae147b              # double 129.59
	.quad	0x4051f28f5c28f5c3              # double 71.790000000000006
	.quad	0x405b500000000000              # double 109.25
	.quad	0x4031e3d70a3d70a4              # double 17.890000000000001
	.quad	0x40476e147ae147ae              # double 46.859999999999999
	.quad	0x40457ae147ae147b              # double 42.960000000000001
	.quad	0x405b9eb851eb851f              # double 110.48
	.quad	0x404c5ae147ae147b              # double 56.710000000000001
	.quad	0x405bd33333333333              # double 111.3
	.quad	0x402d0a3d70a3d70a              # double 14.52
	.quad	0x4047f5c28f5c28f6              # double 47.920000000000002
	.quad	0x4052c9999999999a              # double 75.150000000000006
	.quad	0x4061bfae147ae148              # double 141.99000000000001
	.quad	0x4045b70a3d70a3d7              # double 43.43
	.quad	0x4052b9999999999a              # double 74.900000000000006
	.quad	0x403ba8f5c28f5c29              # double 27.66
	.quad	0x404de147ae147ae1              # double 59.759999999999998
	.quad	0x4049f47ae147ae14              # double 51.909999999999997
	.quad	0x405a69999999999a              # double 105.65000000000001
	.quad	0x40442a3d70a3d70a              # double 40.329999999999998
	.quad	0x40566147ae147ae1              # double 89.519999999999996
	.quad	0x403391eb851eb852              # double 19.57
	.quad	0x4043beb851eb851f              # double 39.490000000000002
	.quad	0x404127ae147ae148              # double 34.310000000000002
	.quad	0x4050d8f5c28f5c29              # double 67.390000000000001
	.quad	0x4057f9999999999a              # double 95.900000000000005
	.quad	0x40664147ae147ae1              # double 178.03999999999999
	.quad	0x40462147ae147ae1              # double 44.259999999999998
	.quad	0x405498f5c28f5c29              # double 82.39
	.quad	0x403c170a3d70a3d7              # double 28.09
	.quad	0x40504147ae147ae1              # double 65.019999999999996
	.quad	0x402619999999999a              # double 11.050000000000001
	.quad	0x40466ccccccccccd              # double 44.850000000000001
	.quad	0x4043b33333333333              # double 39.399999999999999
	.quad	0x4056747ae147ae14              # double 89.819999999999993
	.quad	0x4019b851eb851eb8              # double 6.4299999999999997
	.quad	0x4048c66666666666              # double 49.549999999999997
	.quad	0x4041c7ae147ae148              # double 35.560000000000002
	.quad	0x4053747ae147ae14              # double 77.819999999999993
	.quad	0x4035a66666666666              # double 21.649999999999999
	.quad	0x40506d70a3d70a3d              # double 65.709999999999994
	.quad	0x404c99999999999a              # double 57.200000000000003
	.quad	0x405a4ae147ae147b              # double 105.17
	.quad	0x401b47ae147ae148              # double 6.8200000000000003
	.quad	0x4042628f5c28f5c3              # double 36.770000000000003
	.quad	0x40457ae147ae147b              # double 42.960000000000001
	.quad	0x4055747ae147ae14              # double 85.819999999999993
	.quad	0x4049628f5c28f5c3              # double 50.770000000000003
	.quad	0x4058866666666666              # double 98.099999999999994
	.quad	0x40459851eb851eb8              # double 43.189999999999998
	.quad	0x4051f70a3d70a3d7              # double 71.859999999999999
	.quad	0x4050f1eb851eb852              # double 67.780000000000001
	.quad	0x405c48f5c28f5c29              # double 113.14
	.quad	0x40588e147ae147ae              # double 98.219999999999998
	.quad	0x4063a75c28f5c28f              # double 157.22999999999999
	.quad	0x404f70a3d70a3d71              # double 62.880000000000003
	.quad	0x4059400000000000              # double 101
	.quad	0x4040dc28f5c28f5c              # double 33.719999999999999
	.quad	0x405351eb851eb852              # double 77.280000000000001
	.quad	0x40529851eb851eb8              # double 74.379999999999995
	.quad	0x405e37ae147ae148              # double 120.87
	.quad	0x4030733333333333              # double 16.449999999999999
	.quad	0x40514e147ae147ae              # double 69.219999999999999
	.quad	0x401599999999999a              # double 5.4000000000000004
	.quad	0x40439851eb851eb8              # double 39.189999999999998
	.quad	0x40522eb851eb851f              # double 72.730000000000004
	.quad	0x40610e6666666666              # double 136.44999999999999
	.quad	0x404855c28f5c28f6              # double 48.670000000000002
	.quad	0x405b351eb851eb85              # double 108.83
	.quad	0x4007333333333333              # double 2.8999999999999999
	.quad	0x404655c28f5c28f6              # double 44.670000000000002
	.quad	0x4054fb851eb851ec              # double 83.930000000000007
	.quad	0x40609e147ae147ae              # double 132.94
	.quad	0x403a6b851eb851ec              # double 26.420000000000002
	.quad	0x404f10a3d70a3d71              # double 62.130000000000003
	.quad	0x4055466666666666              # double 85.099999999999994
	.quad	0x406357ae147ae148              # double 154.74000000000001
	.quad	0x40551ae147ae147b              # double 84.420000000000001
	.quad	0x405f0b851eb851ec              # double 124.18000000000001
	.quad	0x403ee3d70a3d70a4              # double 30.890000000000001
	.quad	0x4053f00000000000              # double 79.75
	.quad	0x40408ccccccccccd              # double 33.100000000000001
	.quad	0x40541d70a3d70a3d              # double 80.459999999999993
	.quad	0x403dd1eb851eb852              # double 29.82
	.quad	0x405110a3d70a3d71              # double 68.260000000000005
	.quad	0x404315c28f5c28f6              # double 38.170000000000002
	.quad	0x4051e851eb851eb8              # double 71.629999999999995
	.quad	0x40517a3d70a3d70a              # double 69.909999999999997
	.quad	0x405d19999999999a              # double 116.40000000000001
	.quad	0x402bcccccccccccd              # double 13.9
	.quad	0x404ef33333333333              # double 61.899999999999999
	.quad	0x4053b0a3d70a3d71              # double 78.760000000000005
	.quad	0x405dae147ae147ae              # double 118.72
	.quad	0x405500a3d70a3d71              # double 84.010000000000005
	.quad	0x405fce147ae147ae              # double 127.22
	.quad	0x404299999999999a              # double 37.200000000000003
	.quad	0x4053b33333333333              # double 78.799999999999997
	.quad	0x4056cae147ae147b              # double 91.170000000000001
	.quad	0x40625bd70a3d70a4              # double 146.87
	.quad	0x40444f5c28f5c28f              # double 40.619999999999997
	.quad	0x40558c28f5c28f5c              # double 86.189999999999998
	.quad	0x404dc7ae147ae148              # double 59.560000000000002
	.quad	0x405a0a3d70a3d70a              # double 104.16
	.quad	0x402b8a3d70a3d70a              # double 13.77
	.quad	0x404d11eb851eb852              # double 58.140000000000001
	.quad	0x40533eb851eb851f              # double 76.980000000000003
	.quad	0x405eef5c28f5c28f              # double 123.73999999999999
	.quad	0x4024a3d70a3d70a4              # double 10.32
	.quad	0x404d75c28f5c28f6              # double 58.920000000000002
	.quad	0x404710a3d70a3d71              # double 46.130000000000003
	.quad	0x40592ae147ae147b              # double 100.67
	.quad	0x40405ae147ae147b              # double 32.710000000000001
	.quad	0x4053b33333333333              # double 78.799999999999997
	.quad	0x400251eb851eb852              # double 2.29
	.quad	0x4041d1eb851eb852              # double 35.640000000000001
	.quad	0x4048533333333333              # double 48.649999999999999
	.quad	0x405a35c28f5c28f6              # double 104.84
	.quad	0x4051fb851eb851ec              # double 71.930000000000007
	.quad	0x405db5c28f5c28f6              # double 118.84
	.quad	0x4050e1eb851eb852              # double 67.530000000000001
	.quad	0x405b9e147ae147ae              # double 110.47
	.quad	0x40544b851eb851ec              # double 81.180000000000007
	.quad	0x405dce147ae147ae              # double 119.22
	.quad	0x4016ae147ae147ae              # double 5.6699999999999999
	.quad	0x404211eb851eb852              # double 36.140000000000001
	.quad	0x40476147ae147ae1              # double 46.759999999999998
	.quad	0x405765c28f5c28f6              # double 93.590000000000003
	.quad	0x4054aeb851eb851f              # double 82.730000000000003
	.quad	0x40610e147ae147ae              # double 136.44
	.quad	0x404ac66666666666              # double 53.549999999999997
	.quad	0x40562ccccccccccd              # double 88.700000000000002
	.quad	0x4022bd70a3d70a3d              # double 9.3699999999999992
	.quad	0x403b0a3d70a3d70a              # double 27.039999999999999
	.quad	0x4057e66666666666              # double 95.599999999999994
	.quad	0x4060b33333333333              # double 133.59999999999999
	.quad	0x4055beb851eb851f              # double 86.980000000000003
	.quad	0x40615a8f5c28f5c3              # double 138.83000000000001
	.quad	0x4054766666666666              # double 81.849999999999994
	.quad	0x40607e147ae147ae              # double 131.94
	.quad	0x404690a3d70a3d71              # double 45.130000000000003
	.quad	0x4058847ae147ae14              # double 98.069999999999993
	.quad	0x4051f0a3d70a3d71              # double 71.760000000000005
	.quad	0x405d8851eb851eb8              # double 118.13
	.quad	0x40130a3d70a3d70a              # double 4.7599999999999998
	.quad	0x404330a3d70a3d71              # double 38.380000000000003
	.quad	0x4056e8f5c28f5c29              # double 91.64
	.quad	0x406480a3d70a3d71              # double 164.02000000000001
	.quad	0x4058370a3d70a3d7              # double 96.859999999999999
	.quad	0x4064533333333333              # double 162.59999999999999
	.quad	0x40480f5c28f5c28f              # double 48.119999999999997
	.quad	0x4057b147ae147ae1              # double 94.769999999999996
	.quad	0x4019cccccccccccd              # double 6.4500000000000002
	.quad	0x404695c28f5c28f6              # double 45.170000000000002
	.quad	0x4046266666666666              # double 44.299999999999997
	.quad	0x4056a147ae147ae1              # double 90.519999999999996
	.quad	0x4056766666666666              # double 89.849999999999994
	.quad	0x4061afae147ae148              # double 141.49000000000001
	.quad	0x4039400000000000              # double 25.25
	.quad	0x404c800000000000              # double 57
	.quad	0x4046e147ae147ae1              # double 45.759999999999998
	.quad	0x40588ae147ae147b              # double 98.170000000000001
	.quad	0x404cab851eb851ec              # double 57.340000000000003
	.quad	0x405888f5c28f5c29              # double 98.14
	.quad	0x40576c28f5c28f5c              # double 93.689999999999998
	.quad	0x4061c28f5c28f5c3              # double 142.08000000000001
	.quad	0x4029fae147ae147b              # double 12.99
	.quad	0x4042770a3d70a3d7              # double 36.93
	.quad	0x4047fc28f5c28f5c              # double 47.969999999999999
	.quad	0x4054b147ae147ae1              # double 82.769999999999996
	.quad	0x40117ae147ae147b              # double 4.3700000000000001
	.quad	0x40422ccccccccccd              # double 36.350000000000001
	.quad	0x40502851eb851eb8              # double 64.629999999999995
	.quad	0x405c400000000000              # double 113
	.quad	0x402abd70a3d70a3d              # double 13.369999999999999
	.quad	0x4042dc28f5c28f5c              # double 37.719999999999999
	.quad	0x402dc28f5c28f5c3              # double 14.880000000000001
	.quad	0x404610a3d70a3d71              # double 44.130000000000003
	.quad	0x402e000000000000              # double 15
	.quad	0x40527eb851eb851f              # double 73.980000000000003
	.quad	0x401bc28f5c28f5c3              # double 6.9400000000000004
	.quad	0x40481eb851eb851f              # double 48.240000000000002
	.quad	0x40565c28f5c28f5c              # double 89.439999999999998
	.quad	0x4062bae147ae147b              # double 149.84
	.quad	0x404651eb851eb852              # double 44.640000000000001
	.quad	0x4052d5c28f5c28f6              # double 75.340000000000003
	.quad	0x4057366666666666              # double 92.849999999999994
	.quad	0x4063deb851eb851f              # double 158.96000000000001
	.quad	0x40515f5c28f5c28f              # double 69.489999999999995
	.quad	0x405c1ae147ae147b              # double 112.42
	.quad	0x4036b5c28f5c28f6              # double 22.710000000000001
	.quad	0x404e970a3d70a3d7              # double 61.18
	.quad	0x4018c28f5c28f5c3              # double 6.1900000000000004
	.quad	0x4045747ae147ae14              # double 42.909999999999997
	.quad	0x40371eb851eb851f              # double 23.120000000000001
	.quad	0x4052100000000000              # double 72.25
	.quad	0x405679999999999a              # double 89.900000000000006
	.quad	0x40608ccccccccccd              # double 132.40000000000001
	.quad	0x402e47ae147ae148              # double 15.140000000000001
	.quad	0x4044147ae147ae14              # double 40.159999999999997
	.quad	0x4056d28f5c28f5c3              # double 91.290000000000006
	.quad	0x40606dc28f5c28f6              # double 131.43000000000001
	.quad	0x4048e3d70a3d70a4              # double 49.780000000000001
	.quad	0x405808f5c28f5c29              # double 96.14
	.quad	0x3ff2666666666666              # double 1.1499999999999999
	.quad	0x403eee147ae147ae              # double 30.93
	.quad	0x403b4ccccccccccd              # double 27.300000000000001
	.quad	0x404930a3d70a3d71              # double 50.380000000000003
	.quad	0x4058000000000000              # double 96
	.quad	0x40613b3333333333              # double 137.84999999999999
	.quad	0x402aae147ae147ae              # double 13.34
	.quad	0x4046aa3d70a3d70a              # double 45.329999999999998
	.quad	0x4051070a3d70a3d7              # double 68.109999999999999
	.quad	0x405d4851eb851eb8              # double 117.13
	.quad	0x4056b00000000000              # double 90.75
	.quad	0x40614c28f5c28f5c              # double 138.38
	.quad	0x4045347ae147ae14              # double 42.409999999999997
	.quad	0x4053d9999999999a              # double 79.400000000000006
	.quad	0x402999999999999a              # double 12.800000000000001
	.quad	0x404b71eb851eb852              # double 54.890000000000001
	.quad	0x40543ccccccccccd              # double 80.950000000000002
	.quad	0x405ec9999999999a              # double 123.15000000000001
	.quad	0x404c466666666666              # double 56.549999999999997
	.quad	0x40526147ae147ae1              # double 73.519999999999996
	.quad	0x3ff4000000000000              # double 1.25
	.quad	0x4045000000000000              # double 42
	.quad	0x402f3851eb851eb8              # double 15.609999999999999
	.quad	0x404483d70a3d70a4              # double 41.030000000000001
	.quad	0x40341c28f5c28f5c              # double 20.109999999999999
	.quad	0x4050bd70a3d70a3d              # double 66.959999999999994
	.quad	0x4042c147ae147ae1              # double 37.509999999999998
	.quad	0x4054dae147ae147b              # double 83.420000000000001
	.quad	0x404f1eb851eb851f              # double 62.240000000000002
	.quad	0x405a1147ae147ae1              # double 104.27
	.quad	0x4051f33333333333              # double 71.799999999999997
	.quad	0x405bf8f5c28f5c29              # double 111.89
	.quad	0x404a08f5c28f5c29              # double 52.07
	.quad	0x4055ce147ae147ae              # double 87.219999999999999
	.quad	0x405873d70a3d70a4              # double 97.810000000000002
	.quad	0x4062c28f5c28f5c3              # double 150.08000000000001
	.quad	0x40294ccccccccccd              # double 12.65
	.quad	0x405029999999999a              # double 64.650000000000006
	.quad	0x40509eb851eb851f              # double 66.480000000000004
	.quad	0x405ccc28f5c28f5c              # double 115.19
	.quad	0x403f333333333333              # double 31.199999999999999
	.quad	0x404f1851eb851eb8              # double 62.189999999999998
	.quad	0x40345eb851eb851f              # double 20.370000000000001
	.quad	0x405367ae147ae148              # double 77.620000000000005
	.quad	0x405781eb851eb852              # double 94.030000000000001
	.quad	0x4061c51eb851eb85              # double 142.16
	.quad	0x40300a3d70a3d70a              # double 16.039999999999999
	.quad	0x4047dd70a3d70a3d              # double 47.729999999999997
	.quad	0x4058666666666666              # double 97.599999999999994
	.quad	0x406287ae147ae148              # double 148.24000000000001
	.quad	0x40581d70a3d70a3d              # double 96.459999999999993
	.quad	0x406261999999999a              # double 147.05000000000001
	.quad	0x403f87ae147ae148              # double 31.530000000000001
	.quad	0x40488b851eb851ec              # double 49.090000000000003
	.quad	0x401499999999999a              # double 5.1500000000000004
	.quad	0x404a19999999999a              # double 52.200000000000003
	.quad	0x40552851eb851eb8              # double 84.629999999999995
	.quad	0x40616e6666666666              # double 139.44999999999999
	.quad	0x40342147ae147ae1              # double 20.129999999999999
	.quad	0x404abeb851eb851f              # double 53.490000000000002
	.quad	0x40566f5c28f5c28f              # double 89.739999999999994
	.quad	0x406281eb851eb852              # double 148.06
	.quad	0x4052ff5c28f5c28f              # double 75.989999999999994
	.quad	0x405a228f5c28f5c3              # double 104.54000000000001
	.quad	0x40402ccccccccccd              # double 32.350000000000001
	.quad	0x404b1eb851eb851f              # double 54.240000000000002
	.quad	0x40430ccccccccccd              # double 38.100000000000001
	.quad	0x4050e70a3d70a3d7              # double 67.609999999999999
	.quad	0x4030eb851eb851ec              # double 16.920000000000002
	.quad	0x4050647ae147ae14              # double 65.569999999999993
	.quad	0x40300a3d70a3d70a              # double 16.039999999999999
	.quad	0x403c4a3d70a3d70a              # double 28.289999999999999
	.quad	0x404ca7ae147ae148              # double 57.310000000000002
	.quad	0x4052ea3d70a3d70a              # double 75.659999999999997
	.quad	0x4053e1eb851eb852              # double 79.530000000000001
	.quad	0x4061e75c28f5c28f              # double 143.22999999999999
	.quad	0x40564ccccccccccd              # double 89.200000000000002
	.quad	0x406143851eb851ec              # double 138.11000000000001
	.quad	0x40560e147ae147ae              # double 88.219999999999999
	.quad	0x406074cccccccccd              # double 131.65000000000001
	.quad	0x403bbae147ae147b              # double 27.73
	.quad	0x4053300000000000              # double 76.75
	.quad	0x4051f1eb851eb852              # double 71.780000000000001
	.quad	0x406181999999999a              # double 140.05000000000001
	.quad	0x404b95c28f5c28f6              # double 55.170000000000002
	.quad	0x40565ccccccccccd              # double 89.450000000000002
	.quad	0x4050251eb851eb85              # double 64.579999999999998
	.quad	0x405c4eb851eb851f              # double 113.23
	.quad	0x4004000000000000              # double 2.5
	.quad	0x403d3851eb851eb8              # double 29.219999999999999
	.quad	0x40545a3d70a3d70a              # double 81.409999999999997
	.quad	0x405f1851eb851eb8              # double 124.38
	.quad	0x405318f5c28f5c29              # double 76.39
	.quad	0x4060280000000000              # double 129.25
	.quad	0x4052828f5c28f5c3              # double 74.040000000000006
	.quad	0x405ed00000000000              # double 123.25
	.quad	0x4047666666666666              # double 46.799999999999997
	.quad	0x4056300000000000              # double 88.75
	.quad	0x40580eb851eb851f              # double 96.230000000000003
	.quad	0x4062166666666666              # double 144.69999999999999
	.quad	0x4010333333333333              # double 4.0499999999999998
	.quad	0x4042e3d70a3d70a4              # double 37.780000000000001
	.quad	0x4010eb851eb851ec              # double 4.2300000000000004
	.quad	0x403a28f5c28f5c29              # double 26.16
	.quad	0x401e147ae147ae14              # double 7.5199999999999996
	.quad	0x40414b851eb851ec              # double 34.590000000000003
	.quad	0x40391eb851eb851f              # double 25.120000000000001
	.quad	0x405135c28f5c28f6              # double 68.840000000000003
	.quad	0x4053f8f5c28f5c29              # double 79.89
	.quad	0x4061a23d70a3d70a              # double 141.06999999999999
	.quad	0x40326147ae147ae1              # double 18.379999999999999
	.quad	0x4044a51eb851eb85              # double 41.289999999999999
	.quad	0x403391eb851eb852              # double 19.57
	.quad	0x404dca3d70a3d70a              # double 59.579999999999998
	.quad	0x4058ee147ae147ae              # double 99.719999999999998
	.quad	0x406120f5c28f5c29              # double 137.03
	.quad	0x4057e3d70a3d70a4              # double 95.560000000000002
	.quad	0x40622ccccccccccd              # double 145.40000000000001
	.quad	0x404808f5c28f5c29              # double 48.07
	.quad	0x4058eccccccccccd              # double 99.700000000000002
	.quad	0x4050e147ae147ae1              # double 67.519999999999996
	.quad	0x405edae147ae147b              # double 123.42
	.quad	0x40510147ae147ae1              # double 68.019999999999996
	.quad	0x40608c7ae147ae14              # double 132.38999999999999
	.quad	0x40454a3d70a3d70a              # double 42.579999999999998
	.quad	0x40516d70a3d70a3d              # double 69.709999999999994
	.quad	0x4052333333333333              # double 72.799999999999997
	.quad	0x405a88f5c28f5c29              # double 106.14
	.quad	0x4054f47ae147ae14              # double 83.819999999999993
	.quad	0x4060c28f5c28f5c3              # double 134.08000000000001
	.quad	0x3ffca3d70a3d70a4              # double 1.79
	.quad	0x404727ae147ae148              # double 46.310000000000002
	.quad	0x4047a3d70a3d70a4              # double 47.280000000000001
	.quad	0x4059e851eb851eb8              # double 103.63
	.quad	0x403beb851eb851ec              # double 27.920000000000002
	.quad	0x40530851eb851eb8              # double 76.129999999999995
	.quad	0x4045d851eb851eb8              # double 43.689999999999998
	.quad	0x4055170a3d70a3d7              # double 84.359999999999999
	.quad	0x4045666666666666              # double 42.799999999999997
	.quad	0x405581eb851eb852              # double 86.030000000000001
	.quad	0x4052fb851eb851ec              # double 75.930000000000007
	.quad	0x4060a80000000000              # double 133.25
	.quad	0x4056ceb851eb851f              # double 91.230000000000003
	.quad	0x40606428f5c28f5c              # double 131.13
	.quad	0x403ca8f5c28f5c29              # double 28.66
	.quad	0x4051447ae147ae14              # double 69.069999999999993
	.quad	0x4024d70a3d70a3d7              # double 10.42
	.quad	0x404d9d70a3d70a3d              # double 59.229999999999997
	.quad	0x4047a00000000000              # double 47.25
	.quad	0x405c833333333333              # double 114.05
	.quad	0x4023f0a3d70a3d71              # double 9.9700000000000006
	.quad	0x40497eb851eb851f              # double 50.990000000000002
	.quad	0x402c4ccccccccccd              # double 14.15
	.quad	0x4044af5c28f5c28f              # double 41.369999999999997
	.quad	0x4049f9999999999a              # double 51.950000000000003
	.quad	0x4059b1eb851eb852              # double 102.78
	.quad	0x4057300000000000              # double 92.75
	.quad	0x406252e147ae147b              # double 146.59
	.quad	0x404bb47ae147ae14              # double 55.409999999999997
	.quad	0x4059db851eb851ec              # double 103.43000000000001
	.quad	0x4000000000000000              # double 2
	.quad	0x4045c66666666666              # double 43.549999999999997
	.quad	0x404c9ae147ae147b              # double 57.210000000000001
	.quad	0x405bb70a3d70a3d7              # double 110.86
	.quad	0x4045cccccccccccd              # double 43.600000000000001
	.quad	0x405550a3d70a3d71              # double 85.260000000000005
	.quad	0x4052a51eb851eb85              # double 74.579999999999998
	.quad	0x405e41eb851eb852              # double 121.03
	.quad	0x4054c851eb851eb8              # double 83.129999999999995
	.quad	0x4061b28f5c28f5c3              # double 141.58000000000001
	.quad	0x404f8f5c28f5c28f              # double 63.119999999999997
	.quad	0x405add70a3d70a3d              # double 107.45999999999999
	.quad	0x404d1ae147ae147b              # double 58.210000000000001
	.quad	0x405d3f5c28f5c28f              # double 116.98999999999999
	.quad	0x4055ab851eb851ec              # double 86.680000000000007
	.quad	0x40608dc28f5c28f6              # double 132.43000000000001
	.quad	0x4050e8f5c28f5c29              # double 67.640000000000001
	.quad	0x405cca3d70a3d70a              # double 115.16
	.quad	0x4058851eb851eb85              # double 98.079999999999998
	.quad	0x406227ae147ae148              # double 145.24000000000001
	.quad	0x4051d8f5c28f5c29              # double 71.390000000000001
	.quad	0x40611051eb851eb8              # double 136.50999999999999
	.quad	0x4017c28f5c28f5c3              # double 5.9400000000000004
	.quad	0x404451eb851eb852              # double 40.640000000000001
	.quad	0x4053866666666666              # double 78.099999999999994
	.quad	0x40610c28f5c28f5c              # double 136.38
	.quad	0x4055fccccccccccd              # double 87.950000000000002
	.quad	0x4062700000000000              # double 147.5
	.quad	0x404eaf5c28f5c28f              # double 61.369999999999997
	.quad	0x40581a3d70a3d70a              # double 96.409999999999996
	.quad	0x4039bd70a3d70a3d              # double 25.739999999999998
	.quad	0x405341eb851eb852              # double 77.030000000000001
	.quad	0x40526b851eb851ec              # double 73.680000000000007
	.quad	0x405f15c28f5c28f6              # double 124.34
	.quad	0x40228f5c28f5c28f              # double 9.2799999999999994
	.quad	0x404afae147ae147b              # double 53.960000000000001
	.quad	0x404870a3d70a3d71              # double 48.880000000000003
	.quad	0x405afc28f5c28f5c              # double 107.94
	.quad	0x404a666666666666              # double 52.799999999999997
	.quad	0x4056feb851eb851f              # double 91.980000000000003
	.quad	0x405387ae147ae148              # double 78.120000000000005
	.quad	0x405fd00000000000              # double 127.25
	.quad	0x4042beb851eb851f              # double 37.490000000000002
	.quad	0x40521d70a3d70a3d              # double 72.459999999999994
	.quad	0x405325c28f5c28f6              # double 76.590000000000003
	.quad	0x406063d70a3d70a4              # double 131.12
	.quad	0x4035d47ae147ae14              # double 21.829999999999998
	.quad	0x404d9eb851eb851f              # double 59.240000000000002
	.quad	0x4030bd70a3d70a3d              # double 16.739999999999998
	.quad	0x4052f9999999999a              # double 75.900000000000006
	.quad	0x4056847ae147ae14              # double 90.069999999999993
	.quad	0x4061c23d70a3d70a              # double 142.06999999999999
	.quad	0x404f6a3d70a3d70a              # double 62.829999999999998
	.quad	0x405e2f5c28f5c28f              # double 120.73999999999999
	.quad	0x405095c28f5c28f6              # double 66.340000000000003
	.quad	0x405a966666666666              # double 106.34999999999999
	.quad	0x40503d70a3d70a3d              # double 64.959999999999994
	.quad	0x405d85c28f5c28f6              # double 118.09
	.quad	0x405238f5c28f5c29              # double 72.890000000000001
	.quad	0x405b98f5c28f5c29              # double 110.39
	.quad	0x4058c28f5c28f5c3              # double 99.040000000000006
	.quad	0x4062680000000000              # double 147.25
	.quad	0x4055670a3d70a3d7              # double 85.609999999999999
	.quad	0x4063333333333333              # double 153.59999999999999
	.quad	0x40537eb851eb851f              # double 77.980000000000003
	.quad	0x4062b28f5c28f5c3              # double 149.58000000000001
	.quad	0x405715c28f5c28f6              # double 92.340000000000003
	.quad	0x4061f1eb851eb852              # double 143.56
	.quad	0x404c428f5c28f5c3              # double 56.520000000000003
	.quad	0x405a8b851eb851ec              # double 106.18000000000001
	.quad	0x40552ccccccccccd              # double 84.700000000000002
	.quad	0x40629ae147ae147b              # double 148.84
	.quad	0x4057aeb851eb851f              # double 94.730000000000003
	.quad	0x406271eb851eb852              # double 147.56
	.quad	0x4050e66666666666              # double 67.599999999999994
	.quad	0x405ea51eb851eb85              # double 122.58
	.quad	0x403c6b851eb851ec              # double 28.420000000000002
	.quad	0x4052b851eb851eb8              # double 74.879999999999995
	.quad	0x4050fa3d70a3d70a              # double 67.909999999999997
	.quad	0x405a29999999999a              # double 104.65000000000001
	.quad	0x404307ae147ae148              # double 38.060000000000002
	.quad	0x4053a147ae147ae1              # double 78.519999999999996
	.quad	0x402a19999999999a              # double 13.050000000000001
	.quad	0x404f5ae147ae147b              # double 62.710000000000001
	.quad	0x4051fc28f5c28f5c              # double 71.939999999999998
	.quad	0x4060100000000000              # double 128.5
	.quad	0x4057c28f5c28f5c3              # double 95.040000000000006
	.quad	0x4062bb851eb851ec              # double 149.86000000000001
	.quad	0x40528147ae147ae1              # double 74.019999999999996
	.quad	0x4060a1eb851eb852              # double 133.06
	.quad	0x4054e0a3d70a3d71              # double 83.510000000000005
	.quad	0x4062475c28f5c28f              # double 146.22999999999999
	.quad	0x3ffe666666666666              # double 1.8999999999999999
	.quad	0x403a7d70a3d70a3d              # double 26.489999999999998
	.quad	0x4044bae147ae147b              # double 41.460000000000001
	.quad	0x40565147ae147ae1              # double 89.269999999999996
	.quad	0x404fa28f5c28f5c3              # double 63.270000000000003
	.quad	0x405c01eb851eb852              # double 112.03
	.quad	0x404f8147ae147ae1              # double 63.009999999999998
	.quad	0x405d5c28f5c28f5c              # double 117.44
	.quad	0x4055d8f5c28f5c29              # double 87.39
	.quad	0x4061accccccccccd              # double 141.40000000000001
	.quad	0x404090a3d70a3d71              # double 33.130000000000003
	.quad	0x4054eeb851eb851f              # double 83.730000000000003
	.quad	0x404e466666666666              # double 60.549999999999997
	.quad	0x405aed70a3d70a3d              # double 107.70999999999999
	.quad	0x403a2147ae147ae1              # double 26.129999999999999
	.quad	0x4051eae147ae147b              # double 71.670000000000002
	.quad	0x401c3d70a3d70a3d              # double 7.0599999999999996
	.quad	0x40473851eb851eb8              # double 46.439999999999998
	.quad	0x405119999999999a              # double 68.400000000000006
	.quad	0x405ec66666666666              # double 123.09999999999999
	.quad	0x4054328f5c28f5c3              # double 80.790000000000006
	.quad	0x405f4d70a3d70a3d              # double 125.20999999999999
	.quad	0x4057bae147ae147b              # double 94.920000000000001
	.quad	0x40617bd70a3d70a4              # double 139.87
	.quad	0x4039400000000000              # double 25.25
	.quad	0x405460a3d70a3d71              # double 81.510000000000005
	.quad	0x404495c28f5c28f6              # double 41.170000000000002
	.quad	0x4055aa3d70a3d70a              # double 86.659999999999997
	.quad	0x404b933333333333              # double 55.149999999999999
	.quad	0x4057e00000000000              # double 95.5
	.quad	0x40407eb851eb851f              # double 32.990000000000002
	.quad	0x4051066666666666              # double 68.099999999999994
	.quad	0x4054d5c28f5c28f6              # double 83.340000000000003
	.quad	0x405f070a3d70a3d7              # double 124.11
	.quad	0x404448f5c28f5c29              # double 40.57
	.quad	0x4051bb851eb851ec              # double 70.930000000000007
	.quad	0x4050a9999999999a              # double 66.650000000000006
	.quad	0x4059ec28f5c28f5c              # double 103.69
	.quad	0x40559f5c28f5c28f              # double 86.489999999999994
	.quad	0x40610fae147ae148              # double 136.49000000000001
	.quad	0x40317ae147ae147b              # double 17.48
	.quad	0x4046666666666666              # double 44.799999999999997
	.quad	0x404575c28f5c28f6              # double 42.920000000000002
	.quad	0x4053a00000000000              # double 78.5
	.quad	0x4047f0a3d70a3d71              # double 47.880000000000003
	.quad	0x405a847ae147ae14              # double 106.06999999999999
	.quad	0x4037eb851eb851ec              # double 23.920000000000002
	.quad	0x4054170a3d70a3d7              # double 80.359999999999999
	.quad	0x40506147ae147ae1              # double 65.519999999999996
	.quad	0x405f633333333333              # double 125.55
	.quad	0x405409999999999a              # double 80.150000000000006
	.quad	0x405ff1eb851eb852              # double 127.78
	.quad	0x4001333333333333              # double 2.1499999999999999
	.quad	0x4044147ae147ae14              # double 40.159999999999997
	.quad	0x40444b851eb851ec              # double 40.590000000000003
	.quad	0x40530ae147ae147b              # double 76.170000000000001
	.quad	0x4008666666666666              # double 3.0499999999999998
	.quad	0x404ca7ae147ae148              # double 57.310000000000002
	.quad	0x40208f5c28f5c28f              # double 8.2799999999999994
	.quad	0x404088f5c28f5c29              # double 33.07
	.quad	0x4045f0a3d70a3d71              # double 43.880000000000003
	.quad	0x40570c28f5c28f5c              # double 92.189999999999998
	.quad	0x4058d33333333333              # double 99.299999999999997
	.quad	0x4064366666666666              # double 161.69999999999999
	.quad	0x402f9eb851eb851f              # double 15.81
	.quad	0x404f39999999999a              # double 62.450000000000003
	.quad	0x404a5d70a3d70a3d              # double 52.729999999999997
	.quad	0x405a2b851eb851ec              # double 104.68000000000001
	.quad	0x4057528f5c28f5c3              # double 93.290000000000006
	.quad	0x40601051eb851eb8              # double 128.50999999999999
	.quad	0x403eee147ae147ae              # double 30.93
	.quad	0x40526d70a3d70a3d              # double 73.709999999999993
	.quad	0x40492ccccccccccd              # double 50.350000000000001
	.quad	0x4057cccccccccccd              # double 95.200000000000002
	.quad	0x4054d7ae147ae148              # double 83.370000000000005
	.quad	0x40619e147ae147ae              # double 140.94
	.quad	0x404b2f5c28f5c28f              # double 54.369999999999997
	.quad	0x40564ae147ae147b              # double 89.170000000000001
	.quad	0x4040a66666666666              # double 33.299999999999997
	.quad	0x4050cccccccccccd              # double 67.200000000000003
	.quad	0x4053647ae147ae14              # double 77.569999999999993
	.quad	0x405dd5c28f5c28f6              # double 119.34
	.quad	0x4002000000000000              # double 2.25
	.quad	0x403f451eb851eb85              # double 31.27
	.quad	0x404ebc28f5c28f5c              # double 61.469999999999999
	.quad	0x4059feb851eb851f              # double 103.98
	.quad	0x4035b33333333333              # double 21.699999999999999
	.quad	0x40506ccccccccccd              # double 65.700000000000003
	.quad	0x4053e0a3d70a3d71              # double 79.510000000000005
	.quad	0x40616d70a3d70a3d              # double 139.41999999999999
	.quad	0x4037800000000000              # double 23.5
	.quad	0x404e5c28f5c28f5c              # double 60.719999999999999
	.quad	0x404688f5c28f5c29              # double 45.07
	.quad	0x40570eb851eb851f              # double 92.230000000000003
	.quad	0x404e628f5c28f5c3              # double 60.770000000000003
	.quad	0x405d39999999999a              # double 116.90000000000001
	.quad	0x3ff6666666666666              # double 1.3999999999999999
	.quad	0x4046b47ae147ae14              # double 45.409999999999997
	.quad	0x4031c28f5c28f5c3              # double 17.760000000000002
	.quad	0x4049a8f5c28f5c29              # double 51.32
	.quad	0x40569ae147ae147b              # double 90.420000000000001
	.quad	0x406300f5c28f5c29              # double 152.03
	.quad	0x4045451eb851eb85              # double 42.539999999999999
	.quad	0x4050db851eb851ec              # double 67.430000000000007
	.quad	0x4054bb851eb851ec              # double 82.930000000000007
	.quad	0x405e870a3d70a3d7              # double 122.11
	.quad	0x404baa3d70a3d70a              # double 55.329999999999998
	.quad	0x4059fccccccccccd              # double 103.95
	.quad	0x40574eb851eb851f              # double 93.230000000000003
	.quad	0x4063c75c28f5c28f              # double 158.22999999999999
	.quad	0x4045c00000000000              # double 43.5
	.quad	0x405a21eb851eb852              # double 104.53
	.quad	0x402cd70a3d70a3d7              # double 14.42
	.quad	0x4047051eb851eb85              # double 46.039999999999999
	.quad	0x4054566666666666              # double 81.349999999999994
	.quad	0x40625e6666666666              # double 146.94999999999999
	.quad	0x3ff87ae147ae147b              # double 1.53
	.quad	0x4038666666666666              # double 24.399999999999999
	.quad	0x4049866666666666              # double 51.049999999999997
	.quad	0x4057751eb851eb85              # double 93.829999999999998
	.quad	0x402c800000000000              # double 14.25
	.quad	0x4047051eb851eb85              # double 46.039999999999999
	.quad	0x405450a3d70a3d71              # double 81.260000000000005
	.quad	0x406089eb851eb852              # double 132.31
	.quad	0x3fc3333333333333              # double 0.14999999999999999
	.quad	0x4045e147ae147ae1              # double 43.759999999999998
	.quad	0x40521e147ae147ae              # double 72.469999999999999
	.quad	0x405ab0a3d70a3d71              # double 106.76000000000001
	.quad	0x404c651eb851eb85              # double 56.789999999999999
	.quad	0x405c9eb851eb851f              # double 114.48
	.quad	0x404f4147ae147ae1              # double 62.509999999999998
	.quad	0x405d1d70a3d70a3d              # double 116.45999999999999
	.quad	0x40547147ae147ae1              # double 81.769999999999996
	.quad	0x405d1b851eb851ec              # double 116.43000000000001
	.quad	0x4049eccccccccccd              # double 51.850000000000001
	.quad	0x405848f5c28f5c29              # double 97.14
	.quad	0x400c51eb851eb852              # double 3.54
	.quad	0x404a000000000000              # double 52
	.quad	0x404059999999999a              # double 32.700000000000003
	.quad	0x4052bc28f5c28f5c              # double 74.939999999999998
	.quad	0x40531b851eb851ec              # double 76.430000000000007
	.quad	0x405e8a3d70a3d70a              # double 122.16
	.quad	0x40285c28f5c28f5c              # double 12.18
	.quad	0x40433eb851eb851f              # double 38.490000000000002
	.quad	0x402eb851eb851eb8              # double 15.359999999999999
	.quad	0x4043947ae147ae14              # double 39.159999999999997
	.quad	0x404d2147ae147ae1              # double 58.259999999999998
	.quad	0x4057ca3d70a3d70a              # double 95.159999999999996
	.quad	0x403d70a3d70a3d71              # double 29.440000000000001
	.quad	0x4050228f5c28f5c3              # double 64.540000000000006
	.quad	0x4057700000000000              # double 93.75
	.quad	0x4062cc28f5c28f5c              # double 150.38
	.quad	0x405193d70a3d70a4              # double 70.310000000000002
	.quad	0x4060123d70a3d70a              # double 128.56999999999999
	.quad	0x405449999999999a              # double 81.150000000000006
	.quad	0x4060480000000000              # double 130.25
	.quad	0x402bc28f5c28f5c3              # double 13.880000000000001
	.quad	0x404871eb851eb852              # double 48.890000000000001
	.quad	0x40546c28f5c28f5c              # double 81.689999999999998
	.quad	0x40611bd70a3d70a4              # double 136.87
	.quad	0x4045ae147ae147ae              # double 43.359999999999999
	.quad	0x40564eb851eb851f              # double 89.230000000000003
	.quad	0x403519999999999a              # double 21.100000000000001
	.quad	0x4050633333333333              # double 65.549999999999997
	.quad	0x4033947ae147ae14              # double 19.579999999999998
	.quad	0x4053d7ae147ae148              # double 79.370000000000005
	.quad	0x4056e9999999999a              # double 91.650000000000005
	.quad	0x4062800000000000              # double 148
	.quad	0x4038fd70a3d70a3d              # double 24.989999999999998
	.quad	0x40508b851eb851ec              # double 66.180000000000007
	.quad	0x403fdeb851eb851f              # double 31.870000000000001
	.quad	0x405573d70a3d70a4              # double 85.810000000000002
	.quad	0x404c251eb851eb85              # double 56.289999999999999
	.quad	0x405c19999999999a              # double 112.40000000000001
	.quad	0x40560d70a3d70a3d              # double 88.209999999999993
	.quad	0x40626947ae147ae1              # double 147.28999999999999
	.quad	0x4036547ae147ae14              # double 22.329999999999998
	.quad	0x405035c28f5c28f6              # double 64.840000000000003
	.quad	0x403687ae147ae148              # double 22.530000000000001
	.quad	0x4053ea3d70a3d70a              # double 79.659999999999997
	.quad	0x4049feb851eb851f              # double 51.990000000000002
	.quad	0x4057bf5c28f5c28f              # double 94.989999999999994
	.quad	0x401a5c28f5c28f5c              # double 6.5899999999999999
	.quad	0x4041028f5c28f5c3              # double 34.020000000000003
	.quad	0x40481eb851eb851f              # double 48.240000000000002
	.quad	0x40557e147ae147ae              # double 85.969999999999999
	.quad	0x40519a3d70a3d70a              # double 70.409999999999997
	.quad	0x405c900000000000              # double 114.25
	.quad	0x40432b851eb851ec              # double 38.340000000000003
	.quad	0x40544f5c28f5c28f              # double 81.239999999999994
	.quad	0x4019c28f5c28f5c3              # double 6.4400000000000004
	.quad	0x4040cccccccccccd              # double 33.600000000000001
	.quad	0x4015a3d70a3d70a4              # double 5.4100000000000001
	.quad	0x4040a00000000000              # double 33.25
	.quad	0x4049e00000000000              # double 51.75
	.quad	0x4058ae147ae147ae              # double 98.719999999999998
	.quad	0x4056851eb851eb85              # double 90.079999999999998
	.quad	0x4060efae147ae148              # double 135.49000000000001
	.quad	0x4044347ae147ae14              # double 40.409999999999997
	.quad	0x40556851eb851eb8              # double 85.629999999999995
	.quad	0x4054ea3d70a3d70a              # double 83.659999999999997
	.quad	0x40628428f5c28f5c              # double 148.13
	.quad	0x4015851eb851eb85              # double 5.3799999999999999
	.quad	0x403b333333333333              # double 27.199999999999999
	.quad	0x4016eb851eb851ec              # double 5.7300000000000004
	.quad	0x40497eb851eb851f              # double 50.990000000000002
	.quad	0x40270f5c28f5c28f              # double 11.529999999999999
	.quad	0x40440a3d70a3d70a              # double 40.079999999999998
	.quad	0x4052f1eb851eb852              # double 75.780000000000001
	.quad	0x406057ae147ae148              # double 130.74000000000001
	.quad	0x40584d70a3d70a3d              # double 97.209999999999993
	.quad	0x406429999999999a              # double 161.30000000000001
	.quad	0x403d666666666666              # double 29.399999999999999
	.quad	0x404ba28f5c28f5c3              # double 55.270000000000003
	.quad	0x3ff4cccccccccccd              # double 1.3
	.quad	0x4046a8f5c28f5c29              # double 45.32
	.quad	0x40288a3d70a3d70a              # double 12.27
	.quad	0x404e2ccccccccccd              # double 60.350000000000001
	.quad	0x40505f5c28f5c28f              # double 65.489999999999995
	.quad	0x405d870a3d70a3d7              # double 118.11
	.quad	0x4057970a3d70a3d7              # double 94.359999999999999
	.quad	0x4063c428f5c28f5c              # double 158.13
	.quad	0x4057b1eb851eb852              # double 94.780000000000001
	.quad	0x406153851eb851ec              # double 138.61000000000001
	.quad	0x401fae147ae147ae              # double 7.9199999999999999
	.quad	0x404610a3d70a3d71              # double 44.130000000000003
	.quad	0x4047aa3d70a3d70a              # double 47.329999999999998
	.quad	0x40580ccccccccccd              # double 96.200000000000002
	.quad	0x404ad851eb851eb8              # double 53.689999999999998
	.quad	0x4058d851eb851eb8              # double 99.379999999999995
	.quad	0x403e8a3d70a3d70a              # double 30.539999999999999
	.quad	0x40508ccccccccccd              # double 66.200000000000003
	.quad	0x40547e147ae147ae              # double 81.969999999999999
	.quad	0x4060d1999999999a              # double 134.55000000000001
	.quad	0x404acf5c28f5c28f              # double 53.619999999999997
	.quad	0x4056600000000000              # double 89.5
	.quad	0x4058dae147ae147b              # double 99.420000000000001
	.quad	0x40640f0a3d70a3d7              # double 160.47
	.quad	0x4053ae147ae147ae              # double 78.719999999999999
	.quad	0x406201eb851eb852              # double 144.06
	.quad	0x4053551eb851eb85              # double 77.329999999999998
	.quad	0x405d7147ae147ae1              # double 117.77
	.quad	0x4020947ae147ae14              # double 8.2899999999999991
	.quad	0x404e35c28f5c28f6              # double 60.420000000000002
	.quad	0x4055b51eb851eb85              # double 86.829999999999998
	.quad	0x4061f8f5c28f5c29              # double 143.78
	.quad	0x4027570a3d70a3d7              # double 11.67
	.quad	0x404d0b851eb851ec              # double 58.090000000000003
	.quad	0x4058eb851eb851ec              # double 99.680000000000007
	.quad	0x4062c8f5c28f5c29              # double 150.28
	.quad	0x40547e147ae147ae              # double 81.969999999999999
	.quad	0x406106b851eb851f              # double 136.21000000000001
	.quad	0x4042933333333333              # double 37.149999999999999
	.quad	0x40536d70a3d70a3d              # double 77.709999999999993
	.quad	0x40507e147ae147ae              # double 65.969999999999999
	.quad	0x4058b00000000000              # double 98.75
	.quad	0x40400a3d70a3d70a              # double 32.079999999999998
	.quad	0x4052533333333333              # double 73.299999999999997
	.quad	0x404e43d70a3d70a4              # double 60.530000000000001
	.quad	0x405afccccccccccd              # double 107.95
	.quad	0x40555eb851eb851f              # double 85.480000000000003
	.quad	0x406190f5c28f5c29              # double 140.53
	.quad	0x405048f5c28f5c29              # double 65.140000000000001
	.quad	0x405f970a3d70a3d7              # double 126.36
	.quad	0x4054f147ae147ae1              # double 83.769999999999996
	.quad	0x4061cdc28f5c28f6              # double 142.43000000000001
	.quad	0x405663d70a3d70a4              # double 89.560000000000002
	.quad	0x40604f5c28f5c28f              # double 130.47999999999999
	.quad	0x40425d70a3d70a3d              # double 36.729999999999997
	.quad	0x405720a3d70a3d71              # double 92.510000000000005
	.quad	0x4041933333333333              # double 35.149999999999999
	.quad	0x4052bb851eb851ec              # double 74.930000000000007
	.quad	0x4050966666666666              # double 66.349999999999994
	.quad	0x405b5e147ae147ae              # double 109.47
	.quad	0x4031970a3d70a3d7              # double 17.59
	.quad	0x4051b66666666666              # double 70.849999999999994
	.quad	0x403c028f5c28f5c3              # double 28.010000000000002
	.quad	0x40556e147ae147ae              # double 85.719999999999999
	.quad	0x404427ae147ae148              # double 40.310000000000002
	.quad	0x4055751eb851eb85              # double 85.829999999999998
	.quad	0x4054d00000000000              # double 83.25
	.quad	0x406066b851eb851f              # double 131.21000000000001
	.quad	0x4042028f5c28f5c3              # double 36.020000000000003
	.quad	0x4050e5c28f5c28f6              # double 67.590000000000003
	.quad	0x4056e3d70a3d70a4              # double 91.560000000000002
	.quad	0x40614dc28f5c28f6              # double 138.43000000000001
	.quad	0x40312b851eb851ec              # double 17.170000000000002
	.quad	0x4050528f5c28f5c3              # double 65.290000000000006
	.quad	0x4058b851eb851eb8              # double 98.879999999999995
	.quad	0x40616a3d70a3d70a              # double 139.31999999999999
	.quad	0x4040d9999999999a              # double 33.700000000000003
	.quad	0x405395c28f5c28f6              # double 78.340000000000003
	.quad	0x4056551eb851eb85              # double 89.329999999999998
	.quad	0x406236147ae147ae              # double 145.69
	.quad	0x3fd51eb851eb851f              # double 0.33000000000000002
	.quad	0x40431ae147ae147b              # double 38.210000000000001
	.quad	0x4030f5c28f5c28f6              # double 16.960000000000001
	.quad	0x4042cccccccccccd              # double 37.600000000000001
	.quad	0x4034fd70a3d70a3d              # double 20.989999999999998
	.quad	0x40508851eb851eb8              # double 66.129999999999995
	.quad	0x4032cf5c28f5c28f              # double 18.809999999999999
	.quad	0x4048a00000000000              # double 49.25
	.quad	0x4030970a3d70a3d7              # double 16.59
	.quad	0x4052bd70a3d70a3d              # double 74.959999999999993
	.quad	0x404da00000000000              # double 59.25
	.quad	0x405b3c28f5c28f5c              # double 108.94
	.quad	0x404b27ae147ae148              # double 54.310000000000002
	.quad	0x4057933333333333              # double 94.299999999999997
	.quad	0x4052ae147ae147ae              # double 74.719999999999999
	.quad	0x4061af5c28f5c28f              # double 141.47999999999999
	.quad	0x405810a3d70a3d71              # double 96.260000000000005
	.quad	0x4063200000000000              # double 153
	.quad	0x4040aa3d70a3d70a              # double 33.329999999999998
	.quad	0x4052b51eb851eb85              # double 74.829999999999998
	.quad	0x40574eb851eb851f              # double 93.230000000000003
	.quad	0x4060c851eb851eb8              # double 134.25999999999999
	.quad	0x4053300000000000              # double 76.75
	.quad	0x405ecb851eb851ec              # double 123.18000000000001
	.size	data, 16000

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	.type	.L.str.13,@object               # @.str.13
.L.str.13:
	.asciz	"Total time taken was %lldns or %0.9lfs\n"
	.size	.L.str.13, 40

	.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 start
	.addrsig_sym end
	.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
