/*
Test max arg size (256 Byte) for Cuda kernel.
Passing struct to kernel arguments to overcome limitation of number of args in kernel
But regular kernel turns out working properly with 70 args

https://devtalk.nvidia.com/default/topic/458705/is-there-any-limit-on-of-arguments-in-cuda-kernel-/

*/
#include <cmath>	//for calculating power & NaN
#include<iostream>
#include<cstdio>
#include <vector>
#include <cstdlib>
#include <fstream> // for writing to file
#include <math.h>       //exp, pi
#include <chrono>	//for time measurement
#include <fstream>
#include <ctime>


using namespace std;
using namespace std::chrono;


struct struct_ab {
	double* array_01;	double* array_02;	double* array_03;	
	double* array_04;	double* array_05;	double* array_06;
	double* array_07;	double* array_08;	double* array_09;		
	double* array_10;	double* array_11;	double* array_12;
	double* array_13;	double* array_14;	double* array_15;
	double* array_16;	double* array_17;	double* array_18;
	double* array_19;	double* array_20;	double* array_21;
	double* array_22;	double* array_23;	double* array_24;
	double* array_25;	double* array_26;	double* array_27;
	double* array_28;	double* array_29;	double* array_30;
	double* array_31;	double* array_32;	double* array_33;
	double* array_34;	double* array_35;	double* array_36;
	double* array_37;	double* array_38;	double* array_39;
	double* array_40;	double* array_41;	double* array_42;
	double* array_43;	double* array_44;	double* array_45;
	double* array_46;	double* array_47;	double* array_48;
	double* array_49;	double* array_50;	
	double* array_51;	double* array_52;	double* array_53;	
	double* array_54;	double* array_55;	double* array_56;
	double* array_57;	double* array_58;	double* array_59;		
	double* array_60;
	double* array_61;	double* array_62;	double* array_63;	
	double* array_64;	double* array_65;	double* array_66;
	double* array_67;	double* array_68;	double* array_69;		
	double* array_70;	
	};


__global__ void vector_add_struct(struct_ab mystruct_ab, double* c){

	size_t i= threadIdx.x+ blockDim.x*threadIdx.y+blockDim.x*blockDim.y*blockIdx.x;
	c[i]=mystruct_ab.array_01[i]+mystruct_ab.array_02[i]\
		+ mystruct_ab.array_03[i]+mystruct_ab.array_04[i]\
		+ mystruct_ab.array_05[i]+mystruct_ab.array_06[i]\
		+ mystruct_ab.array_07[i]+mystruct_ab.array_08[i]\
		+ mystruct_ab.array_09[i]+mystruct_ab.array_10[i]\
		+ mystruct_ab.array_11[i]+mystruct_ab.array_12[i]\
		+ mystruct_ab.array_13[i]+mystruct_ab.array_14[i]\
		+ mystruct_ab.array_15[i]+mystruct_ab.array_16[i]\
		+ mystruct_ab.array_17[i]+mystruct_ab.array_18[i]\
		+ mystruct_ab.array_19[i]+mystruct_ab.array_20[i]\
		+ mystruct_ab.array_21[i]+mystruct_ab.array_22[i]\
		+ mystruct_ab.array_23[i]+mystruct_ab.array_24[i]\
		+ mystruct_ab.array_25[i]+mystruct_ab.array_26[i]\
		+ mystruct_ab.array_27[i]+mystruct_ab.array_28[i]\
		+ mystruct_ab.array_29[i]+mystruct_ab.array_30[i]\
		+ mystruct_ab.array_31[i]+mystruct_ab.array_32[i]\
		+ mystruct_ab.array_33[i]+mystruct_ab.array_34[i]\
		+ mystruct_ab.array_35[i]+mystruct_ab.array_36[i]\
		+ mystruct_ab.array_37[i]+mystruct_ab.array_38[i]\
		+ mystruct_ab.array_39[i]+mystruct_ab.array_40[i]\
		+ mystruct_ab.array_41[i]+mystruct_ab.array_42[i]\
		+ mystruct_ab.array_43[i]+mystruct_ab.array_44[i]\
		+ mystruct_ab.array_45[i]+mystruct_ab.array_46[i]\
		+ mystruct_ab.array_47[i]+mystruct_ab.array_48[i]\
		+ mystruct_ab.array_49[i]+mystruct_ab.array_50[i]\
		+ mystruct_ab.array_51[i]+mystruct_ab.array_52[i]\
		+ mystruct_ab.array_53[i]+mystruct_ab.array_54[i]\
		+ mystruct_ab.array_55[i]+mystruct_ab.array_56[i]\
		+ mystruct_ab.array_57[i]+mystruct_ab.array_58[i]\
		+ mystruct_ab.array_59[i]+mystruct_ab.array_60[i]\
		+ mystruct_ab.array_61[i]+mystruct_ab.array_62[i]\
		+ mystruct_ab.array_63[i]+mystruct_ab.array_64[i]\
		+ mystruct_ab.array_65[i]+mystruct_ab.array_66[i]\
		+ mystruct_ab.array_67[i]+mystruct_ab.array_68[i]\
		+ mystruct_ab.array_69[i]+mystruct_ab.array_70[i]
	;
}

//max = 43 args 
__global__ void vector_add70(double* array_01, double* array_02, double* array_03, 
		double* array_04, double* array_05, double* array_06, 
		double* array_07, double* array_08, double* array_09,
		double* array_10,
		double* array_11, double* array_12, double* array_13, 
		double* array_14, double* array_15, double* array_16, 
		double* array_17, double* array_18, double* array_19,
		double* array_20,
		double* array_21, double* array_22, double* array_23, 
		double* array_24, double* array_25, double* array_26, 
		double* array_27, double* array_28, double* array_29,
		double* array_30,
		double* array_31, double* array_32, double* array_33, 
		double* array_34, double* array_35, double* array_36,	
		double* array_37, double* array_38, double* array_39,
		double* array_40,
		double* array_41, double* array_42, double* array_43, 
		double* array_44, double* array_45, double* array_46, 
		double* array_47, double* array_48, double* array_49,
		double* array_50,
		double* array_51, double* array_52, double* array_53, 
		double* array_54, double* array_55, double* array_56, 
		double* array_57, double* array_58, double* array_59,
		double* array_60,
		double* array_61, double* array_62, double* array_63, 
		double* array_64, double* array_65, double* array_66, 
		double* array_67, double* array_68, double* array_69,
		double* array_70,
		
		double* c){

	size_t i= threadIdx.x+ blockDim.x*threadIdx.y+blockDim.x*blockDim.y*blockIdx.x;
	c[i]=c[i]=array_01[i]+array_02[i] + array_03[i]+array_04[i] 
		+ array_05[i]+array_06[i] + array_07[i]+array_08[i]\
		+ array_09[i]+array_10[i]\
		+ array_11[i]+array_12[i] + array_13[i]+array_14[i]\
		+ array_15[i]+array_16[i] + array_17[i]+array_18[i]\
		+ array_19[i]+array_20[i]\
		+ array_21[i]+array_22[i] + array_23[i]+array_24[i]\
		+ array_25[i]+array_26[i] + array_27[i]+array_28[i]\
		+ array_29[i]+array_30[i]\
		+ array_31[i]+array_32[i] + array_33[i]+array_34[i]\
		+ array_35[i]+array_36[i] + array_37[i]+array_38[i]\
		+ array_39[i]+array_40[i]\
		+ array_41[i]+array_42[i] + array_43[i]+array_44[i]\
		+ array_45[i]+array_46[i] + array_47[i]+array_48[i]\
		+ array_49[i]+array_50[i]
		+ array_51[i]+array_52[i] + array_53[i]+array_54[i] 
		+ array_55[i]+array_56[i] + array_57[i]+array_58[i]\
		+ array_59[i]+array_60[i]\
		+ array_61[i]+array_62[i] + array_63[i]+array_64[i] 
		+ array_65[i]+array_66[i] + array_67[i]+array_68[i]\
		+ array_69[i]+array_70[i]\
		
	;
}

int main(int argc, char **argv){
	cout<<"Start of program"<<endl;
	const size_t node = 100;
		
	double *array_01_serial = new double[node]; double *array_02_serial = new double[node];
	double *array_03_serial = new double[node]; double *array_04_serial = new double[node];
	double *array_05_serial = new double[node]; double *array_06_serial = new double[node];
	double *array_07_serial = new double[node]; double *array_08_serial = new double[node];
	double *array_09_serial = new double[node]; double *array_10_serial = new double[node];
	double *array_11_serial = new double[node]; double *array_12_serial = new double[node];
	double *array_13_serial = new double[node]; double *array_14_serial = new double[node];
	double *array_15_serial = new double[node]; double *array_16_serial = new double[node];
	double *array_17_serial = new double[node]; double *array_18_serial = new double[node];
	double *array_19_serial = new double[node]; double *array_20_serial = new double[node];
	double *array_21_serial = new double[node]; double *array_22_serial = new double[node];
	double *array_23_serial = new double[node]; double *array_24_serial = new double[node];
	double *array_25_serial = new double[node]; double *array_26_serial = new double[node];
	double *array_27_serial = new double[node]; double *array_28_serial = new double[node];
	double *array_29_serial = new double[node]; double *array_30_serial = new double[node];
	double *array_31_serial = new double[node]; double *array_32_serial = new double[node];
	double *array_33_serial = new double[node]; double *array_34_serial = new double[node];
	double *array_35_serial = new double[node]; double *array_36_serial = new double[node];
	double *array_37_serial = new double[node]; double *array_38_serial = new double[node];
	double *array_39_serial = new double[node]; double *array_40_serial = new double[node];
	double *array_41_serial = new double[node]; double *array_42_serial = new double[node];
	double *array_43_serial = new double[node]; double *array_44_serial = new double[node];
	double *array_45_serial = new double[node]; double *array_46_serial = new double[node];
	double *array_47_serial = new double[node]; double *array_48_serial = new double[node];
	double *array_49_serial = new double[node]; double *array_50_serial = new double[node];
	double *array_51_serial = new double[node]; double *array_52_serial = new double[node];
	double *array_53_serial = new double[node]; double *array_54_serial = new double[node];
	double *array_55_serial = new double[node]; double *array_56_serial = new double[node];
	double *array_57_serial = new double[node]; double *array_58_serial = new double[node];
	double *array_59_serial = new double[node]; double *array_60_serial = new double[node];
	double *array_61_serial = new double[node]; double *array_62_serial = new double[node];
	double *array_63_serial = new double[node]; double *array_64_serial = new double[node];
	double *array_65_serial = new double[node]; double *array_66_serial = new double[node];
	double *array_67_serial = new double[node]; double *array_68_serial = new double[node];
	double *array_69_serial = new double[node]; double *array_70_serial = new double[node];
	
	
	double *c_serial = new double[node];
	
	double *array_01 = new double[node];	double *array_02 = new double[node];
	double *array_03 = new double[node]; 	double *array_04 = new double[node];
	double *array_05 = new double[node];	double *array_06 = new double[node];
	double *array_07 = new double[node];	double *array_08 = new double[node];	
	double *array_09 = new double[node];	double *array_10 = new double[node];	
	double *array_11 = new double[node];	double *array_12 = new double[node];	
	double *array_13 = new double[node];	double *array_14 = new double[node];	
	double *array_15 = new double[node];	double *array_16 = new double[node];	
	double *array_17 = new double[node];	double *array_18 = new double[node];	
	double *array_19 = new double[node];	double *array_20 = new double[node];
	double *array_21 = new double[node];	double *array_22 = new double[node];
	double *array_23 = new double[node];	double *array_24 = new double[node];
	double *array_25 = new double[node];	double *array_26 = new double[node];
	double *array_27 = new double[node];	double *array_28 = new double[node];
	double *array_29 = new double[node];	double *array_30 = new double[node];
	double *array_31 = new double[node];	double *array_32 = new double[node];
	double *array_33 = new double[node];	double *array_34 = new double[node];
	double *array_35 = new double[node];	double *array_36 = new double[node];
	double *array_37 = new double[node];	double *array_38 = new double[node];	
	double *array_39 = new double[node];	double *array_40 = new double[node];	
	double *array_41 = new double[node];	double *array_42 = new double[node];
	double *array_43 = new double[node]; 	double *array_44 = new double[node];
	double *array_45 = new double[node];	double *array_46 = new double[node];
	double *array_47 = new double[node];	double *array_48 = new double[node];	
	double *array_49 = new double[node];	double *array_50 = new double[node];	
	double *array_51 = new double[node];	double *array_52 = new double[node];
	double *array_53 = new double[node]; 	double *array_54 = new double[node];
	double *array_55 = new double[node];	double *array_56 = new double[node];
	double *array_57 = new double[node];	double *array_58 = new double[node];	
	double *array_59 = new double[node];	double *array_60 = new double[node];	
	double *array_61 = new double[node];	double *array_62 = new double[node];
	double *array_63 = new double[node]; 	double *array_64 = new double[node];
	double *array_65 = new double[node];	double *array_66 = new double[node];
	double *array_67 = new double[node];	double *array_68 = new double[node];	
	double *array_69 = new double[node];	double *array_70 = new double[node];	
	
	
	
	double *c = new double[node];
	
	cout<<"No of nodes = "<<node<<endl;
	
	//Initialization
	for (size_t i = 0; i < node; ++i) {
			std::srand(std::time(nullptr)); // use current time as seed for random generator
			array_01[i]=((double) rand()/(RAND_MAX))*i;	array_02[i]=((double) rand()/(RAND_MAX))*i;
			array_03[i]=((double) rand()/(RAND_MAX))*i;	array_04[i]=((double) rand()/(RAND_MAX))*i;
			array_05[i]=((double) rand()/(RAND_MAX))*i;	array_06[i]=((double) rand()/(RAND_MAX))*i;
			array_07[i]=((double) rand()/(RAND_MAX))*i;	array_08[i]=((double) rand()/(RAND_MAX))*i;
			array_09[i]=((double) rand()/(RAND_MAX))*i;	array_10[i]=((double) rand()/(RAND_MAX))*i;
			
			array_11[i]=((double) rand()/(RAND_MAX))*i;	array_12[i]=((double) rand()/(RAND_MAX))*i;
			array_13[i]=((double) rand()/(RAND_MAX))*i;	array_14[i]=((double) rand()/(RAND_MAX))*i;
			array_15[i]=((double) rand()/(RAND_MAX))*i;	array_16[i]=((double) rand()/(RAND_MAX))*i;
			array_17[i]=((double) rand()/(RAND_MAX))*i;	array_18[i]=((double) rand()/(RAND_MAX))*i;
			array_19[i]=((double) rand()/(RAND_MAX))*i;	array_20[i]=((double) rand()/(RAND_MAX))*i;
			
			array_21[i]=((double) rand()/(RAND_MAX))*i;	array_22[i]=((double) rand()/(RAND_MAX))*i;
			array_23[i]=((double) rand()/(RAND_MAX))*i;	array_24[i]=((double) rand()/(RAND_MAX))*i;
			array_25[i]=((double) rand()/(RAND_MAX))*i;	array_26[i]=((double) rand()/(RAND_MAX))*i;
			array_27[i]=((double) rand()/(RAND_MAX))*i;	array_28[i]=((double) rand()/(RAND_MAX))*i;
			array_29[i]=((double) rand()/(RAND_MAX))*i;	array_30[i]=((double) rand()/(RAND_MAX))*i;
		
			array_31[i]=((double) rand()/(RAND_MAX))*i;	array_32[i]=((double) rand()/(RAND_MAX))*i;
			array_33[i]=((double) rand()/(RAND_MAX))*i;	array_34[i]=((double) rand()/(RAND_MAX))*i;
			array_35[i]=((double) rand()/(RAND_MAX))*i;	array_36[i]=((double) rand()/(RAND_MAX))*i;
			array_37[i]=((double) rand()/(RAND_MAX))*i;	array_38[i]=((double) rand()/(RAND_MAX))*i;
			array_39[i]=((double) rand()/(RAND_MAX))*i;	array_40[i]=((double) rand()/(RAND_MAX))*i;
			
			array_41[i]=((double) rand()/(RAND_MAX))*i;	array_42[i]=((double) rand()/(RAND_MAX))*i;
			array_43[i]=((double) rand()/(RAND_MAX))*i;	array_44[i]=((double) rand()/(RAND_MAX))*i;
			array_45[i]=((double) rand()/(RAND_MAX))*i;	array_46[i]=((double) rand()/(RAND_MAX))*i;
			array_47[i]=((double) rand()/(RAND_MAX))*i;	array_48[i]=((double) rand()/(RAND_MAX))*i;
			array_49[i]=((double) rand()/(RAND_MAX))*i;	array_50[i]=((double) rand()/(RAND_MAX))*i;
			array_51[i]=((double) rand()/(RAND_MAX))*i;	array_52[i]=((double) rand()/(RAND_MAX))*i;
			array_53[i]=((double) rand()/(RAND_MAX))*i;	array_54[i]=((double) rand()/(RAND_MAX))*i;
			array_55[i]=((double) rand()/(RAND_MAX))*i;	array_56[i]=((double) rand()/(RAND_MAX))*i;
			array_57[i]=((double) rand()/(RAND_MAX))*i;	array_58[i]=((double) rand()/(RAND_MAX))*i;
			array_59[i]=((double) rand()/(RAND_MAX))*i;	array_60[i]=((double) rand()/(RAND_MAX))*i;
			array_61[i]=((double) rand()/(RAND_MAX))*i;	array_62[i]=((double) rand()/(RAND_MAX))*i;
			array_63[i]=((double) rand()/(RAND_MAX))*i;	array_64[i]=((double) rand()/(RAND_MAX))*i;
			array_65[i]=((double) rand()/(RAND_MAX))*i;	array_66[i]=((double) rand()/(RAND_MAX))*i;
			array_67[i]=((double) rand()/(RAND_MAX))*i;	array_68[i]=((double) rand()/(RAND_MAX))*i;
			array_69[i]=((double) rand()/(RAND_MAX))*i;	array_70[i]=((double) rand()/(RAND_MAX))*i;
			
		
			//-------------------------------------------
			array_01_serial[i]= array_01[i];	array_02_serial[i]= array_02[i];			
			array_03_serial[i]= array_03[i];	array_04_serial[i]= array_04[i];
			array_05_serial[i]= array_05[i];	array_06_serial[i]= array_06[i];
			array_07_serial[i]= array_07[i];	array_08_serial[i]= array_08[i];
			array_09_serial[i]= array_09[i];	array_10_serial[i]= array_10[i];
			array_11_serial[i]= array_11[i];	array_12_serial[i]= array_12[i];
			array_13_serial[i]= array_13[i];	array_14_serial[i]= array_14[i];
			array_15_serial[i]= array_15[i];	array_16_serial[i]= array_16[i];
			array_17_serial[i]= array_17[i];	array_18_serial[i]= array_18[i];
			array_19_serial[i]= array_19[i];	array_20_serial[i]= array_20[i];
			array_21_serial[i]= array_21[i];	array_22_serial[i]= array_22[i];
			array_23_serial[i]= array_23[i];	array_24_serial[i]= array_24[i];
			array_25_serial[i]= array_25[i];	array_26_serial[i]= array_26[i];
			array_27_serial[i]= array_27[i];	array_28_serial[i]= array_28[i];
			array_29_serial[i]= array_29[i];	array_30_serial[i]= array_30[i];
			array_31_serial[i]= array_31[i];	array_32_serial[i]= array_32[i];
			array_33_serial[i]= array_33[i];	array_34_serial[i]= array_34[i];
			array_35_serial[i]= array_35[i];	array_36_serial[i]= array_36[i];			
			array_37_serial[i]= array_37[i];	array_38_serial[i]= array_38[i];
			array_39_serial[i]= array_39[i];	array_40_serial[i]= array_40[i];
			
			array_41_serial[i]= array_41[i];	array_42_serial[i]= array_42[i];			
			array_43_serial[i]= array_43[i];	array_44_serial[i]= array_44[i];
			array_45_serial[i]= array_45[i];	array_46_serial[i]= array_46[i];
			array_47_serial[i]= array_47[i];	array_48_serial[i]= array_48[i];
			array_49_serial[i]= array_49[i];	array_50_serial[i]= array_50[i];
			array_51_serial[i]= array_51[i];	array_52_serial[i]= array_52[i];			
			array_53_serial[i]= array_53[i];	array_54_serial[i]= array_54[i];
			array_55_serial[i]= array_55[i];	array_56_serial[i]= array_56[i];
			array_57_serial[i]= array_57[i];	array_58_serial[i]= array_58[i];
			array_59_serial[i]= array_59[i];	array_60_serial[i]= array_60[i];
			array_61_serial[i]= array_61[i];	array_62_serial[i]= array_62[i];			
			array_63_serial[i]= array_63[i];	array_64_serial[i]= array_64[i];
			array_65_serial[i]= array_65[i];	array_66_serial[i]= array_66[i];
			array_67_serial[i]= array_67[i];	array_68_serial[i]= array_68[i];
			array_69_serial[i]= array_69[i];	array_70_serial[i]= array_70[i];
			
		}

//	#########################################################
//Serial version
	for (size_t i = 0; i < node; ++i) {
		c_serial[i]=array_01_serial[i]+array_02_serial[i] + array_03_serial[i]+array_04_serial[i]\
			+ array_05_serial[i]+array_06_serial[i]	+ array_07_serial[i]+array_08_serial[i]\
			+ array_09_serial[i]+array_10_serial[i]\
			+ array_11_serial[i]+array_12_serial[i] + array_13_serial[i]+array_14_serial[i]\
			+ array_15_serial[i]+array_16_serial[i]	+ array_17_serial[i]+array_18_serial[i]\
			+ array_19_serial[i]+array_20_serial[i]\
			+ array_21_serial[i]+array_22_serial[i]	+ array_23_serial[i]+array_24_serial[i]\
			+ array_25_serial[i]+array_26_serial[i]	+ array_27_serial[i]+array_28_serial[i]\
			+ array_29_serial[i]+array_30_serial[i]\
			+ array_31_serial[i]+array_32_serial[i]	+ array_33_serial[i]+array_34_serial[i]\
			+ array_35_serial[i]+array_36_serial[i]	+ array_37_serial[i]+array_38_serial[i]\
			+ array_39_serial[i]+array_40_serial[i]\
			+ array_41_serial[i]+array_42_serial[i]	+ array_43_serial[i]+array_44_serial[i]\
			+ array_45_serial[i]+array_46_serial[i]	+ array_47_serial[i]+array_48_serial[i]\
			+ array_49_serial[i]+array_50_serial[i]\
			+ array_51_serial[i]+array_52_serial[i] + array_53_serial[i]+array_54_serial[i]\
			+ array_55_serial[i]+array_56_serial[i]	+ array_57_serial[i]+array_58_serial[i]\
			+ array_59_serial[i]+array_60_serial[i]\
			+ array_61_serial[i]+array_62_serial[i] + array_63_serial[i]+array_64_serial[i]\
			+ array_65_serial[i]+array_66_serial[i]	+ array_67_serial[i]+array_68_serial[i]\
			+ array_69_serial[i]+array_70_serial[i]\
			
		;
	}
	
	//###########################################################################
	//PARALLEL VERSION
	cout<<"Start parallel version"<<endl;
	
	// Create memory buffers on the device for each vector 
	double* buffer_array_01, *buffer_array_02, *buffer_array_03;
	double* buffer_array_04, *buffer_array_05, *buffer_array_06; 
	double* buffer_array_07, *buffer_array_08, *buffer_array_09;
	double* buffer_array_10;
	double* buffer_array_11, *buffer_array_12, *buffer_array_13;
	double* buffer_array_14, *buffer_array_15, *buffer_array_16; 
	double* buffer_array_17, *buffer_array_18, *buffer_array_19;
	double* buffer_array_20;
	double* buffer_array_21, *buffer_array_22, *buffer_array_23;
	double* buffer_array_24, *buffer_array_25, *buffer_array_26; 
	double* buffer_array_27, *buffer_array_28, *buffer_array_29;
	double* buffer_array_30;
	double* buffer_array_31, *buffer_array_32, *buffer_array_33;
	double* buffer_array_34, *buffer_array_35, *buffer_array_36; 
	double* buffer_array_37, *buffer_array_38, *buffer_array_39;
	double* buffer_array_40;
	double* buffer_array_41, *buffer_array_42, *buffer_array_43;
	double* buffer_array_44, *buffer_array_45, *buffer_array_46; 
	double* buffer_array_47, *buffer_array_48, *buffer_array_49;
	double* buffer_array_50;
	double* buffer_array_51, *buffer_array_52, *buffer_array_53;
	double* buffer_array_54, *buffer_array_55, *buffer_array_56; 
	double* buffer_array_57, *buffer_array_58, *buffer_array_59;
	double* buffer_array_60;
	double* buffer_array_61, *buffer_array_62, *buffer_array_63;
	double* buffer_array_64, *buffer_array_65, *buffer_array_66; 
	double* buffer_array_67, *buffer_array_68, *buffer_array_69;
	double* buffer_array_70;
	
	double *buffer_c;
	
	struct_ab mystruct_ab_d; //struct in device
	
	cudaMalloc(&buffer_array_01, node*sizeof(double));
	cudaMalloc(&buffer_array_02, node*sizeof(double));
	cudaMalloc(&buffer_array_03, node*sizeof(double));
	cudaMalloc(&buffer_array_04, node*sizeof(double));
	cudaMalloc(&buffer_array_05, node*sizeof(double));
	cudaMalloc(&buffer_array_06, node*sizeof(double));
	cudaMalloc(&buffer_array_07, node*sizeof(double));	
	cudaMalloc(&buffer_array_08, node*sizeof(double));
	cudaMalloc(&buffer_array_09, node*sizeof(double));
	cudaMalloc(&buffer_array_10, node*sizeof(double));
	cudaMalloc(&buffer_array_11, node*sizeof(double));
	cudaMalloc(&buffer_array_12, node*sizeof(double));
	cudaMalloc(&buffer_array_13, node*sizeof(double));
	cudaMalloc(&buffer_array_14, node*sizeof(double));
	cudaMalloc(&buffer_array_15, node*sizeof(double));
	cudaMalloc(&buffer_array_16, node*sizeof(double));
	cudaMalloc(&buffer_array_17, node*sizeof(double));	
	cudaMalloc(&buffer_array_18, node*sizeof(double));
	cudaMalloc(&buffer_array_19, node*sizeof(double));
	cudaMalloc(&buffer_array_20, node*sizeof(double));
	cudaMalloc(&buffer_array_21, node*sizeof(double));
	cudaMalloc(&buffer_array_22, node*sizeof(double));
	cudaMalloc(&buffer_array_23, node*sizeof(double));
	cudaMalloc(&buffer_array_24, node*sizeof(double));
	cudaMalloc(&buffer_array_25, node*sizeof(double));
	cudaMalloc(&buffer_array_26, node*sizeof(double));
	cudaMalloc(&buffer_array_27, node*sizeof(double));	
	cudaMalloc(&buffer_array_28, node*sizeof(double));
	cudaMalloc(&buffer_array_29, node*sizeof(double));
	cudaMalloc(&buffer_array_30, node*sizeof(double));
	cudaMalloc(&buffer_array_31, node*sizeof(double));
	cudaMalloc(&buffer_array_32, node*sizeof(double));
	cudaMalloc(&buffer_array_33, node*sizeof(double));
	cudaMalloc(&buffer_array_34, node*sizeof(double));
	cudaMalloc(&buffer_array_35, node*sizeof(double));
	cudaMalloc(&buffer_array_36, node*sizeof(double));
	cudaMalloc(&buffer_array_37, node*sizeof(double));	
	cudaMalloc(&buffer_array_38, node*sizeof(double));
	cudaMalloc(&buffer_array_39, node*sizeof(double));
	cudaMalloc(&buffer_array_40, node*sizeof(double));
	cudaMalloc(&buffer_array_41, node*sizeof(double));
	cudaMalloc(&buffer_array_42, node*sizeof(double));
	cudaMalloc(&buffer_array_43, node*sizeof(double));
	cudaMalloc(&buffer_array_44, node*sizeof(double));
	cudaMalloc(&buffer_array_45, node*sizeof(double));
	cudaMalloc(&buffer_array_46, node*sizeof(double));
	cudaMalloc(&buffer_array_47, node*sizeof(double));	
	cudaMalloc(&buffer_array_48, node*sizeof(double));
	cudaMalloc(&buffer_array_49, node*sizeof(double));
	cudaMalloc(&buffer_array_50, node*sizeof(double));
	cudaMalloc(&buffer_array_51, node*sizeof(double));
	cudaMalloc(&buffer_array_52, node*sizeof(double));
	cudaMalloc(&buffer_array_53, node*sizeof(double));
	cudaMalloc(&buffer_array_54, node*sizeof(double));
	cudaMalloc(&buffer_array_55, node*sizeof(double));
	cudaMalloc(&buffer_array_56, node*sizeof(double));
	cudaMalloc(&buffer_array_57, node*sizeof(double));	
	cudaMalloc(&buffer_array_58, node*sizeof(double));
	cudaMalloc(&buffer_array_59, node*sizeof(double));
	cudaMalloc(&buffer_array_60, node*sizeof(double));
	cudaMalloc(&buffer_array_61, node*sizeof(double));
	cudaMalloc(&buffer_array_62, node*sizeof(double));
	cudaMalloc(&buffer_array_63, node*sizeof(double));
	cudaMalloc(&buffer_array_64, node*sizeof(double));
	cudaMalloc(&buffer_array_65, node*sizeof(double));
	cudaMalloc(&buffer_array_66, node*sizeof(double));
	cudaMalloc(&buffer_array_67, node*sizeof(double));	
	cudaMalloc(&buffer_array_68, node*sizeof(double));
	cudaMalloc(&buffer_array_69, node*sizeof(double));
	cudaMalloc(&buffer_array_70, node*sizeof(double));
	
	
	cudaMalloc(&buffer_c, node*sizeof(double));		
	
	cudaMemcpy(buffer_array_01, array_01, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_02, array_02, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_03, array_03, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_04, array_04, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_05, array_05, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_06, array_06, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_07, array_07, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_08, array_08, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_09, array_09, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_10, array_10, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_11, array_11, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_12, array_12, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_13, array_13, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_14, array_14, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_15, array_15, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_16, array_16, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_17, array_17, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_18, array_18, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_19, array_19, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_20, array_20, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_21, array_21, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_22, array_22, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_23, array_23, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_24, array_24, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_25, array_25, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_26, array_26, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_27, array_27, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_28, array_28, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_29, array_29, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_30, array_30, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_31, array_31, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_32, array_32, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_33, array_33, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_34, array_34, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_35, array_35, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_36, array_36, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_37, array_37, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_38, array_38, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_39, array_39, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_40, array_40, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_41, array_41, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_42, array_42, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_43, array_43, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_44, array_44, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_45, array_45, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_46, array_46, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_47, array_47, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_48, array_48, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_49, array_49, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_50, array_50, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_51, array_51, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_52, array_52, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_53, array_53, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_54, array_54, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_55, array_55, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_56, array_56, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_57, array_57, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_58, array_58, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_59, array_59, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_60, array_60, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_61, array_61, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_62, array_62, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_63, array_63, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_64, array_64, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_65, array_65, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_66, array_66, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_67, array_67, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_68, array_68, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_69, array_69, node*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy(buffer_array_70, array_70, node*sizeof(double), cudaMemcpyHostToDevice);
	

	mystruct_ab_d.array_01 = buffer_array_01; mystruct_ab_d.array_02 = buffer_array_02; 
	mystruct_ab_d.array_03 = buffer_array_03; mystruct_ab_d.array_04 = buffer_array_04; 
	mystruct_ab_d.array_05 = buffer_array_05; mystruct_ab_d.array_06 = buffer_array_06; 
	mystruct_ab_d.array_07 = buffer_array_07; mystruct_ab_d.array_08 = buffer_array_08; 
	mystruct_ab_d.array_09 = buffer_array_09; mystruct_ab_d.array_10 = buffer_array_10; 
	mystruct_ab_d.array_11 = buffer_array_11; mystruct_ab_d.array_12 = buffer_array_12; 
	mystruct_ab_d.array_13 = buffer_array_13; mystruct_ab_d.array_14 = buffer_array_14; 
	mystruct_ab_d.array_15 = buffer_array_15; mystruct_ab_d.array_16 = buffer_array_16; 
	mystruct_ab_d.array_17 = buffer_array_17; mystruct_ab_d.array_18 = buffer_array_18; 
	mystruct_ab_d.array_19 = buffer_array_19; mystruct_ab_d.array_20 = buffer_array_20; 
	mystruct_ab_d.array_21 = buffer_array_21; mystruct_ab_d.array_22 = buffer_array_22; 
	mystruct_ab_d.array_23 = buffer_array_23; mystruct_ab_d.array_24 = buffer_array_24; 
	mystruct_ab_d.array_25 = buffer_array_25; mystruct_ab_d.array_26 = buffer_array_26; 
	mystruct_ab_d.array_27 = buffer_array_27; mystruct_ab_d.array_28 = buffer_array_28; 
	mystruct_ab_d.array_29 = buffer_array_29; mystruct_ab_d.array_30 = buffer_array_30; 
	mystruct_ab_d.array_31 = buffer_array_31; mystruct_ab_d.array_32 = buffer_array_32; 
	mystruct_ab_d.array_33 = buffer_array_33; mystruct_ab_d.array_34 = buffer_array_34; 
	mystruct_ab_d.array_35 = buffer_array_35; mystruct_ab_d.array_36 = buffer_array_36; 
	mystruct_ab_d.array_37 = buffer_array_37; mystruct_ab_d.array_38 = buffer_array_38; 
	mystruct_ab_d.array_39 = buffer_array_39; mystruct_ab_d.array_40 = buffer_array_40; 
	mystruct_ab_d.array_41 = buffer_array_41; mystruct_ab_d.array_42 = buffer_array_42; 
	mystruct_ab_d.array_43 = buffer_array_43; mystruct_ab_d.array_44 = buffer_array_44; 
	mystruct_ab_d.array_45 = buffer_array_45; mystruct_ab_d.array_46 = buffer_array_46; 
	mystruct_ab_d.array_47 = buffer_array_47; mystruct_ab_d.array_48 = buffer_array_48; 
	mystruct_ab_d.array_49 = buffer_array_49; mystruct_ab_d.array_50 = buffer_array_50; 
	mystruct_ab_d.array_51 = buffer_array_51; mystruct_ab_d.array_52 = buffer_array_52; 
	mystruct_ab_d.array_53 = buffer_array_53; mystruct_ab_d.array_54 = buffer_array_54; 
	mystruct_ab_d.array_55 = buffer_array_55; mystruct_ab_d.array_56 = buffer_array_56; 
	mystruct_ab_d.array_57 = buffer_array_57; mystruct_ab_d.array_58 = buffer_array_58; 
	mystruct_ab_d.array_59 = buffer_array_59; mystruct_ab_d.array_60 = buffer_array_60; 
	mystruct_ab_d.array_61 = buffer_array_61; mystruct_ab_d.array_62 = buffer_array_62; 
	mystruct_ab_d.array_63 = buffer_array_63; mystruct_ab_d.array_64 = buffer_array_64; 
	mystruct_ab_d.array_65 = buffer_array_65; mystruct_ab_d.array_66 = buffer_array_66; 
	mystruct_ab_d.array_67 = buffer_array_67; mystruct_ab_d.array_68 = buffer_array_68; 
	mystruct_ab_d.array_69 = buffer_array_69; mystruct_ab_d.array_70 = buffer_array_70; 
	
	
	
	
	//Use manual block size
	dim3 gridDim(node,1,1);         // 512 x 512 x 64
	dim3 blockDim(1, 1, 1); // 1024 x 1024 x 64, max threads/block=128-512 (multiple of 32)
	
	
	cout<<"Not using struct"<<endl;		
	vector_add70<<<gridDim,blockDim>>>(buffer_array_01, buffer_array_02, buffer_array_03, 
		buffer_array_04, buffer_array_05, buffer_array_06, 
		buffer_array_07, buffer_array_08, buffer_array_09, 
		buffer_array_10, 
		buffer_array_11, buffer_array_12, buffer_array_13, 
		buffer_array_14, buffer_array_15, buffer_array_16, 
		buffer_array_17, buffer_array_18, buffer_array_19, 
		buffer_array_20, 
		buffer_array_21, buffer_array_22, buffer_array_23, 
		buffer_array_24, buffer_array_25, buffer_array_26, 
		buffer_array_27, buffer_array_28, buffer_array_29, 
		buffer_array_30, 
		buffer_array_31, buffer_array_32, buffer_array_33, 
		buffer_array_34, buffer_array_35, buffer_array_36, 		
		buffer_array_37, buffer_array_38, buffer_array_39, 
		buffer_array_40, 
		buffer_array_41, buffer_array_42, buffer_array_43, 
		buffer_array_44, buffer_array_45, buffer_array_46, 
		buffer_array_47, buffer_array_48, buffer_array_49, 
		buffer_array_50,	
		buffer_array_51, buffer_array_52, buffer_array_53, 
		buffer_array_54, buffer_array_55, buffer_array_56, 
		buffer_array_57, buffer_array_58, buffer_array_59, 
		buffer_array_60, 
		buffer_array_61, buffer_array_62, buffer_array_63, 
		buffer_array_64, buffer_array_65, buffer_array_66, 
		buffer_array_67, buffer_array_68, buffer_array_69, 
		buffer_array_70, 		
		
		buffer_c); 
	
	/*
	cout<<"Using struct"<<endl;
	vector_add_struct<<<gridDim,blockDim>>>(mystruct_ab_d, buffer_c); 
	*/
	
	cudaDeviceSynchronize();
	cudaMemcpy(c, buffer_c, node *sizeof(double), cudaMemcpyDeviceToHost);
	
   //##########################################################
	
	//Checking
	double sum_c_serial=0.0;
	double sum_c=0.0;
	
	for (size_t i = 0; i < 6; ++i) {
		cout<< "\t"<< c[i] <<" - "<< c_serial[i] << endl;
	}
	
	for (size_t i = 0; i < node; ++i) {
		sum_c += c[i];
		sum_c_serial += c_serial[i];
	}
	cout<<"Gap= "<<sum_c - sum_c_serial <<endl;
	
	cudaFree(buffer_array_01);	cudaFree(buffer_array_02);
	cudaFree(buffer_array_03);	cudaFree(buffer_array_04);
	cudaFree(buffer_array_05);	cudaFree(buffer_array_06);
	cudaFree(buffer_array_07);	cudaFree(buffer_array_08);
	cudaFree(buffer_array_09);	cudaFree(buffer_array_10);
	cudaFree(buffer_array_11);	cudaFree(buffer_array_12);
	cudaFree(buffer_array_13);	cudaFree(buffer_array_14);
	cudaFree(buffer_array_15);	cudaFree(buffer_array_16);
	cudaFree(buffer_array_17);	cudaFree(buffer_array_18);
	cudaFree(buffer_array_19);	cudaFree(buffer_array_20);
	cudaFree(buffer_array_21);	cudaFree(buffer_array_22);
	cudaFree(buffer_array_23);	cudaFree(buffer_array_24);
	cudaFree(buffer_array_25);	cudaFree(buffer_array_26);
	cudaFree(buffer_array_27);	cudaFree(buffer_array_28);
	cudaFree(buffer_array_29);	cudaFree(buffer_array_30);
	cudaFree(buffer_array_31);	cudaFree(buffer_array_32);
	cudaFree(buffer_array_33);	cudaFree(buffer_array_34);
	cudaFree(buffer_array_35);	cudaFree(buffer_array_36);
	cudaFree(buffer_array_37);	cudaFree(buffer_array_38);
	cudaFree(buffer_array_39);	cudaFree(buffer_array_40);
	cudaFree(buffer_array_41);	cudaFree(buffer_array_42);
	cudaFree(buffer_array_43);	cudaFree(buffer_array_44);
	cudaFree(buffer_array_45);	cudaFree(buffer_array_46);
	cudaFree(buffer_array_47);	cudaFree(buffer_array_48);
	cudaFree(buffer_array_49);	cudaFree(buffer_array_50);
	cudaFree(buffer_array_51);	cudaFree(buffer_array_52);
	cudaFree(buffer_array_53);	cudaFree(buffer_array_54);
	cudaFree(buffer_array_55);	cudaFree(buffer_array_56);
	cudaFree(buffer_array_57);	cudaFree(buffer_array_58);
	cudaFree(buffer_array_59);	cudaFree(buffer_array_60);
	cudaFree(buffer_array_61);	cudaFree(buffer_array_62);
	cudaFree(buffer_array_63);	cudaFree(buffer_array_64);
	cudaFree(buffer_array_65);	cudaFree(buffer_array_66);
	cudaFree(buffer_array_67);	cudaFree(buffer_array_68);
	cudaFree(buffer_array_69);	cudaFree(buffer_array_70);
	
	cudaFree(buffer_c);	
	
	delete [] array_01;	delete [] array_02;	delete [] array_03;	delete [] array_04;	
	delete [] array_05;	delete [] array_06;	delete [] array_07;	delete [] array_08;	
	delete [] array_09;	delete [] array_10;	
	delete [] array_11;	delete [] array_12;	delete [] array_13;	delete [] array_14;	
	delete [] array_15;	delete [] array_16;	delete [] array_17;	delete [] array_18;	
	delete [] array_19;	delete [] array_20;	
	delete [] array_21;	delete [] array_22;	delete [] array_23;	delete [] array_24;	
	delete [] array_25;	delete [] array_26;	delete [] array_27;	delete [] array_28;	
	delete [] array_29;	delete [] array_30;	
	delete [] array_31;	delete [] array_32;	delete [] array_33;	delete [] array_34;	
	delete [] array_35;	delete [] array_36;	delete [] array_37;	delete [] array_38;	
	delete [] array_39;	delete [] array_40;
	delete [] array_41;	delete [] array_42;	delete [] array_43;	delete [] array_44;	
	delete [] array_45;	delete [] array_46;	delete [] array_47;	delete [] array_48;	
	delete [] array_49;	delete [] array_50;	
	delete [] array_51;	delete [] array_52;	delete [] array_53;	delete [] array_54;	
	delete [] array_55;	delete [] array_56;	delete [] array_57;	delete [] array_58;	
	delete [] array_59;	delete [] array_60;
	delete [] array_61;	delete [] array_62;	delete [] array_63;	delete [] array_64;	
	delete [] array_65;	delete [] array_66;	delete [] array_67;	delete [] array_68;	
	delete [] array_69;	delete [] array_70;
	
	delete [] c;
	
	delete [] array_01_serial;	delete [] array_02_serial;	delete [] array_03_serial;	
	delete [] array_04_serial; 	delete [] array_05_serial;	delete [] array_06_serial;
	delete [] array_07_serial;	delete [] array_08_serial; delete [] array_09_serial;
	delete [] array_10_serial;
	delete [] array_11_serial;	delete [] array_12_serial;	delete [] array_13_serial;	
	delete [] array_14_serial; 	delete [] array_15_serial;	delete [] array_16_serial;
	delete [] array_17_serial;	delete [] array_18_serial; delete [] array_19_serial;
	delete [] array_20_serial;
	delete [] array_21_serial;	delete [] array_22_serial;	delete [] array_23_serial;	
	delete [] array_24_serial; 	delete [] array_25_serial;	delete [] array_26_serial;
	delete [] array_27_serial;	delete [] array_28_serial; delete [] array_29_serial;
	delete [] array_30_serial;
	delete [] array_31_serial;	delete [] array_32_serial;	delete [] array_33_serial;	
	delete [] array_34_serial; 	delete [] array_35_serial;	delete [] array_36_serial;	
	delete [] array_37_serial;	delete [] array_38_serial; delete [] array_39_serial;
	delete [] array_40_serial;
	delete [] array_41_serial;	delete [] array_42_serial;	delete [] array_43_serial;	
	delete [] array_44_serial; 	delete [] array_45_serial;	delete [] array_46_serial;
	delete [] array_47_serial;	delete [] array_48_serial; delete [] array_49_serial;
	delete [] array_50_serial;
	delete [] array_51_serial;	delete [] array_52_serial;	delete [] array_53_serial;	
	delete [] array_54_serial; 	delete [] array_55_serial;	delete [] array_56_serial;
	delete [] array_57_serial;	delete [] array_58_serial; delete [] array_59_serial;
	delete [] array_60_serial;
	delete [] array_61_serial;	delete [] array_62_serial;	delete [] array_63_serial;	
	delete [] array_64_serial; 	delete [] array_65_serial;	delete [] array_66_serial;
	delete [] array_67_serial;	delete [] array_68_serial; delete [] array_69_serial;
	delete [] array_70_serial;
	
	delete [] c_serial;
	
	printf("End of program!\n");
	
	
}
	.file	"tmpxft_002f8876_00000000-6_max_args_test.cudafe1.cpp"
	.text
#APP
	.globl _ZSt21ios_base_library_initv

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB4231:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE4231:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.type	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0, @function
_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0:
.LFB4955:
	.cfi_startproc
	movl	$800, %esi
	jmp	cudaMalloc@PLT
	.cfi_endproc
.LFE4955:
	.size	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0, .-_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	.align 2
	.type	_ZNSolsEPFRSoS_E.isra.0, @function
_ZNSolsEPFRSoS_E.isra.0:
.LFB4956:
	.cfi_startproc
	jmp	*%rsi
	.cfi_endproc
.LFE4956:
	.size	_ZNSolsEPFRSoS_E.isra.0, .-_ZNSolsEPFRSoS_E.isra.0
	.globl	_Z47__device_stub__Z17vector_add_struct9struct_abPdR9struct_abPd
	.type	_Z47__device_stub__Z17vector_add_struct9struct_abPdR9struct_abPd, @function
_Z47__device_stub__Z17vector_add_struct9struct_abPdR9struct_abPd:
.LFB4253:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rsi, 8(%rsp)
	leaq	32(%rsp), %rcx
	leaq	24(%rsp), %rdx
	leaq	52(%rsp), %rsi
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	8(%rsp), %rax
	movq	%rdi, 88(%rsp)
	leaq	40(%rsp), %rdi
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 40(%rsp)
	movl	$1, 48(%rsp)
	movq	%rax, 52(%rsp)
	movl	$1, 60(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L4
	pushq	32(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z17vector_add_struct9struct_abPd(%rip), %rdi
	pushq	32(%rsp)
	.cfi_def_cfa_offset 144
	movq	68(%rsp), %rcx
	movl	76(%rsp), %r8d
	movq	56(%rsp), %rsi
	movl	64(%rsp), %edx
	leaq	104(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L4:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L6
	call	__stack_chk_fail@PLT
.L6:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4253:
	.size	_Z47__device_stub__Z17vector_add_struct9struct_abPdR9struct_abPd, .-_Z47__device_stub__Z17vector_add_struct9struct_abPdR9struct_abPd
	.globl	_Z17vector_add_struct9struct_abPd
	.type	_Z17vector_add_struct9struct_abPd, @function
_Z17vector_add_struct9struct_abPd:
.LFB4254:
	.cfi_startproc
	endbr64
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdi, %rsi
	leaq	16(%rsp), %rdi
	call	_Z47__device_stub__Z17vector_add_struct9struct_abPdR9struct_abPd
	popq	%rdx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4254:
	.size	_Z17vector_add_struct9struct_abPd, .-_Z17vector_add_struct9struct_abPd
	.globl	_Z172__device_stub__Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.type	_Z172__device_stub__Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, @function
_Z172__device_stub__Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_:
.LFB4255:
	.cfi_startproc
	endbr64
	subq	$1224, %rsp
	.cfi_def_cfa_offset 1232
	movq	1232(%rsp), %rax
	movq	%rdi, 568(%rsp)
	leaq	592(%rsp), %rdi
	movq	%rsi, 560(%rsp)
	leaq	604(%rsp), %rsi
	movq	%rax, 520(%rsp)
	movq	1240(%rsp), %rax
	movq	%rdx, 552(%rsp)
	leaq	576(%rsp), %rdx
	movq	%rax, 512(%rsp)
	movq	1248(%rsp), %rax
	movq	%rcx, 544(%rsp)
	leaq	584(%rsp), %rcx
	movq	%rax, 504(%rsp)
	movq	1256(%rsp), %rax
	movq	%r8, 536(%rsp)
	movq	%rax, 496(%rsp)
	movq	1264(%rsp), %rax
	movq	%r9, 528(%rsp)
	movq	%rax, 488(%rsp)
	movq	1272(%rsp), %rax
	movq	%rax, 480(%rsp)
	movq	1280(%rsp), %rax
	movq	%rax, 472(%rsp)
	movq	1288(%rsp), %rax
	movq	%rax, 464(%rsp)
	movq	1296(%rsp), %rax
	movq	%rax, 456(%rsp)
	movq	1304(%rsp), %rax
	movq	%rax, 448(%rsp)
	movq	1312(%rsp), %rax
	movq	%rax, 440(%rsp)
	movq	1320(%rsp), %rax
	movq	%rax, 432(%rsp)
	movq	1328(%rsp), %rax
	movq	%rax, 424(%rsp)
	movq	1336(%rsp), %rax
	movq	%rax, 416(%rsp)
	movq	1344(%rsp), %rax
	movq	%rax, 408(%rsp)
	movq	1352(%rsp), %rax
	movq	%rax, 400(%rsp)
	movq	1360(%rsp), %rax
	movq	%rax, 392(%rsp)
	movq	1368(%rsp), %rax
	movq	%rax, 384(%rsp)
	movq	1376(%rsp), %rax
	movq	%rax, 376(%rsp)
	movq	1384(%rsp), %rax
	movq	%rax, 368(%rsp)
	movq	1392(%rsp), %rax
	movq	%rax, 360(%rsp)
	movq	1400(%rsp), %rax
	movq	%rax, 352(%rsp)
	movq	1408(%rsp), %rax
	movq	%rax, 344(%rsp)
	movq	1416(%rsp), %rax
	movq	%rax, 336(%rsp)
	movq	1424(%rsp), %rax
	movq	%rax, 328(%rsp)
	movq	1432(%rsp), %rax
	movq	%rax, 320(%rsp)
	movq	1440(%rsp), %rax
	movq	%rax, 312(%rsp)
	movq	1448(%rsp), %rax
	movq	%rax, 304(%rsp)
	movq	1456(%rsp), %rax
	movq	%rax, 296(%rsp)
	movq	1464(%rsp), %rax
	movq	%rax, 288(%rsp)
	movq	1472(%rsp), %rax
	movq	%rax, 280(%rsp)
	movq	1480(%rsp), %rax
	movq	%rax, 272(%rsp)
	movq	1488(%rsp), %rax
	movq	%rax, 264(%rsp)
	movq	1496(%rsp), %rax
	movq	%rax, 256(%rsp)
	movq	1504(%rsp), %rax
	movq	%rax, 248(%rsp)
	movq	1512(%rsp), %rax
	movq	%rax, 240(%rsp)
	movq	1520(%rsp), %rax
	movq	%rax, 232(%rsp)
	movq	1528(%rsp), %rax
	movq	%rax, 224(%rsp)
	movq	1536(%rsp), %rax
	movq	%rax, 216(%rsp)
	movq	1544(%rsp), %rax
	movq	%rax, 208(%rsp)
	movq	1552(%rsp), %rax
	movq	%rax, 200(%rsp)
	movq	1560(%rsp), %rax
	movq	%rax, 192(%rsp)
	movq	1568(%rsp), %rax
	movq	%rax, 184(%rsp)
	movq	1576(%rsp), %rax
	movq	%rax, 176(%rsp)
	movq	1584(%rsp), %rax
	movq	%rax, 168(%rsp)
	movq	1592(%rsp), %rax
	movq	%rax, 160(%rsp)
	movq	1600(%rsp), %rax
	movq	%rax, 152(%rsp)
	movq	1608(%rsp), %rax
	movq	%rax, 144(%rsp)
	movq	1616(%rsp), %rax
	movq	%rax, 136(%rsp)
	movq	1624(%rsp), %rax
	movq	%rax, 128(%rsp)
	movq	1632(%rsp), %rax
	movq	%rax, 120(%rsp)
	movq	1640(%rsp), %rax
	movq	%rax, 112(%rsp)
	movq	1648(%rsp), %rax
	movq	%rax, 104(%rsp)
	movq	1656(%rsp), %rax
	movq	%rax, 96(%rsp)
	movq	1664(%rsp), %rax
	movq	%rax, 88(%rsp)
	movq	1672(%rsp), %rax
	movq	%rax, 80(%rsp)
	movq	1680(%rsp), %rax
	movq	%rax, 72(%rsp)
	movq	1688(%rsp), %rax
	movq	%rax, 64(%rsp)
	movq	1696(%rsp), %rax
	movq	%rax, 56(%rsp)
	movq	1704(%rsp), %rax
	movq	%rax, 48(%rsp)
	movq	1712(%rsp), %rax
	movq	%rax, 40(%rsp)
	movq	1720(%rsp), %rax
	movq	%rax, 32(%rsp)
	movq	1728(%rsp), %rax
	movq	%rax, 24(%rsp)
	movq	1736(%rsp), %rax
	movq	%rax, 16(%rsp)
	movq	1744(%rsp), %rax
	movq	%rax, 8(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 1208(%rsp)
	xorl	%eax, %eax
	leaq	568(%rsp), %rax
	movq	%rax, 640(%rsp)
	leaq	560(%rsp), %rax
	movq	%rax, 648(%rsp)
	leaq	552(%rsp), %rax
	movq	%rax, 656(%rsp)
	leaq	544(%rsp), %rax
	movq	%rax, 664(%rsp)
	leaq	536(%rsp), %rax
	movq	%rax, 672(%rsp)
	leaq	528(%rsp), %rax
	movq	%rax, 680(%rsp)
	leaq	520(%rsp), %rax
	movq	%rax, 688(%rsp)
	leaq	512(%rsp), %rax
	movq	%rax, 696(%rsp)
	leaq	504(%rsp), %rax
	movq	%rax, 704(%rsp)
	leaq	496(%rsp), %rax
	movq	%rax, 712(%rsp)
	leaq	488(%rsp), %rax
	movq	%rax, 720(%rsp)
	leaq	480(%rsp), %rax
	movq	%rax, 728(%rsp)
	leaq	472(%rsp), %rax
	movq	%rax, 736(%rsp)
	leaq	464(%rsp), %rax
	movq	%rax, 744(%rsp)
	leaq	456(%rsp), %rax
	movq	%rax, 752(%rsp)
	leaq	448(%rsp), %rax
	movq	%rax, 760(%rsp)
	leaq	440(%rsp), %rax
	movq	%rax, 768(%rsp)
	leaq	432(%rsp), %rax
	movq	%rax, 776(%rsp)
	leaq	424(%rsp), %rax
	movq	%rax, 784(%rsp)
	leaq	416(%rsp), %rax
	movq	%rax, 792(%rsp)
	leaq	408(%rsp), %rax
	movq	%rax, 800(%rsp)
	leaq	400(%rsp), %rax
	movq	%rax, 808(%rsp)
	leaq	392(%rsp), %rax
	movq	%rax, 816(%rsp)
	leaq	384(%rsp), %rax
	movq	%rax, 824(%rsp)
	leaq	376(%rsp), %rax
	movq	%rax, 832(%rsp)
	leaq	368(%rsp), %rax
	movq	%rax, 840(%rsp)
	leaq	360(%rsp), %rax
	movq	%rax, 848(%rsp)
	leaq	352(%rsp), %rax
	movq	%rax, 856(%rsp)
	leaq	344(%rsp), %rax
	movq	%rax, 864(%rsp)
	leaq	336(%rsp), %rax
	movq	%rax, 872(%rsp)
	leaq	328(%rsp), %rax
	movq	%rax, 880(%rsp)
	leaq	320(%rsp), %rax
	movq	%rax, 888(%rsp)
	leaq	312(%rsp), %rax
	movq	%rax, 896(%rsp)
	leaq	304(%rsp), %rax
	movq	%rax, 904(%rsp)
	leaq	296(%rsp), %rax
	movq	%rax, 912(%rsp)
	leaq	288(%rsp), %rax
	movq	%rax, 920(%rsp)
	leaq	280(%rsp), %rax
	movq	%rax, 928(%rsp)
	leaq	272(%rsp), %rax
	movq	%rax, 936(%rsp)
	leaq	264(%rsp), %rax
	movq	%rax, 944(%rsp)
	leaq	256(%rsp), %rax
	movq	%rax, 952(%rsp)
	leaq	248(%rsp), %rax
	movq	%rax, 960(%rsp)
	leaq	240(%rsp), %rax
	movq	%rax, 968(%rsp)
	leaq	232(%rsp), %rax
	movq	%rax, 976(%rsp)
	leaq	224(%rsp), %rax
	movq	%rax, 984(%rsp)
	leaq	216(%rsp), %rax
	movq	%rax, 992(%rsp)
	leaq	208(%rsp), %rax
	movq	%rax, 1000(%rsp)
	leaq	200(%rsp), %rax
	movq	%rax, 1008(%rsp)
	leaq	192(%rsp), %rax
	movq	%rax, 1016(%rsp)
	leaq	184(%rsp), %rax
	movq	%rax, 1024(%rsp)
	leaq	176(%rsp), %rax
	movq	%rax, 1032(%rsp)
	leaq	168(%rsp), %rax
	movq	%rax, 1040(%rsp)
	leaq	160(%rsp), %rax
	movq	%rax, 1048(%rsp)
	leaq	152(%rsp), %rax
	movq	%rax, 1056(%rsp)
	leaq	144(%rsp), %rax
	movq	%rax, 1064(%rsp)
	leaq	136(%rsp), %rax
	movq	%rax, 1072(%rsp)
	leaq	128(%rsp), %rax
	movq	%rax, 1080(%rsp)
	leaq	120(%rsp), %rax
	movq	%rax, 1088(%rsp)
	leaq	112(%rsp), %rax
	movq	%rax, 1096(%rsp)
	leaq	104(%rsp), %rax
	movq	%rax, 1104(%rsp)
	leaq	96(%rsp), %rax
	movq	%rax, 1112(%rsp)
	leaq	88(%rsp), %rax
	movq	%rax, 1120(%rsp)
	leaq	80(%rsp), %rax
	movq	%rax, 1128(%rsp)
	leaq	72(%rsp), %rax
	movq	%rax, 1136(%rsp)
	leaq	64(%rsp), %rax
	movq	%rax, 1144(%rsp)
	leaq	56(%rsp), %rax
	movq	%rax, 1152(%rsp)
	leaq	48(%rsp), %rax
	movq	%rax, 1160(%rsp)
	leaq	40(%rsp), %rax
	movq	%rax, 1168(%rsp)
	leaq	32(%rsp), %rax
	movq	%rax, 1176(%rsp)
	leaq	24(%rsp), %rax
	movq	%rax, 1184(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 1192(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 1200(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 592(%rsp)
	movl	$1, 600(%rsp)
	movq	%rax, 604(%rsp)
	movl	$1, 612(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L11
	pushq	584(%rsp)
	.cfi_def_cfa_offset 1240
	leaq	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_(%rip), %rdi
	pushq	584(%rsp)
	.cfi_def_cfa_offset 1248
	movq	620(%rsp), %rcx
	movl	628(%rsp), %r8d
	movq	608(%rsp), %rsi
	movl	616(%rsp), %edx
	leaq	656(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 1240
	popq	%rdx
	.cfi_def_cfa_offset 1232
.L11:
	movq	1208(%rsp), %rax
	subq	%fs:40, %rax
	je	.L13
	call	__stack_chk_fail@PLT
.L13:
	addq	$1224, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4255:
	.size	_Z172__device_stub__Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, .-_Z172__device_stub__Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.globl	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.type	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, @function
_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_:
.LFB4256:
	.cfi_startproc
	endbr64
	jmp	_Z172__device_stub__Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.cfi_endproc
.LFE4256:
	.size	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, .-_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"Start of program"
.LC2:
	.string	"No of nodes = "
.LC4:
	.string	"Start parallel version"
.LC5:
	.string	"Not using struct"
.LC6:
	.string	"\t"
.LC7:
	.string	" - "
.LC8:
	.string	"Gap= "
.LC9:
	.string	"End of program!\n"
	.section	.text.startup,"ax",@progbits
	.globl	main
	.type	main, @function
main:
.LFB4228:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	_ZSt4cout(%rip), %r15
	leaq	.LC1(%rip), %rsi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	movq	%r15, %rdi
	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	$1736, %rsp
	.cfi_def_cfa_offset 1792
	movq	%fs:40, %rax
	movq	%rax, 1720(%rsp)
	xorl	%eax, %eax
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	movl	$800, %edi
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 544(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 552(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 560(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 568(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 576(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 584(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 592(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 600(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 608(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 616(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 624(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 632(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 640(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 648(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 656(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 664(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 672(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 680(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 688(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 696(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 704(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 712(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 720(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 728(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 736(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 744(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 752(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 760(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 768(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 776(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 784(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 792(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 800(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 808(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 816(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 824(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 832(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 840(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 848(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 856(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 864(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 872(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 880(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 888(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 896(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 904(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 912(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 920(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 928(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 936(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 944(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 952(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 960(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 968(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 976(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 984(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 992(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1000(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1008(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1016(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1024(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1032(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1040(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1048(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1056(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1064(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1072(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1080(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1088(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1096(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, %rbx
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, %r14
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, %r13
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, %r12
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, %rbp
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 16(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 24(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 32(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 40(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 48(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 56(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 64(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 72(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 80(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 88(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 96(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 104(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 112(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 120(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 128(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 136(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 144(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 152(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 160(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 168(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 176(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 184(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 192(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 200(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 208(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 216(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 224(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 232(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 240(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 248(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 256(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 264(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 272(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 280(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 288(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 296(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 304(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 312(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 320(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 328(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 336(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 344(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 352(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 360(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 368(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 376(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 384(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 392(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 400(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 408(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 416(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 424(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 432(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 440(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 448(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 456(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 464(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 472(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 480(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 488(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 496(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 504(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 512(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 520(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 528(%rsp)
	call	_Znam@PLT
	movl	$800, %edi
	movq	%rax, 1104(%rsp)
	call	_Znam@PLT
	movq	%r15, %rdi
	leaq	.LC2(%rip), %rsi
	xorl	%r15d, %r15d
	movq	%rax, 536(%rsp)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	$100, %esi
	movq	%rax, %rdi
	call	_ZNSo9_M_insertImEERSoT_@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
.L17:
	xorl	%edi, %edi
	call	time@PLT
	movl	%eax, %edi
	call	srand@PLT
	call	rand@PLT
	cvtsi2sdq	%r15, %xmm2
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	%xmm2, %xmm0
	movsd	%xmm2, 8(%rsp)
	movsd	%xmm0, (%r14,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movsd	%xmm0, 0(%r13,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movsd	%xmm0, (%r12,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movsd	%xmm0, 0(%rbp,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	16(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	24(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	32(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	40(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	48(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	56(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	64(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	72(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	80(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	88(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	96(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	104(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	112(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	120(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	128(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	136(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	144(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	152(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	160(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	168(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	176(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	184(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	192(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	200(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	208(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	216(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	224(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	232(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	240(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	248(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	256(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	264(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	272(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	280(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	288(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	296(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	304(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	312(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	320(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	328(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	336(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	344(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	352(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	360(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	368(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	376(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	384(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	392(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	400(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	408(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	416(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	424(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	432(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	440(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	448(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	456(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	464(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	472(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	480(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	488(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	496(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	504(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	512(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	520(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	528(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	call	rand@PLT
	movsd	(%r14,%r15,8), %xmm1
	cvtsi2sdl	%eax, %xmm0
	divsd	.LC3(%rip), %xmm0
	mulsd	8(%rsp), %xmm0
	movq	1104(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	movq	544(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movsd	0(%r13,%r15,8), %xmm1
	movq	552(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movsd	(%r12,%r15,8), %xmm1
	movq	560(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movsd	0(%rbp,%r15,8), %xmm1
	movq	568(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	16(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	576(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	24(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	584(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	32(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	592(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	40(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	600(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	48(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	608(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	56(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	616(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	64(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	624(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	72(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	632(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	80(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	640(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	88(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	648(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	96(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	656(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	104(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	664(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	112(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	672(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	120(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	680(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	128(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	688(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	136(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	696(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	144(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	704(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	152(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	712(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	160(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	720(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	168(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	728(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	176(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	736(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	184(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	744(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	192(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	752(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	200(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	760(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	208(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	768(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	216(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	776(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	224(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	784(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	232(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	792(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	240(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	800(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	248(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	808(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	256(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	816(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	264(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	824(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	272(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	832(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	280(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	840(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	288(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	848(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	296(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	856(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	304(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	864(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	312(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	872(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	320(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	880(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	328(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	888(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	336(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	896(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	344(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	904(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	352(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	912(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	360(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	920(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	368(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	928(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	376(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	936(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	384(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	944(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	392(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	952(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	400(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	960(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	408(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	968(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	416(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	976(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	424(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	984(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	432(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	992(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	440(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1000(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	448(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1008(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	456(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1016(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	464(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1024(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	472(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1032(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	480(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1040(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	488(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1048(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	496(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1056(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	504(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1064(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	512(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1072(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	520(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1080(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	528(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm1
	movq	1088(%rsp), %rax
	movsd	%xmm1, (%rax,%r15,8)
	movq	1096(%rsp), %rax
	movsd	%xmm0, (%rax,%r15,8)
	incq	%r15
	cmpq	$100, %r15
	jne	.L17
	xorl	%eax, %eax
.L18:
	movq	544(%rsp), %rdx
	movq	560(%rsp), %rcx
	movsd	(%rdx,%rax,8), %xmm0
	movq	552(%rsp), %rdx
	addsd	(%rdx,%rax,8), %xmm0
	movq	568(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	576(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	584(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	592(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	600(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	608(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	616(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	624(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	632(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	640(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	648(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	656(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	664(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	addsd	(%rdx,%rax,8), %xmm0
	movq	672(%rsp), %rcx
	movq	680(%rsp), %rdx
	movq	776(%rsp), %rsi
	addsd	(%rcx,%rax,8), %xmm0
	movq	688(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	696(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	704(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	712(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	720(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	728(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	736(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	744(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	752(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	760(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	768(%rsp), %rcx
	addsd	(%rdx,%rax,8), %xmm0
	movq	784(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	792(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	addsd	(%rdx,%rax,8), %xmm0
	addsd	(%rcx,%rax,8), %xmm0
	movq	800(%rsp), %rsi
	movq	808(%rsp), %rdx
	movq	816(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	824(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	832(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	840(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	848(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	856(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	864(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	872(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	880(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	888(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	896(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	904(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	912(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	920(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	addsd	(%rcx,%rax,8), %xmm0
	addsd	(%rsi,%rax,8), %xmm0
	movq	928(%rsp), %rdx
	movq	936(%rsp), %rcx
	movq	944(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	952(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	960(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	968(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	976(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	984(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	992(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	1000(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	1008(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	1016(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	1024(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	1032(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	1040(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	1048(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	addsd	(%rsi,%rax,8), %xmm0
	addsd	(%rdx,%rax,8), %xmm0
	movq	1056(%rsp), %rcx
	movq	1064(%rsp), %rsi
	movq	1072(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	movq	1080(%rsp), %rcx
	addsd	(%rsi,%rax,8), %xmm0
	movq	1088(%rsp), %rsi
	addsd	(%rdx,%rax,8), %xmm0
	movq	1096(%rsp), %rdx
	addsd	(%rcx,%rax,8), %xmm0
	addsd	(%rsi,%rax,8), %xmm0
	addsd	(%rdx,%rax,8), %xmm0
	movsd	%xmm0, (%rbx,%rax,8)
	incq	%rax
	cmpq	$100, %rax
	jne	.L18
	leaq	_ZSt4cout(%rip), %r15
	leaq	.LC4(%rip), %rsi
	movq	%r15, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	leaq	1128(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1136(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1144(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1152(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1160(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1168(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1176(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1184(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1192(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1200(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1208(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1216(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1224(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1232(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1240(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1248(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1256(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1264(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1272(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1280(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1288(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1296(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1304(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1312(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1320(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1328(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1336(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1344(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1352(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1360(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1368(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1376(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1384(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1392(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1400(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1408(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1416(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1424(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1432(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1440(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1448(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1456(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1464(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1472(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1480(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1488(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1496(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1504(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1512(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1520(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1528(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1536(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1544(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1552(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1560(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1568(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1576(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1584(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1592(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1600(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1608(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1616(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1624(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1632(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1640(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1648(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1656(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1664(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1672(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1680(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	leaq	1688(%rsp), %rdi
	call	_Z10cudaMallocIdE9cudaErrorPPT_m.constprop.0.isra.0
	movq	1128(%rsp), %rdi
	movl	$1, %ecx
	movq	%r14, %rsi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	1136(%rsp), %rdi
	movl	$1, %ecx
	movq	%r13, %rsi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	1144(%rsp), %rdi
	movl	$1, %ecx
	movq	%r12, %rsi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	1152(%rsp), %rdi
	movl	$1, %ecx
	movq	%rbp, %rsi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	16(%rsp), %rsi
	movl	$1, %ecx
	movq	1160(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	24(%rsp), %rsi
	movl	$1, %ecx
	movq	1168(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	32(%rsp), %rsi
	movl	$1, %ecx
	movq	1176(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	40(%rsp), %rsi
	movl	$1, %ecx
	movq	1184(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	48(%rsp), %rsi
	movl	$1, %ecx
	movq	1192(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	56(%rsp), %rsi
	movl	$1, %ecx
	movq	1200(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	64(%rsp), %rsi
	movl	$1, %ecx
	movq	1208(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	72(%rsp), %rsi
	movl	$1, %ecx
	movq	1216(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	80(%rsp), %rsi
	movl	$1, %ecx
	movq	1224(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	88(%rsp), %rsi
	movl	$1, %ecx
	movq	1232(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	96(%rsp), %rsi
	movl	$1, %ecx
	movq	1240(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	104(%rsp), %rsi
	movl	$1, %ecx
	movq	1248(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	112(%rsp), %rsi
	movl	$1, %ecx
	movq	1256(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movq	120(%rsp), %rsi
	movl	$1, %ecx
	movq	1264(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	128(%rsp), %rsi
	movq	1272(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	136(%rsp), %rsi
	movq	1280(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	144(%rsp), %rsi
	movq	1288(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	152(%rsp), %rsi
	movq	1296(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	160(%rsp), %rsi
	movq	1304(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	168(%rsp), %rsi
	movq	1312(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	176(%rsp), %rsi
	movq	1320(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	184(%rsp), %rsi
	movq	1328(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	192(%rsp), %rsi
	movq	1336(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	200(%rsp), %rsi
	movq	1344(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	208(%rsp), %rsi
	movq	1352(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	216(%rsp), %rsi
	movq	1360(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	224(%rsp), %rsi
	movq	1368(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	232(%rsp), %rsi
	movq	1376(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	240(%rsp), %rsi
	movq	1384(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	248(%rsp), %rsi
	movq	1392(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	256(%rsp), %rsi
	movq	1400(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	264(%rsp), %rsi
	movq	1408(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	272(%rsp), %rsi
	movq	1416(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	280(%rsp), %rsi
	movq	1424(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	288(%rsp), %rsi
	movq	1432(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	296(%rsp), %rsi
	movq	1440(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	304(%rsp), %rsi
	movq	1448(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	312(%rsp), %rsi
	movq	1456(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	320(%rsp), %rsi
	movq	1464(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	328(%rsp), %rsi
	movq	1472(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	336(%rsp), %rsi
	movq	1480(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	344(%rsp), %rsi
	movq	1488(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	352(%rsp), %rsi
	movq	1496(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	360(%rsp), %rsi
	movq	1504(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	368(%rsp), %rsi
	movq	1512(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	376(%rsp), %rsi
	movq	1520(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	384(%rsp), %rsi
	movq	1528(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	392(%rsp), %rsi
	movq	1536(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	400(%rsp), %rsi
	movq	1544(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	408(%rsp), %rsi
	movq	1552(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	416(%rsp), %rsi
	movq	1560(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	424(%rsp), %rsi
	movq	1568(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	432(%rsp), %rsi
	movq	1576(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	440(%rsp), %rsi
	movq	1584(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	448(%rsp), %rsi
	movq	1592(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	456(%rsp), %rsi
	movq	1600(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	464(%rsp), %rsi
	movq	1608(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	472(%rsp), %rsi
	movq	1616(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	480(%rsp), %rsi
	movq	1624(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	488(%rsp), %rsi
	movq	1632(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	496(%rsp), %rsi
	movq	1640(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	504(%rsp), %rsi
	movq	1648(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	512(%rsp), %rsi
	movq	1656(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	520(%rsp), %rsi
	movq	1664(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	528(%rsp), %rsi
	movq	1672(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1, %ecx
	movl	$800, %edx
	movq	1104(%rsp), %rsi
	movq	1680(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	$1073741849, %eax
	leaq	.LC5(%rip), %rsi
	movq	%r15, %rdi
	movl	$1, 1704(%rsp)
	salq	$2, %rax
	movq	%rax, 1696(%rsp)
	subq	$99, %rax
	movq	%rax, 1708(%rsp)
	movl	$1, 1716(%rsp)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	movl	1716(%rsp), %ecx
	xorl	%r9d, %r9d
	movq	1708(%rsp), %rdx
	movq	1696(%rsp), %rdi
	movl	1704(%rsp), %esi
	xorl	%r8d, %r8d
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L19
	pushq	%rax
	.cfi_def_cfa_offset 1800
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1808
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1816
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1824
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1832
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1840
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1848
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1856
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1864
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1872
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1880
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1888
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1896
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1904
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1912
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1920
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1928
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1936
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1944
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1952
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1960
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1968
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1976
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1984
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 1992
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2000
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2008
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2016
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2024
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2032
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2040
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2048
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2056
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2064
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2072
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2080
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2088
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2096
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2104
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2112
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2120
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2128
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2136
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2144
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2152
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2160
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2168
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2176
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2184
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2192
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2200
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2208
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2216
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2224
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2232
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2240
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2248
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2256
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2264
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2272
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2280
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2288
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2296
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2304
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2312
	pushq	1696(%rsp)
	.cfi_def_cfa_offset 2320
	movq	1696(%rsp), %r9
	movq	1688(%rsp), %r8
	movq	1680(%rsp), %rcx
	movq	1672(%rsp), %rdx
	movq	1664(%rsp), %rsi
	movq	1656(%rsp), %rdi
	call	_Z172__device_stub__Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	addq	$528, %rsp
	.cfi_def_cfa_offset 1792
.L19:
	call	cudaDeviceSynchronize@PLT
	movq	1688(%rsp), %rsi
	movl	$2, %ecx
	xorl	%r15d, %r15d
	movq	536(%rsp), %rdi
	movl	$800, %edx
	call	cudaMemcpy@PLT
.L20:
	leaq	.LC6(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	536(%rsp), %rax
	movsd	(%rax,%r15,8), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC7(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	(%rbx,%r15,8), %xmm0
	incq	%r15
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	cmpq	$6, %r15
	jne	.L20
	xorps	%xmm0, %xmm0
	xorl	%eax, %eax
	movaps	%xmm0, %xmm1
.L21:
	movq	536(%rsp), %rcx
	addsd	(%rbx,%rax,8), %xmm1
	addsd	(%rcx,%rax,8), %xmm0
	incq	%rax
	cmpq	$100, %rax
	jne	.L21
	leaq	.LC8(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	movsd	%xmm1, 1112(%rsp)
	movsd	%xmm0, 8(%rsp)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%rsp), %xmm0
	movsd	1112(%rsp), %xmm1
	movq	%rax, %rdi
	subsd	%xmm1, %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	movq	1128(%rsp), %rdi
	call	cudaFree@PLT
	movq	1136(%rsp), %rdi
	call	cudaFree@PLT
	movq	1144(%rsp), %rdi
	call	cudaFree@PLT
	movq	1152(%rsp), %rdi
	call	cudaFree@PLT
	movq	1160(%rsp), %rdi
	call	cudaFree@PLT
	movq	1168(%rsp), %rdi
	call	cudaFree@PLT
	movq	1176(%rsp), %rdi
	call	cudaFree@PLT
	movq	1184(%rsp), %rdi
	call	cudaFree@PLT
	movq	1192(%rsp), %rdi
	call	cudaFree@PLT
	movq	1200(%rsp), %rdi
	call	cudaFree@PLT
	movq	1208(%rsp), %rdi
	call	cudaFree@PLT
	movq	1216(%rsp), %rdi
	call	cudaFree@PLT
	movq	1224(%rsp), %rdi
	call	cudaFree@PLT
	movq	1232(%rsp), %rdi
	call	cudaFree@PLT
	movq	1240(%rsp), %rdi
	call	cudaFree@PLT
	movq	1248(%rsp), %rdi
	call	cudaFree@PLT
	movq	1256(%rsp), %rdi
	call	cudaFree@PLT
	movq	1264(%rsp), %rdi
	call	cudaFree@PLT
	movq	1272(%rsp), %rdi
	call	cudaFree@PLT
	movq	1280(%rsp), %rdi
	call	cudaFree@PLT
	movq	1288(%rsp), %rdi
	call	cudaFree@PLT
	movq	1296(%rsp), %rdi
	call	cudaFree@PLT
	movq	1304(%rsp), %rdi
	call	cudaFree@PLT
	movq	1312(%rsp), %rdi
	call	cudaFree@PLT
	movq	1320(%rsp), %rdi
	call	cudaFree@PLT
	movq	1328(%rsp), %rdi
	call	cudaFree@PLT
	movq	1336(%rsp), %rdi
	call	cudaFree@PLT
	movq	1344(%rsp), %rdi
	call	cudaFree@PLT
	movq	1352(%rsp), %rdi
	call	cudaFree@PLT
	movq	1360(%rsp), %rdi
	call	cudaFree@PLT
	movq	1368(%rsp), %rdi
	call	cudaFree@PLT
	movq	1376(%rsp), %rdi
	call	cudaFree@PLT
	movq	1384(%rsp), %rdi
	call	cudaFree@PLT
	movq	1392(%rsp), %rdi
	call	cudaFree@PLT
	movq	1400(%rsp), %rdi
	call	cudaFree@PLT
	movq	1408(%rsp), %rdi
	call	cudaFree@PLT
	movq	1416(%rsp), %rdi
	call	cudaFree@PLT
	movq	1424(%rsp), %rdi
	call	cudaFree@PLT
	movq	1432(%rsp), %rdi
	call	cudaFree@PLT
	movq	1440(%rsp), %rdi
	call	cudaFree@PLT
	movq	1448(%rsp), %rdi
	call	cudaFree@PLT
	movq	1456(%rsp), %rdi
	call	cudaFree@PLT
	movq	1464(%rsp), %rdi
	call	cudaFree@PLT
	movq	1472(%rsp), %rdi
	call	cudaFree@PLT
	movq	1480(%rsp), %rdi
	call	cudaFree@PLT
	movq	1488(%rsp), %rdi
	call	cudaFree@PLT
	movq	1496(%rsp), %rdi
	call	cudaFree@PLT
	movq	1504(%rsp), %rdi
	call	cudaFree@PLT
	movq	1512(%rsp), %rdi
	call	cudaFree@PLT
	movq	1520(%rsp), %rdi
	call	cudaFree@PLT
	movq	1528(%rsp), %rdi
	call	cudaFree@PLT
	movq	1536(%rsp), %rdi
	call	cudaFree@PLT
	movq	1544(%rsp), %rdi
	call	cudaFree@PLT
	movq	1552(%rsp), %rdi
	call	cudaFree@PLT
	movq	1560(%rsp), %rdi
	call	cudaFree@PLT
	movq	1568(%rsp), %rdi
	call	cudaFree@PLT
	movq	1576(%rsp), %rdi
	call	cudaFree@PLT
	movq	1584(%rsp), %rdi
	call	cudaFree@PLT
	movq	1592(%rsp), %rdi
	call	cudaFree@PLT
	movq	1600(%rsp), %rdi
	call	cudaFree@PLT
	movq	1608(%rsp), %rdi
	call	cudaFree@PLT
	movq	1616(%rsp), %rdi
	call	cudaFree@PLT
	movq	1624(%rsp), %rdi
	call	cudaFree@PLT
	movq	1632(%rsp), %rdi
	call	cudaFree@PLT
	movq	1640(%rsp), %rdi
	call	cudaFree@PLT
	movq	1648(%rsp), %rdi
	call	cudaFree@PLT
	movq	1656(%rsp), %rdi
	call	cudaFree@PLT
	movq	1664(%rsp), %rdi
	call	cudaFree@PLT
	movq	1672(%rsp), %rdi
	call	cudaFree@PLT
	movq	1680(%rsp), %rdi
	call	cudaFree@PLT
	movq	1688(%rsp), %rdi
	call	cudaFree@PLT
	movq	%r14, %rdi
	call	_ZdaPv@PLT
	movq	%r13, %rdi
	call	_ZdaPv@PLT
	movq	%r12, %rdi
	call	_ZdaPv@PLT
	movq	%rbp, %rdi
	call	_ZdaPv@PLT
	movq	16(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	24(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	32(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	40(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	48(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	56(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	64(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	72(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	80(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	88(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	96(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	104(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	112(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	120(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	128(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	136(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	144(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	152(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	160(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	168(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	176(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	184(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	192(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	200(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	208(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	216(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	224(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	232(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	240(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	248(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	256(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	264(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	272(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	280(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	288(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	296(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	304(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	312(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	320(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	328(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	336(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	344(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	352(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	360(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	368(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	376(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	384(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	392(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	400(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	408(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	416(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	424(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	432(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	440(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	448(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	456(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	464(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	472(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	480(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	488(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	496(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	504(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	512(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	520(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	528(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1104(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	536(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	544(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	552(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	560(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	568(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	576(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	584(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	592(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	600(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	608(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	616(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	624(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	632(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	640(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	648(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	656(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	664(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	672(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	680(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	688(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	696(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	704(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	712(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	720(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	728(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	736(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	744(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	752(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	760(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	768(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	776(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	784(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	792(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	800(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	808(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	816(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	824(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	832(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	840(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	848(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	856(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	864(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	872(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	880(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	888(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	896(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	904(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	912(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	920(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	928(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	936(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	944(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	952(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	960(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	968(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	976(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	984(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	992(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1000(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1008(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1016(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1024(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1032(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1040(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1048(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1056(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1064(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1072(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1080(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1088(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	1096(%rsp), %rdi
	call	_ZdaPv@PLT
	movq	%rbx, %rdi
	call	_ZdaPv@PLT
	xorl	%eax, %eax
	movl	$2, %edi
	leaq	.LC9(%rip), %rsi
	call	__printf_chk@PLT
	movq	1720(%rsp), %rax
	subq	%fs:40, %rax
	je	.L22
	call	__stack_chk_fail@PLT
.L22:
	addq	$1736, %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
.LFE4228:
	.size	main, .-main
	.section	.rodata.str1.1
.LC10:
	.string	"_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_"
.LC11:
	.string	"_Z17vector_add_struct9struct_abPd"
	.section	.text.startup
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB4258:
	.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	.LC10(%rip), %rdx
	movq	%rax, %rdi
	movq	%rax, %rbx
	pushq	$0
	.cfi_def_cfa_offset 40
	movq	%rdx, %rcx
	leaq	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_(%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	%r9d, %r9d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC11(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z17vector_add_struct9struct_abPd(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	addq	$32, %rsp
	.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
.LFE4258:
	.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
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC3:
	.long	-4194304
	.long	1105199103
	.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:

/*
Test max arg size (256 Byte) for Cuda kernel.
Passing struct to kernel arguments to overcome limitation of number of args in kernel
But regular kernel turns out working properly with 70 args

https://devtalk.nvidia.com/default/topic/458705/is-there-any-limit-on-of-arguments-in-cuda-kernel-/

*/

#include <hip/hip_runtime.h>
#include <cmath>	//for calculating power & NaN
#include<iostream>
#include<cstdio>
#include <vector>
#include <cstdlib>
#include <fstream> // for writing to file
#include <math.h>       //exp, pi
#include <chrono>	//for time measurement
#include <fstream>
#include <ctime>


using namespace std;
using namespace std::chrono;


struct struct_ab {
	double* array_01;	double* array_02;	double* array_03;	
	double* array_04;	double* array_05;	double* array_06;
	double* array_07;	double* array_08;	double* array_09;		
	double* array_10;	double* array_11;	double* array_12;
	double* array_13;	double* array_14;	double* array_15;
	double* array_16;	double* array_17;	double* array_18;
	double* array_19;	double* array_20;	double* array_21;
	double* array_22;	double* array_23;	double* array_24;
	double* array_25;	double* array_26;	double* array_27;
	double* array_28;	double* array_29;	double* array_30;
	double* array_31;	double* array_32;	double* array_33;
	double* array_34;	double* array_35;	double* array_36;
	double* array_37;	double* array_38;	double* array_39;
	double* array_40;	double* array_41;	double* array_42;
	double* array_43;	double* array_44;	double* array_45;
	double* array_46;	double* array_47;	double* array_48;
	double* array_49;	double* array_50;	
	double* array_51;	double* array_52;	double* array_53;	
	double* array_54;	double* array_55;	double* array_56;
	double* array_57;	double* array_58;	double* array_59;		
	double* array_60;
	double* array_61;	double* array_62;	double* array_63;	
	double* array_64;	double* array_65;	double* array_66;
	double* array_67;	double* array_68;	double* array_69;		
	double* array_70;	
	};


__global__ void vector_add_struct(struct_ab mystruct_ab, double* c){

	size_t i= threadIdx.x+ blockDim.x*threadIdx.y+blockDim.x*blockDim.y*blockIdx.x;
	c[i]=mystruct_ab.array_01[i]+mystruct_ab.array_02[i]\
		+ mystruct_ab.array_03[i]+mystruct_ab.array_04[i]\
		+ mystruct_ab.array_05[i]+mystruct_ab.array_06[i]\
		+ mystruct_ab.array_07[i]+mystruct_ab.array_08[i]\
		+ mystruct_ab.array_09[i]+mystruct_ab.array_10[i]\
		+ mystruct_ab.array_11[i]+mystruct_ab.array_12[i]\
		+ mystruct_ab.array_13[i]+mystruct_ab.array_14[i]\
		+ mystruct_ab.array_15[i]+mystruct_ab.array_16[i]\
		+ mystruct_ab.array_17[i]+mystruct_ab.array_18[i]\
		+ mystruct_ab.array_19[i]+mystruct_ab.array_20[i]\
		+ mystruct_ab.array_21[i]+mystruct_ab.array_22[i]\
		+ mystruct_ab.array_23[i]+mystruct_ab.array_24[i]\
		+ mystruct_ab.array_25[i]+mystruct_ab.array_26[i]\
		+ mystruct_ab.array_27[i]+mystruct_ab.array_28[i]\
		+ mystruct_ab.array_29[i]+mystruct_ab.array_30[i]\
		+ mystruct_ab.array_31[i]+mystruct_ab.array_32[i]\
		+ mystruct_ab.array_33[i]+mystruct_ab.array_34[i]\
		+ mystruct_ab.array_35[i]+mystruct_ab.array_36[i]\
		+ mystruct_ab.array_37[i]+mystruct_ab.array_38[i]\
		+ mystruct_ab.array_39[i]+mystruct_ab.array_40[i]\
		+ mystruct_ab.array_41[i]+mystruct_ab.array_42[i]\
		+ mystruct_ab.array_43[i]+mystruct_ab.array_44[i]\
		+ mystruct_ab.array_45[i]+mystruct_ab.array_46[i]\
		+ mystruct_ab.array_47[i]+mystruct_ab.array_48[i]\
		+ mystruct_ab.array_49[i]+mystruct_ab.array_50[i]\
		+ mystruct_ab.array_51[i]+mystruct_ab.array_52[i]\
		+ mystruct_ab.array_53[i]+mystruct_ab.array_54[i]\
		+ mystruct_ab.array_55[i]+mystruct_ab.array_56[i]\
		+ mystruct_ab.array_57[i]+mystruct_ab.array_58[i]\
		+ mystruct_ab.array_59[i]+mystruct_ab.array_60[i]\
		+ mystruct_ab.array_61[i]+mystruct_ab.array_62[i]\
		+ mystruct_ab.array_63[i]+mystruct_ab.array_64[i]\
		+ mystruct_ab.array_65[i]+mystruct_ab.array_66[i]\
		+ mystruct_ab.array_67[i]+mystruct_ab.array_68[i]\
		+ mystruct_ab.array_69[i]+mystruct_ab.array_70[i]
	;
}

//max = 43 args 
__global__ void vector_add70(double* array_01, double* array_02, double* array_03, 
		double* array_04, double* array_05, double* array_06, 
		double* array_07, double* array_08, double* array_09,
		double* array_10,
		double* array_11, double* array_12, double* array_13, 
		double* array_14, double* array_15, double* array_16, 
		double* array_17, double* array_18, double* array_19,
		double* array_20,
		double* array_21, double* array_22, double* array_23, 
		double* array_24, double* array_25, double* array_26, 
		double* array_27, double* array_28, double* array_29,
		double* array_30,
		double* array_31, double* array_32, double* array_33, 
		double* array_34, double* array_35, double* array_36,	
		double* array_37, double* array_38, double* array_39,
		double* array_40,
		double* array_41, double* array_42, double* array_43, 
		double* array_44, double* array_45, double* array_46, 
		double* array_47, double* array_48, double* array_49,
		double* array_50,
		double* array_51, double* array_52, double* array_53, 
		double* array_54, double* array_55, double* array_56, 
		double* array_57, double* array_58, double* array_59,
		double* array_60,
		double* array_61, double* array_62, double* array_63, 
		double* array_64, double* array_65, double* array_66, 
		double* array_67, double* array_68, double* array_69,
		double* array_70,
		
		double* c){

	size_t i= threadIdx.x+ blockDim.x*threadIdx.y+blockDim.x*blockDim.y*blockIdx.x;
	c[i]=c[i]=array_01[i]+array_02[i] + array_03[i]+array_04[i] 
		+ array_05[i]+array_06[i] + array_07[i]+array_08[i]\
		+ array_09[i]+array_10[i]\
		+ array_11[i]+array_12[i] + array_13[i]+array_14[i]\
		+ array_15[i]+array_16[i] + array_17[i]+array_18[i]\
		+ array_19[i]+array_20[i]\
		+ array_21[i]+array_22[i] + array_23[i]+array_24[i]\
		+ array_25[i]+array_26[i] + array_27[i]+array_28[i]\
		+ array_29[i]+array_30[i]\
		+ array_31[i]+array_32[i] + array_33[i]+array_34[i]\
		+ array_35[i]+array_36[i] + array_37[i]+array_38[i]\
		+ array_39[i]+array_40[i]\
		+ array_41[i]+array_42[i] + array_43[i]+array_44[i]\
		+ array_45[i]+array_46[i] + array_47[i]+array_48[i]\
		+ array_49[i]+array_50[i]
		+ array_51[i]+array_52[i] + array_53[i]+array_54[i] 
		+ array_55[i]+array_56[i] + array_57[i]+array_58[i]\
		+ array_59[i]+array_60[i]\
		+ array_61[i]+array_62[i] + array_63[i]+array_64[i] 
		+ array_65[i]+array_66[i] + array_67[i]+array_68[i]\
		+ array_69[i]+array_70[i]\
		
	;
}

int main(int argc, char **argv){
	cout<<"Start of program"<<endl;
	const size_t node = 100;
		
	double *array_01_serial = new double[node]; double *array_02_serial = new double[node];
	double *array_03_serial = new double[node]; double *array_04_serial = new double[node];
	double *array_05_serial = new double[node]; double *array_06_serial = new double[node];
	double *array_07_serial = new double[node]; double *array_08_serial = new double[node];
	double *array_09_serial = new double[node]; double *array_10_serial = new double[node];
	double *array_11_serial = new double[node]; double *array_12_serial = new double[node];
	double *array_13_serial = new double[node]; double *array_14_serial = new double[node];
	double *array_15_serial = new double[node]; double *array_16_serial = new double[node];
	double *array_17_serial = new double[node]; double *array_18_serial = new double[node];
	double *array_19_serial = new double[node]; double *array_20_serial = new double[node];
	double *array_21_serial = new double[node]; double *array_22_serial = new double[node];
	double *array_23_serial = new double[node]; double *array_24_serial = new double[node];
	double *array_25_serial = new double[node]; double *array_26_serial = new double[node];
	double *array_27_serial = new double[node]; double *array_28_serial = new double[node];
	double *array_29_serial = new double[node]; double *array_30_serial = new double[node];
	double *array_31_serial = new double[node]; double *array_32_serial = new double[node];
	double *array_33_serial = new double[node]; double *array_34_serial = new double[node];
	double *array_35_serial = new double[node]; double *array_36_serial = new double[node];
	double *array_37_serial = new double[node]; double *array_38_serial = new double[node];
	double *array_39_serial = new double[node]; double *array_40_serial = new double[node];
	double *array_41_serial = new double[node]; double *array_42_serial = new double[node];
	double *array_43_serial = new double[node]; double *array_44_serial = new double[node];
	double *array_45_serial = new double[node]; double *array_46_serial = new double[node];
	double *array_47_serial = new double[node]; double *array_48_serial = new double[node];
	double *array_49_serial = new double[node]; double *array_50_serial = new double[node];
	double *array_51_serial = new double[node]; double *array_52_serial = new double[node];
	double *array_53_serial = new double[node]; double *array_54_serial = new double[node];
	double *array_55_serial = new double[node]; double *array_56_serial = new double[node];
	double *array_57_serial = new double[node]; double *array_58_serial = new double[node];
	double *array_59_serial = new double[node]; double *array_60_serial = new double[node];
	double *array_61_serial = new double[node]; double *array_62_serial = new double[node];
	double *array_63_serial = new double[node]; double *array_64_serial = new double[node];
	double *array_65_serial = new double[node]; double *array_66_serial = new double[node];
	double *array_67_serial = new double[node]; double *array_68_serial = new double[node];
	double *array_69_serial = new double[node]; double *array_70_serial = new double[node];
	
	
	double *c_serial = new double[node];
	
	double *array_01 = new double[node];	double *array_02 = new double[node];
	double *array_03 = new double[node]; 	double *array_04 = new double[node];
	double *array_05 = new double[node];	double *array_06 = new double[node];
	double *array_07 = new double[node];	double *array_08 = new double[node];	
	double *array_09 = new double[node];	double *array_10 = new double[node];	
	double *array_11 = new double[node];	double *array_12 = new double[node];	
	double *array_13 = new double[node];	double *array_14 = new double[node];	
	double *array_15 = new double[node];	double *array_16 = new double[node];	
	double *array_17 = new double[node];	double *array_18 = new double[node];	
	double *array_19 = new double[node];	double *array_20 = new double[node];
	double *array_21 = new double[node];	double *array_22 = new double[node];
	double *array_23 = new double[node];	double *array_24 = new double[node];
	double *array_25 = new double[node];	double *array_26 = new double[node];
	double *array_27 = new double[node];	double *array_28 = new double[node];
	double *array_29 = new double[node];	double *array_30 = new double[node];
	double *array_31 = new double[node];	double *array_32 = new double[node];
	double *array_33 = new double[node];	double *array_34 = new double[node];
	double *array_35 = new double[node];	double *array_36 = new double[node];
	double *array_37 = new double[node];	double *array_38 = new double[node];	
	double *array_39 = new double[node];	double *array_40 = new double[node];	
	double *array_41 = new double[node];	double *array_42 = new double[node];
	double *array_43 = new double[node]; 	double *array_44 = new double[node];
	double *array_45 = new double[node];	double *array_46 = new double[node];
	double *array_47 = new double[node];	double *array_48 = new double[node];	
	double *array_49 = new double[node];	double *array_50 = new double[node];	
	double *array_51 = new double[node];	double *array_52 = new double[node];
	double *array_53 = new double[node]; 	double *array_54 = new double[node];
	double *array_55 = new double[node];	double *array_56 = new double[node];
	double *array_57 = new double[node];	double *array_58 = new double[node];	
	double *array_59 = new double[node];	double *array_60 = new double[node];	
	double *array_61 = new double[node];	double *array_62 = new double[node];
	double *array_63 = new double[node]; 	double *array_64 = new double[node];
	double *array_65 = new double[node];	double *array_66 = new double[node];
	double *array_67 = new double[node];	double *array_68 = new double[node];	
	double *array_69 = new double[node];	double *array_70 = new double[node];	
	
	
	
	double *c = new double[node];
	
	cout<<"No of nodes = "<<node<<endl;
	
	//Initialization
	for (size_t i = 0; i < node; ++i) {
			std::srand(std::time(nullptr)); // use current time as seed for random generator
			array_01[i]=((double) rand()/(RAND_MAX))*i;	array_02[i]=((double) rand()/(RAND_MAX))*i;
			array_03[i]=((double) rand()/(RAND_MAX))*i;	array_04[i]=((double) rand()/(RAND_MAX))*i;
			array_05[i]=((double) rand()/(RAND_MAX))*i;	array_06[i]=((double) rand()/(RAND_MAX))*i;
			array_07[i]=((double) rand()/(RAND_MAX))*i;	array_08[i]=((double) rand()/(RAND_MAX))*i;
			array_09[i]=((double) rand()/(RAND_MAX))*i;	array_10[i]=((double) rand()/(RAND_MAX))*i;
			
			array_11[i]=((double) rand()/(RAND_MAX))*i;	array_12[i]=((double) rand()/(RAND_MAX))*i;
			array_13[i]=((double) rand()/(RAND_MAX))*i;	array_14[i]=((double) rand()/(RAND_MAX))*i;
			array_15[i]=((double) rand()/(RAND_MAX))*i;	array_16[i]=((double) rand()/(RAND_MAX))*i;
			array_17[i]=((double) rand()/(RAND_MAX))*i;	array_18[i]=((double) rand()/(RAND_MAX))*i;
			array_19[i]=((double) rand()/(RAND_MAX))*i;	array_20[i]=((double) rand()/(RAND_MAX))*i;
			
			array_21[i]=((double) rand()/(RAND_MAX))*i;	array_22[i]=((double) rand()/(RAND_MAX))*i;
			array_23[i]=((double) rand()/(RAND_MAX))*i;	array_24[i]=((double) rand()/(RAND_MAX))*i;
			array_25[i]=((double) rand()/(RAND_MAX))*i;	array_26[i]=((double) rand()/(RAND_MAX))*i;
			array_27[i]=((double) rand()/(RAND_MAX))*i;	array_28[i]=((double) rand()/(RAND_MAX))*i;
			array_29[i]=((double) rand()/(RAND_MAX))*i;	array_30[i]=((double) rand()/(RAND_MAX))*i;
		
			array_31[i]=((double) rand()/(RAND_MAX))*i;	array_32[i]=((double) rand()/(RAND_MAX))*i;
			array_33[i]=((double) rand()/(RAND_MAX))*i;	array_34[i]=((double) rand()/(RAND_MAX))*i;
			array_35[i]=((double) rand()/(RAND_MAX))*i;	array_36[i]=((double) rand()/(RAND_MAX))*i;
			array_37[i]=((double) rand()/(RAND_MAX))*i;	array_38[i]=((double) rand()/(RAND_MAX))*i;
			array_39[i]=((double) rand()/(RAND_MAX))*i;	array_40[i]=((double) rand()/(RAND_MAX))*i;
			
			array_41[i]=((double) rand()/(RAND_MAX))*i;	array_42[i]=((double) rand()/(RAND_MAX))*i;
			array_43[i]=((double) rand()/(RAND_MAX))*i;	array_44[i]=((double) rand()/(RAND_MAX))*i;
			array_45[i]=((double) rand()/(RAND_MAX))*i;	array_46[i]=((double) rand()/(RAND_MAX))*i;
			array_47[i]=((double) rand()/(RAND_MAX))*i;	array_48[i]=((double) rand()/(RAND_MAX))*i;
			array_49[i]=((double) rand()/(RAND_MAX))*i;	array_50[i]=((double) rand()/(RAND_MAX))*i;
			array_51[i]=((double) rand()/(RAND_MAX))*i;	array_52[i]=((double) rand()/(RAND_MAX))*i;
			array_53[i]=((double) rand()/(RAND_MAX))*i;	array_54[i]=((double) rand()/(RAND_MAX))*i;
			array_55[i]=((double) rand()/(RAND_MAX))*i;	array_56[i]=((double) rand()/(RAND_MAX))*i;
			array_57[i]=((double) rand()/(RAND_MAX))*i;	array_58[i]=((double) rand()/(RAND_MAX))*i;
			array_59[i]=((double) rand()/(RAND_MAX))*i;	array_60[i]=((double) rand()/(RAND_MAX))*i;
			array_61[i]=((double) rand()/(RAND_MAX))*i;	array_62[i]=((double) rand()/(RAND_MAX))*i;
			array_63[i]=((double) rand()/(RAND_MAX))*i;	array_64[i]=((double) rand()/(RAND_MAX))*i;
			array_65[i]=((double) rand()/(RAND_MAX))*i;	array_66[i]=((double) rand()/(RAND_MAX))*i;
			array_67[i]=((double) rand()/(RAND_MAX))*i;	array_68[i]=((double) rand()/(RAND_MAX))*i;
			array_69[i]=((double) rand()/(RAND_MAX))*i;	array_70[i]=((double) rand()/(RAND_MAX))*i;
			
		
			//-------------------------------------------
			array_01_serial[i]= array_01[i];	array_02_serial[i]= array_02[i];			
			array_03_serial[i]= array_03[i];	array_04_serial[i]= array_04[i];
			array_05_serial[i]= array_05[i];	array_06_serial[i]= array_06[i];
			array_07_serial[i]= array_07[i];	array_08_serial[i]= array_08[i];
			array_09_serial[i]= array_09[i];	array_10_serial[i]= array_10[i];
			array_11_serial[i]= array_11[i];	array_12_serial[i]= array_12[i];
			array_13_serial[i]= array_13[i];	array_14_serial[i]= array_14[i];
			array_15_serial[i]= array_15[i];	array_16_serial[i]= array_16[i];
			array_17_serial[i]= array_17[i];	array_18_serial[i]= array_18[i];
			array_19_serial[i]= array_19[i];	array_20_serial[i]= array_20[i];
			array_21_serial[i]= array_21[i];	array_22_serial[i]= array_22[i];
			array_23_serial[i]= array_23[i];	array_24_serial[i]= array_24[i];
			array_25_serial[i]= array_25[i];	array_26_serial[i]= array_26[i];
			array_27_serial[i]= array_27[i];	array_28_serial[i]= array_28[i];
			array_29_serial[i]= array_29[i];	array_30_serial[i]= array_30[i];
			array_31_serial[i]= array_31[i];	array_32_serial[i]= array_32[i];
			array_33_serial[i]= array_33[i];	array_34_serial[i]= array_34[i];
			array_35_serial[i]= array_35[i];	array_36_serial[i]= array_36[i];			
			array_37_serial[i]= array_37[i];	array_38_serial[i]= array_38[i];
			array_39_serial[i]= array_39[i];	array_40_serial[i]= array_40[i];
			
			array_41_serial[i]= array_41[i];	array_42_serial[i]= array_42[i];			
			array_43_serial[i]= array_43[i];	array_44_serial[i]= array_44[i];
			array_45_serial[i]= array_45[i];	array_46_serial[i]= array_46[i];
			array_47_serial[i]= array_47[i];	array_48_serial[i]= array_48[i];
			array_49_serial[i]= array_49[i];	array_50_serial[i]= array_50[i];
			array_51_serial[i]= array_51[i];	array_52_serial[i]= array_52[i];			
			array_53_serial[i]= array_53[i];	array_54_serial[i]= array_54[i];
			array_55_serial[i]= array_55[i];	array_56_serial[i]= array_56[i];
			array_57_serial[i]= array_57[i];	array_58_serial[i]= array_58[i];
			array_59_serial[i]= array_59[i];	array_60_serial[i]= array_60[i];
			array_61_serial[i]= array_61[i];	array_62_serial[i]= array_62[i];			
			array_63_serial[i]= array_63[i];	array_64_serial[i]= array_64[i];
			array_65_serial[i]= array_65[i];	array_66_serial[i]= array_66[i];
			array_67_serial[i]= array_67[i];	array_68_serial[i]= array_68[i];
			array_69_serial[i]= array_69[i];	array_70_serial[i]= array_70[i];
			
		}

//	#########################################################
//Serial version
	for (size_t i = 0; i < node; ++i) {
		c_serial[i]=array_01_serial[i]+array_02_serial[i] + array_03_serial[i]+array_04_serial[i]\
			+ array_05_serial[i]+array_06_serial[i]	+ array_07_serial[i]+array_08_serial[i]\
			+ array_09_serial[i]+array_10_serial[i]\
			+ array_11_serial[i]+array_12_serial[i] + array_13_serial[i]+array_14_serial[i]\
			+ array_15_serial[i]+array_16_serial[i]	+ array_17_serial[i]+array_18_serial[i]\
			+ array_19_serial[i]+array_20_serial[i]\
			+ array_21_serial[i]+array_22_serial[i]	+ array_23_serial[i]+array_24_serial[i]\
			+ array_25_serial[i]+array_26_serial[i]	+ array_27_serial[i]+array_28_serial[i]\
			+ array_29_serial[i]+array_30_serial[i]\
			+ array_31_serial[i]+array_32_serial[i]	+ array_33_serial[i]+array_34_serial[i]\
			+ array_35_serial[i]+array_36_serial[i]	+ array_37_serial[i]+array_38_serial[i]\
			+ array_39_serial[i]+array_40_serial[i]\
			+ array_41_serial[i]+array_42_serial[i]	+ array_43_serial[i]+array_44_serial[i]\
			+ array_45_serial[i]+array_46_serial[i]	+ array_47_serial[i]+array_48_serial[i]\
			+ array_49_serial[i]+array_50_serial[i]\
			+ array_51_serial[i]+array_52_serial[i] + array_53_serial[i]+array_54_serial[i]\
			+ array_55_serial[i]+array_56_serial[i]	+ array_57_serial[i]+array_58_serial[i]\
			+ array_59_serial[i]+array_60_serial[i]\
			+ array_61_serial[i]+array_62_serial[i] + array_63_serial[i]+array_64_serial[i]\
			+ array_65_serial[i]+array_66_serial[i]	+ array_67_serial[i]+array_68_serial[i]\
			+ array_69_serial[i]+array_70_serial[i]\
			
		;
	}
	
	//###########################################################################
	//PARALLEL VERSION
	cout<<"Start parallel version"<<endl;
	
	// Create memory buffers on the device for each vector 
	double* buffer_array_01, *buffer_array_02, *buffer_array_03;
	double* buffer_array_04, *buffer_array_05, *buffer_array_06; 
	double* buffer_array_07, *buffer_array_08, *buffer_array_09;
	double* buffer_array_10;
	double* buffer_array_11, *buffer_array_12, *buffer_array_13;
	double* buffer_array_14, *buffer_array_15, *buffer_array_16; 
	double* buffer_array_17, *buffer_array_18, *buffer_array_19;
	double* buffer_array_20;
	double* buffer_array_21, *buffer_array_22, *buffer_array_23;
	double* buffer_array_24, *buffer_array_25, *buffer_array_26; 
	double* buffer_array_27, *buffer_array_28, *buffer_array_29;
	double* buffer_array_30;
	double* buffer_array_31, *buffer_array_32, *buffer_array_33;
	double* buffer_array_34, *buffer_array_35, *buffer_array_36; 
	double* buffer_array_37, *buffer_array_38, *buffer_array_39;
	double* buffer_array_40;
	double* buffer_array_41, *buffer_array_42, *buffer_array_43;
	double* buffer_array_44, *buffer_array_45, *buffer_array_46; 
	double* buffer_array_47, *buffer_array_48, *buffer_array_49;
	double* buffer_array_50;
	double* buffer_array_51, *buffer_array_52, *buffer_array_53;
	double* buffer_array_54, *buffer_array_55, *buffer_array_56; 
	double* buffer_array_57, *buffer_array_58, *buffer_array_59;
	double* buffer_array_60;
	double* buffer_array_61, *buffer_array_62, *buffer_array_63;
	double* buffer_array_64, *buffer_array_65, *buffer_array_66; 
	double* buffer_array_67, *buffer_array_68, *buffer_array_69;
	double* buffer_array_70;
	
	double *buffer_c;
	
	struct_ab mystruct_ab_d; //struct in device
	
	hipMalloc(&buffer_array_01, node*sizeof(double));
	hipMalloc(&buffer_array_02, node*sizeof(double));
	hipMalloc(&buffer_array_03, node*sizeof(double));
	hipMalloc(&buffer_array_04, node*sizeof(double));
	hipMalloc(&buffer_array_05, node*sizeof(double));
	hipMalloc(&buffer_array_06, node*sizeof(double));
	hipMalloc(&buffer_array_07, node*sizeof(double));	
	hipMalloc(&buffer_array_08, node*sizeof(double));
	hipMalloc(&buffer_array_09, node*sizeof(double));
	hipMalloc(&buffer_array_10, node*sizeof(double));
	hipMalloc(&buffer_array_11, node*sizeof(double));
	hipMalloc(&buffer_array_12, node*sizeof(double));
	hipMalloc(&buffer_array_13, node*sizeof(double));
	hipMalloc(&buffer_array_14, node*sizeof(double));
	hipMalloc(&buffer_array_15, node*sizeof(double));
	hipMalloc(&buffer_array_16, node*sizeof(double));
	hipMalloc(&buffer_array_17, node*sizeof(double));	
	hipMalloc(&buffer_array_18, node*sizeof(double));
	hipMalloc(&buffer_array_19, node*sizeof(double));
	hipMalloc(&buffer_array_20, node*sizeof(double));
	hipMalloc(&buffer_array_21, node*sizeof(double));
	hipMalloc(&buffer_array_22, node*sizeof(double));
	hipMalloc(&buffer_array_23, node*sizeof(double));
	hipMalloc(&buffer_array_24, node*sizeof(double));
	hipMalloc(&buffer_array_25, node*sizeof(double));
	hipMalloc(&buffer_array_26, node*sizeof(double));
	hipMalloc(&buffer_array_27, node*sizeof(double));	
	hipMalloc(&buffer_array_28, node*sizeof(double));
	hipMalloc(&buffer_array_29, node*sizeof(double));
	hipMalloc(&buffer_array_30, node*sizeof(double));
	hipMalloc(&buffer_array_31, node*sizeof(double));
	hipMalloc(&buffer_array_32, node*sizeof(double));
	hipMalloc(&buffer_array_33, node*sizeof(double));
	hipMalloc(&buffer_array_34, node*sizeof(double));
	hipMalloc(&buffer_array_35, node*sizeof(double));
	hipMalloc(&buffer_array_36, node*sizeof(double));
	hipMalloc(&buffer_array_37, node*sizeof(double));	
	hipMalloc(&buffer_array_38, node*sizeof(double));
	hipMalloc(&buffer_array_39, node*sizeof(double));
	hipMalloc(&buffer_array_40, node*sizeof(double));
	hipMalloc(&buffer_array_41, node*sizeof(double));
	hipMalloc(&buffer_array_42, node*sizeof(double));
	hipMalloc(&buffer_array_43, node*sizeof(double));
	hipMalloc(&buffer_array_44, node*sizeof(double));
	hipMalloc(&buffer_array_45, node*sizeof(double));
	hipMalloc(&buffer_array_46, node*sizeof(double));
	hipMalloc(&buffer_array_47, node*sizeof(double));	
	hipMalloc(&buffer_array_48, node*sizeof(double));
	hipMalloc(&buffer_array_49, node*sizeof(double));
	hipMalloc(&buffer_array_50, node*sizeof(double));
	hipMalloc(&buffer_array_51, node*sizeof(double));
	hipMalloc(&buffer_array_52, node*sizeof(double));
	hipMalloc(&buffer_array_53, node*sizeof(double));
	hipMalloc(&buffer_array_54, node*sizeof(double));
	hipMalloc(&buffer_array_55, node*sizeof(double));
	hipMalloc(&buffer_array_56, node*sizeof(double));
	hipMalloc(&buffer_array_57, node*sizeof(double));	
	hipMalloc(&buffer_array_58, node*sizeof(double));
	hipMalloc(&buffer_array_59, node*sizeof(double));
	hipMalloc(&buffer_array_60, node*sizeof(double));
	hipMalloc(&buffer_array_61, node*sizeof(double));
	hipMalloc(&buffer_array_62, node*sizeof(double));
	hipMalloc(&buffer_array_63, node*sizeof(double));
	hipMalloc(&buffer_array_64, node*sizeof(double));
	hipMalloc(&buffer_array_65, node*sizeof(double));
	hipMalloc(&buffer_array_66, node*sizeof(double));
	hipMalloc(&buffer_array_67, node*sizeof(double));	
	hipMalloc(&buffer_array_68, node*sizeof(double));
	hipMalloc(&buffer_array_69, node*sizeof(double));
	hipMalloc(&buffer_array_70, node*sizeof(double));
	
	
	hipMalloc(&buffer_c, node*sizeof(double));		
	
	hipMemcpy(buffer_array_01, array_01, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_02, array_02, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_03, array_03, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_04, array_04, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_05, array_05, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_06, array_06, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_07, array_07, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_08, array_08, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_09, array_09, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_10, array_10, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_11, array_11, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_12, array_12, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_13, array_13, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_14, array_14, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_15, array_15, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_16, array_16, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_17, array_17, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_18, array_18, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_19, array_19, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_20, array_20, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_21, array_21, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_22, array_22, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_23, array_23, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_24, array_24, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_25, array_25, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_26, array_26, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_27, array_27, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_28, array_28, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_29, array_29, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_30, array_30, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_31, array_31, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_32, array_32, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_33, array_33, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_34, array_34, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_35, array_35, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_36, array_36, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_37, array_37, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_38, array_38, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_39, array_39, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_40, array_40, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_41, array_41, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_42, array_42, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_43, array_43, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_44, array_44, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_45, array_45, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_46, array_46, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_47, array_47, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_48, array_48, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_49, array_49, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_50, array_50, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_51, array_51, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_52, array_52, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_53, array_53, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_54, array_54, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_55, array_55, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_56, array_56, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_57, array_57, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_58, array_58, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_59, array_59, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_60, array_60, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_61, array_61, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_62, array_62, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_63, array_63, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_64, array_64, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_65, array_65, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_66, array_66, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_67, array_67, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_68, array_68, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_69, array_69, node*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy(buffer_array_70, array_70, node*sizeof(double), hipMemcpyHostToDevice);
	

	mystruct_ab_d.array_01 = buffer_array_01; mystruct_ab_d.array_02 = buffer_array_02; 
	mystruct_ab_d.array_03 = buffer_array_03; mystruct_ab_d.array_04 = buffer_array_04; 
	mystruct_ab_d.array_05 = buffer_array_05; mystruct_ab_d.array_06 = buffer_array_06; 
	mystruct_ab_d.array_07 = buffer_array_07; mystruct_ab_d.array_08 = buffer_array_08; 
	mystruct_ab_d.array_09 = buffer_array_09; mystruct_ab_d.array_10 = buffer_array_10; 
	mystruct_ab_d.array_11 = buffer_array_11; mystruct_ab_d.array_12 = buffer_array_12; 
	mystruct_ab_d.array_13 = buffer_array_13; mystruct_ab_d.array_14 = buffer_array_14; 
	mystruct_ab_d.array_15 = buffer_array_15; mystruct_ab_d.array_16 = buffer_array_16; 
	mystruct_ab_d.array_17 = buffer_array_17; mystruct_ab_d.array_18 = buffer_array_18; 
	mystruct_ab_d.array_19 = buffer_array_19; mystruct_ab_d.array_20 = buffer_array_20; 
	mystruct_ab_d.array_21 = buffer_array_21; mystruct_ab_d.array_22 = buffer_array_22; 
	mystruct_ab_d.array_23 = buffer_array_23; mystruct_ab_d.array_24 = buffer_array_24; 
	mystruct_ab_d.array_25 = buffer_array_25; mystruct_ab_d.array_26 = buffer_array_26; 
	mystruct_ab_d.array_27 = buffer_array_27; mystruct_ab_d.array_28 = buffer_array_28; 
	mystruct_ab_d.array_29 = buffer_array_29; mystruct_ab_d.array_30 = buffer_array_30; 
	mystruct_ab_d.array_31 = buffer_array_31; mystruct_ab_d.array_32 = buffer_array_32; 
	mystruct_ab_d.array_33 = buffer_array_33; mystruct_ab_d.array_34 = buffer_array_34; 
	mystruct_ab_d.array_35 = buffer_array_35; mystruct_ab_d.array_36 = buffer_array_36; 
	mystruct_ab_d.array_37 = buffer_array_37; mystruct_ab_d.array_38 = buffer_array_38; 
	mystruct_ab_d.array_39 = buffer_array_39; mystruct_ab_d.array_40 = buffer_array_40; 
	mystruct_ab_d.array_41 = buffer_array_41; mystruct_ab_d.array_42 = buffer_array_42; 
	mystruct_ab_d.array_43 = buffer_array_43; mystruct_ab_d.array_44 = buffer_array_44; 
	mystruct_ab_d.array_45 = buffer_array_45; mystruct_ab_d.array_46 = buffer_array_46; 
	mystruct_ab_d.array_47 = buffer_array_47; mystruct_ab_d.array_48 = buffer_array_48; 
	mystruct_ab_d.array_49 = buffer_array_49; mystruct_ab_d.array_50 = buffer_array_50; 
	mystruct_ab_d.array_51 = buffer_array_51; mystruct_ab_d.array_52 = buffer_array_52; 
	mystruct_ab_d.array_53 = buffer_array_53; mystruct_ab_d.array_54 = buffer_array_54; 
	mystruct_ab_d.array_55 = buffer_array_55; mystruct_ab_d.array_56 = buffer_array_56; 
	mystruct_ab_d.array_57 = buffer_array_57; mystruct_ab_d.array_58 = buffer_array_58; 
	mystruct_ab_d.array_59 = buffer_array_59; mystruct_ab_d.array_60 = buffer_array_60; 
	mystruct_ab_d.array_61 = buffer_array_61; mystruct_ab_d.array_62 = buffer_array_62; 
	mystruct_ab_d.array_63 = buffer_array_63; mystruct_ab_d.array_64 = buffer_array_64; 
	mystruct_ab_d.array_65 = buffer_array_65; mystruct_ab_d.array_66 = buffer_array_66; 
	mystruct_ab_d.array_67 = buffer_array_67; mystruct_ab_d.array_68 = buffer_array_68; 
	mystruct_ab_d.array_69 = buffer_array_69; mystruct_ab_d.array_70 = buffer_array_70; 
	
	
	
	
	//Use manual block size
	dim3 gridDim(node,1,1);         // 512 x 512 x 64
	dim3 blockDim(1, 1, 1); // 1024 x 1024 x 64, max threads/block=128-512 (multiple of 32)
	
	
	cout<<"Not using struct"<<endl;		
	vector_add70<<<gridDim,blockDim>>>(buffer_array_01, buffer_array_02, buffer_array_03, 
		buffer_array_04, buffer_array_05, buffer_array_06, 
		buffer_array_07, buffer_array_08, buffer_array_09, 
		buffer_array_10, 
		buffer_array_11, buffer_array_12, buffer_array_13, 
		buffer_array_14, buffer_array_15, buffer_array_16, 
		buffer_array_17, buffer_array_18, buffer_array_19, 
		buffer_array_20, 
		buffer_array_21, buffer_array_22, buffer_array_23, 
		buffer_array_24, buffer_array_25, buffer_array_26, 
		buffer_array_27, buffer_array_28, buffer_array_29, 
		buffer_array_30, 
		buffer_array_31, buffer_array_32, buffer_array_33, 
		buffer_array_34, buffer_array_35, buffer_array_36, 		
		buffer_array_37, buffer_array_38, buffer_array_39, 
		buffer_array_40, 
		buffer_array_41, buffer_array_42, buffer_array_43, 
		buffer_array_44, buffer_array_45, buffer_array_46, 
		buffer_array_47, buffer_array_48, buffer_array_49, 
		buffer_array_50,	
		buffer_array_51, buffer_array_52, buffer_array_53, 
		buffer_array_54, buffer_array_55, buffer_array_56, 
		buffer_array_57, buffer_array_58, buffer_array_59, 
		buffer_array_60, 
		buffer_array_61, buffer_array_62, buffer_array_63, 
		buffer_array_64, buffer_array_65, buffer_array_66, 
		buffer_array_67, buffer_array_68, buffer_array_69, 
		buffer_array_70, 		
		
		buffer_c); 
	
	/*
	cout<<"Using struct"<<endl;
	vector_add_struct<<<gridDim,blockDim>>>(mystruct_ab_d, buffer_c); 
	*/
	
	hipDeviceSynchronize();
	hipMemcpy(c, buffer_c, node *sizeof(double), hipMemcpyDeviceToHost);
	
   //##########################################################
	
	//Checking
	double sum_c_serial=0.0;
	double sum_c=0.0;
	
	for (size_t i = 0; i < 6; ++i) {
		cout<< "\t"<< c[i] <<" - "<< c_serial[i] << endl;
	}
	
	for (size_t i = 0; i < node; ++i) {
		sum_c += c[i];
		sum_c_serial += c_serial[i];
	}
	cout<<"Gap= "<<sum_c - sum_c_serial <<endl;
	
	hipFree(buffer_array_01);	hipFree(buffer_array_02);
	hipFree(buffer_array_03);	hipFree(buffer_array_04);
	hipFree(buffer_array_05);	hipFree(buffer_array_06);
	hipFree(buffer_array_07);	hipFree(buffer_array_08);
	hipFree(buffer_array_09);	hipFree(buffer_array_10);
	hipFree(buffer_array_11);	hipFree(buffer_array_12);
	hipFree(buffer_array_13);	hipFree(buffer_array_14);
	hipFree(buffer_array_15);	hipFree(buffer_array_16);
	hipFree(buffer_array_17);	hipFree(buffer_array_18);
	hipFree(buffer_array_19);	hipFree(buffer_array_20);
	hipFree(buffer_array_21);	hipFree(buffer_array_22);
	hipFree(buffer_array_23);	hipFree(buffer_array_24);
	hipFree(buffer_array_25);	hipFree(buffer_array_26);
	hipFree(buffer_array_27);	hipFree(buffer_array_28);
	hipFree(buffer_array_29);	hipFree(buffer_array_30);
	hipFree(buffer_array_31);	hipFree(buffer_array_32);
	hipFree(buffer_array_33);	hipFree(buffer_array_34);
	hipFree(buffer_array_35);	hipFree(buffer_array_36);
	hipFree(buffer_array_37);	hipFree(buffer_array_38);
	hipFree(buffer_array_39);	hipFree(buffer_array_40);
	hipFree(buffer_array_41);	hipFree(buffer_array_42);
	hipFree(buffer_array_43);	hipFree(buffer_array_44);
	hipFree(buffer_array_45);	hipFree(buffer_array_46);
	hipFree(buffer_array_47);	hipFree(buffer_array_48);
	hipFree(buffer_array_49);	hipFree(buffer_array_50);
	hipFree(buffer_array_51);	hipFree(buffer_array_52);
	hipFree(buffer_array_53);	hipFree(buffer_array_54);
	hipFree(buffer_array_55);	hipFree(buffer_array_56);
	hipFree(buffer_array_57);	hipFree(buffer_array_58);
	hipFree(buffer_array_59);	hipFree(buffer_array_60);
	hipFree(buffer_array_61);	hipFree(buffer_array_62);
	hipFree(buffer_array_63);	hipFree(buffer_array_64);
	hipFree(buffer_array_65);	hipFree(buffer_array_66);
	hipFree(buffer_array_67);	hipFree(buffer_array_68);
	hipFree(buffer_array_69);	hipFree(buffer_array_70);
	
	hipFree(buffer_c);	
	
	delete [] array_01;	delete [] array_02;	delete [] array_03;	delete [] array_04;	
	delete [] array_05;	delete [] array_06;	delete [] array_07;	delete [] array_08;	
	delete [] array_09;	delete [] array_10;	
	delete [] array_11;	delete [] array_12;	delete [] array_13;	delete [] array_14;	
	delete [] array_15;	delete [] array_16;	delete [] array_17;	delete [] array_18;	
	delete [] array_19;	delete [] array_20;	
	delete [] array_21;	delete [] array_22;	delete [] array_23;	delete [] array_24;	
	delete [] array_25;	delete [] array_26;	delete [] array_27;	delete [] array_28;	
	delete [] array_29;	delete [] array_30;	
	delete [] array_31;	delete [] array_32;	delete [] array_33;	delete [] array_34;	
	delete [] array_35;	delete [] array_36;	delete [] array_37;	delete [] array_38;	
	delete [] array_39;	delete [] array_40;
	delete [] array_41;	delete [] array_42;	delete [] array_43;	delete [] array_44;	
	delete [] array_45;	delete [] array_46;	delete [] array_47;	delete [] array_48;	
	delete [] array_49;	delete [] array_50;	
	delete [] array_51;	delete [] array_52;	delete [] array_53;	delete [] array_54;	
	delete [] array_55;	delete [] array_56;	delete [] array_57;	delete [] array_58;	
	delete [] array_59;	delete [] array_60;
	delete [] array_61;	delete [] array_62;	delete [] array_63;	delete [] array_64;	
	delete [] array_65;	delete [] array_66;	delete [] array_67;	delete [] array_68;	
	delete [] array_69;	delete [] array_70;
	
	delete [] c;
	
	delete [] array_01_serial;	delete [] array_02_serial;	delete [] array_03_serial;	
	delete [] array_04_serial; 	delete [] array_05_serial;	delete [] array_06_serial;
	delete [] array_07_serial;	delete [] array_08_serial; delete [] array_09_serial;
	delete [] array_10_serial;
	delete [] array_11_serial;	delete [] array_12_serial;	delete [] array_13_serial;	
	delete [] array_14_serial; 	delete [] array_15_serial;	delete [] array_16_serial;
	delete [] array_17_serial;	delete [] array_18_serial; delete [] array_19_serial;
	delete [] array_20_serial;
	delete [] array_21_serial;	delete [] array_22_serial;	delete [] array_23_serial;	
	delete [] array_24_serial; 	delete [] array_25_serial;	delete [] array_26_serial;
	delete [] array_27_serial;	delete [] array_28_serial; delete [] array_29_serial;
	delete [] array_30_serial;
	delete [] array_31_serial;	delete [] array_32_serial;	delete [] array_33_serial;	
	delete [] array_34_serial; 	delete [] array_35_serial;	delete [] array_36_serial;	
	delete [] array_37_serial;	delete [] array_38_serial; delete [] array_39_serial;
	delete [] array_40_serial;
	delete [] array_41_serial;	delete [] array_42_serial;	delete [] array_43_serial;	
	delete [] array_44_serial; 	delete [] array_45_serial;	delete [] array_46_serial;
	delete [] array_47_serial;	delete [] array_48_serial; delete [] array_49_serial;
	delete [] array_50_serial;
	delete [] array_51_serial;	delete [] array_52_serial;	delete [] array_53_serial;	
	delete [] array_54_serial; 	delete [] array_55_serial;	delete [] array_56_serial;
	delete [] array_57_serial;	delete [] array_58_serial; delete [] array_59_serial;
	delete [] array_60_serial;
	delete [] array_61_serial;	delete [] array_62_serial;	delete [] array_63_serial;	
	delete [] array_64_serial; 	delete [] array_65_serial;	delete [] array_66_serial;
	delete [] array_67_serial;	delete [] array_68_serial; delete [] array_69_serial;
	delete [] array_70_serial;
	
	delete [] c_serial;
	
	printf("End of program!\n");
	
	
}
	.text
	.file	"max_args_test.hip"
                                        # Start of file scope inline assembly
	.globl	_ZSt21ios_base_library_initv

                                        # End of file scope inline assembly
	.globl	_Z32__device_stub__vector_add_struct9struct_abPd # -- Begin function _Z32__device_stub__vector_add_struct9struct_abPd
	.type	_Z32__device_stub__vector_add_struct9struct_abPd,@function
_Z32__device_stub__vector_add_struct9struct_abPd: # @_Z32__device_stub__vector_add_struct9struct_abPd
	.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	$80, %rsp
	.cfi_def_cfa_offset 128
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	24(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	128(%rsp), %rcx
	leaq	64(%rsp), %rbx
	movq	%rcx, (%rbx)
	movq	%rax, 8(%rbx)
	leaq	48(%rsp), %r14
	leaq	32(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%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	$_Z17vector_add_struct9struct_abPd, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$96, %rsp
	.cfi_adjust_cfa_offset -96
	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_end0:
	.size	_Z32__device_stub__vector_add_struct9struct_abPd, .Lfunc_end0-_Z32__device_stub__vector_add_struct9struct_abPd
	.cfi_endproc
                                        # -- End function
	.globl	_Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_ # -- Begin function _Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.type	_Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_,@function
_Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_: # @_Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.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	$672, %rsp                      # imm = 0x2A0
	.cfi_def_cfa_offset 720
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	56(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	48(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	40(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	32(%rsp), %rdx
	movq	%rcx, (%rdx)
	leaq	24(%rsp), %rcx
	movq	%r8, (%rcx)
	leaq	16(%rsp), %r8
	movq	%r9, (%r8)
	leaq	96(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	movq	%rcx, 32(%rbx)
	movq	%r8, 40(%rbx)
	leaq	720(%rsp), %rax
	movq	%rax, 48(%rbx)
	leaq	728(%rsp), %rax
	movq	%rax, 56(%rbx)
	leaq	736(%rsp), %rax
	movq	%rax, 64(%rbx)
	leaq	744(%rsp), %rax
	movq	%rax, 72(%rbx)
	leaq	752(%rsp), %rax
	movq	%rax, 80(%rbx)
	leaq	760(%rsp), %rax
	movq	%rax, 88(%rbx)
	leaq	768(%rsp), %rax
	movq	%rax, 96(%rbx)
	leaq	776(%rsp), %rax
	movq	%rax, 104(%rbx)
	leaq	784(%rsp), %rax
	movq	%rax, 112(%rbx)
	leaq	792(%rsp), %rax
	movq	%rax, 120(%rbx)
	leaq	800(%rsp), %rax
	movq	%rax, 128(%rbx)
	leaq	808(%rsp), %rax
	movq	%rax, 136(%rbx)
	leaq	816(%rsp), %rax
	movq	%rax, 144(%rbx)
	leaq	824(%rsp), %rax
	movq	%rax, 152(%rbx)
	leaq	832(%rsp), %rax
	movq	%rax, 160(%rbx)
	leaq	840(%rsp), %rax
	movq	%rax, 168(%rbx)
	leaq	848(%rsp), %rax
	movq	%rax, 176(%rbx)
	leaq	856(%rsp), %rax
	movq	%rax, 184(%rbx)
	leaq	864(%rsp), %rax
	movq	%rax, 192(%rbx)
	leaq	872(%rsp), %rax
	movq	%rax, 200(%rbx)
	leaq	880(%rsp), %rax
	movq	%rax, 208(%rbx)
	leaq	888(%rsp), %rax
	movq	%rax, 216(%rbx)
	leaq	896(%rsp), %rax
	movq	%rax, 224(%rbx)
	leaq	904(%rsp), %rax
	movq	%rax, 232(%rbx)
	leaq	912(%rsp), %rax
	movq	%rax, 240(%rbx)
	leaq	920(%rsp), %rax
	movq	%rax, 248(%rbx)
	leaq	928(%rsp), %rax
	movq	%rax, 256(%rbx)
	leaq	936(%rsp), %rax
	movq	%rax, 264(%rbx)
	leaq	944(%rsp), %rax
	movq	%rax, 272(%rbx)
	leaq	952(%rsp), %rax
	movq	%rax, 280(%rbx)
	leaq	960(%rsp), %rax
	movq	%rax, 288(%rbx)
	leaq	968(%rsp), %rax
	movq	%rax, 296(%rbx)
	leaq	976(%rsp), %rax
	movq	%rax, 304(%rbx)
	leaq	984(%rsp), %rax
	movq	%rax, 312(%rbx)
	leaq	992(%rsp), %rax
	movq	%rax, 320(%rbx)
	leaq	1000(%rsp), %rax
	movq	%rax, 328(%rbx)
	leaq	1008(%rsp), %rax
	movq	%rax, 336(%rbx)
	leaq	1016(%rsp), %rax
	movq	%rax, 344(%rbx)
	leaq	1024(%rsp), %rax
	movq	%rax, 352(%rbx)
	leaq	1032(%rsp), %rax
	movq	%rax, 360(%rbx)
	leaq	1040(%rsp), %rax
	movq	%rax, 368(%rbx)
	leaq	1048(%rsp), %rax
	movq	%rax, 376(%rbx)
	leaq	1056(%rsp), %rax
	movq	%rax, 384(%rbx)
	leaq	1064(%rsp), %rax
	movq	%rax, 392(%rbx)
	leaq	1072(%rsp), %rax
	movq	%rax, 400(%rbx)
	leaq	1080(%rsp), %rax
	movq	%rax, 408(%rbx)
	leaq	1088(%rsp), %rax
	movq	%rax, 416(%rbx)
	leaq	1096(%rsp), %rax
	movq	%rax, 424(%rbx)
	leaq	1104(%rsp), %rax
	movq	%rax, 432(%rbx)
	leaq	1112(%rsp), %rax
	movq	%rax, 440(%rbx)
	leaq	1120(%rsp), %rax
	movq	%rax, 448(%rbx)
	leaq	1128(%rsp), %rax
	movq	%rax, 456(%rbx)
	leaq	1136(%rsp), %rax
	movq	%rax, 464(%rbx)
	leaq	1144(%rsp), %rax
	movq	%rax, 472(%rbx)
	leaq	1152(%rsp), %rax
	movq	%rax, 480(%rbx)
	leaq	1160(%rsp), %rax
	movq	%rax, 488(%rbx)
	leaq	1168(%rsp), %rax
	movq	%rax, 496(%rbx)
	leaq	1176(%rsp), %rax
	movq	%rax, 504(%rbx)
	leaq	1184(%rsp), %rax
	movq	%rax, 512(%rbx)
	leaq	1192(%rsp), %rax
	movq	%rax, 520(%rbx)
	leaq	1200(%rsp), %rax
	movq	%rax, 528(%rbx)
	leaq	1208(%rsp), %rax
	movq	%rax, 536(%rbx)
	leaq	1216(%rsp), %rax
	movq	%rax, 544(%rbx)
	leaq	1224(%rsp), %rax
	movq	%rax, 552(%rbx)
	leaq	1232(%rsp), %rax
	movq	%rax, 560(%rbx)
	leaq	80(%rsp), %r14
	leaq	64(%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	$_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$688, %rsp                      # imm = 0x2B0
	.cfi_adjust_cfa_offset -688
	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_end1:
	.size	_Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, .Lfunc_end1-_Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst8,"aM",@progbits,8
	.p2align	3, 0x0                          # -- Begin function main
.LCPI2_0:
	.quad	0x41dfffffffc00000              # double 2147483647
	.section	.rodata.cst16,"aM",@progbits,16
	.p2align	4, 0x0
.LCPI2_1:
	.long	1127219200                      # 0x43300000
	.long	1160773632                      # 0x45300000
	.long	0                               # 0x0
	.long	0                               # 0x0
.LCPI2_2:
	.quad	0x4330000000000000              # double 4503599627370496
	.quad	0x4530000000000000              # double 1.9342813113834067E+25
	.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	$1736, %rsp                     # imm = 0x6C8
	.cfi_def_cfa_offset 1792
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movl	$_ZSt4cout, %ebx
	movl	$_ZSt4cout, %edi
	movl	$.L.str, %esi
	movl	$16, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rdi
	addq	%rbx, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1136(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 672(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 664(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 656(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 648(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 640(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 632(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 624(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 616(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 608(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 600(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 536(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 544(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 680(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1128(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1120(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1112(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1104(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1096(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1088(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1080(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1072(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1064(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1056(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1048(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1040(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1032(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1024(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1016(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1008(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1000(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 992(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 984(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 976(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 968(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 960(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 952(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 944(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 936(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 928(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 920(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 912(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 904(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 896(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 888(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 880(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 872(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 864(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 856(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 848(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 840(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 832(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 824(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 816(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 808(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 800(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 792(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 784(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 776(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 768(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 760(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 752(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 744(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 736(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 728(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 720(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 712(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 704(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 696(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 688(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1664(%rsp)                # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 528(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 520(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 512(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 504(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 496(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 488(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 480(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 472(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 464(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 456(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 448(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 440(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 432(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 424(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 416(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 408(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 400(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 392(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 384(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 376(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 368(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 360(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 352(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 344(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 336(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 328(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 320(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 312(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 304(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 296(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 288(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 280(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 272(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 264(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 256(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 248(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 240(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 232(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 224(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 216(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 208(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 200(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 192(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 184(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 176(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 168(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 160(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 152(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 144(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 136(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 128(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 120(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 112(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 104(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 96(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 88(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 80(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 72(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 64(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 56(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 48(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 40(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 32(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 24(%rsp)                  # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 592(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 584(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 576(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 568(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 560(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 552(%rsp)                 # 8-byte Spill
	movl	$800, %edi                      # imm = 0x320
	callq	_Znam
	movq	%rax, 1728(%rsp)                # 8-byte Spill
	movl	$_ZSt4cout, %edi
	movl	$.L.str.1, %esi
	movl	$14, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt4cout, %edi
	movl	$100, %esi
	callq	_ZNSo9_M_insertImEERSoT_
	movq	%rax, %rbp
	movq	(%rax), %rax
	movq	-24(%rax), %rdi
	addq	%rbp, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movq	%rbp, %rdi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
	xorl	%ebp, %ebp
	movq	592(%rsp), %r13                 # 8-byte Reload
	movq	584(%rsp), %rbx                 # 8-byte Reload
	movq	576(%rsp), %r14                 # 8-byte Reload
	movq	568(%rsp), %r15                 # 8-byte Reload
	movq	560(%rsp), %r12                 # 8-byte Reload
.LBB2_1:                                # =>This Inner Loop Header: Depth=1
	xorl	%edi, %edi
	callq	time
	movl	%eax, %edi
	callq	srand
	callq	rand
	cvtsi2sd	%eax, %xmm0
	movsd	.LCPI2_0(%rip), %xmm1           # xmm1 = mem[0],zero
	divsd	%xmm1, %xmm0
	movq	%rbp, %xmm1
	punpckldq	.LCPI2_1(%rip), %xmm1   # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
	subpd	.LCPI2_2(%rip), %xmm1
	movapd	%xmm1, %xmm2
	unpckhpd	%xmm1, %xmm2                    # xmm2 = xmm2[1],xmm1[1]
	addsd	%xmm1, %xmm2
	movapd	%xmm2, (%rsp)                   # 16-byte Spill
	mulsd	%xmm2, %xmm0
	movq	528(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	520(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	512(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	504(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	496(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	488(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	480(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	472(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	464(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	456(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	448(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	440(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	432(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	424(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	416(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	408(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	400(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	392(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	384(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	376(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	368(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	360(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	352(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	344(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	336(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	328(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	320(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	312(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	304(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	296(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	288(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	280(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	272(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	264(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	256(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	248(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	240(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	232(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	224(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	216(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	208(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	200(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	192(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	184(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	176(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	168(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	160(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	152(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	144(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	136(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	128(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	120(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	112(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	104(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	96(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	88(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	80(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	72(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	64(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	56(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	48(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	40(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	32(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	24(%rsp), %rax                  # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movsd	%xmm0, (%r13,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movsd	%xmm0, (%rbx,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movsd	%xmm0, (%r14,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movsd	%xmm0, (%r15,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movsd	%xmm0, (%r12,%rbp,8)
	callq	rand
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	divsd	.LCPI2_0(%rip), %xmm0
	mulsd	(%rsp), %xmm0                   # 16-byte Folded Reload
	movq	552(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	movq	528(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1136(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	520(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	672(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	512(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	664(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	504(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	656(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	496(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	648(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	488(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	640(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	480(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	632(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	472(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	624(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	464(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	616(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	456(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	608(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	448(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	600(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	440(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	536(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	432(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	544(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	424(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	680(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	416(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1128(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	408(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1120(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	400(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1112(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	392(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1104(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	384(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1096(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	376(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1088(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	368(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1080(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	360(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1072(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	352(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1064(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	344(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1056(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	336(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1048(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	328(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1040(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	320(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1032(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	312(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1024(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	304(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1016(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	296(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1008(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	288(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	1000(%rsp), %rax                # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	280(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	992(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	272(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	984(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	264(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	976(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	256(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	968(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	248(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	960(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	240(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	952(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	232(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	944(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	224(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	936(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	216(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	928(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	208(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	920(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	200(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	912(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	192(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	904(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	184(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	896(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	176(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	888(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	168(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	880(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	160(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	872(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	152(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	864(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	144(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	856(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	136(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	848(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	128(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	840(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	120(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	832(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	112(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	824(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	104(%rsp), %rax                 # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	816(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	96(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	808(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	88(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	800(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	80(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	792(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	72(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	784(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	64(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	776(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	56(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	768(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	48(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	760(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	40(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	752(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	32(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	744(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	24(%rsp), %rax                  # 8-byte Reload
	movsd	(%rax,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	736(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movsd	(%r13,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	728(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movsd	(%rbx,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	720(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movsd	(%r14,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	712(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movsd	(%r15,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	704(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movsd	(%r12,%rbp,8), %xmm1            # xmm1 = mem[0],zero
	movq	696(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm1, (%rax,%rbp,8)
	movq	688(%rsp), %rax                 # 8-byte Reload
	movsd	%xmm0, (%rax,%rbp,8)
	incq	%rbp
	cmpq	$100, %rbp
	jne	.LBB2_1
# %bb.2:                                # %.preheader879.preheader
	xorl	%eax, %eax
	movq	672(%rsp), %rcx                 # 8-byte Reload
	movq	664(%rsp), %rdx                 # 8-byte Reload
	movq	656(%rsp), %rsi                 # 8-byte Reload
	movq	648(%rsp), %rdi                 # 8-byte Reload
	movq	640(%rsp), %r8                  # 8-byte Reload
	movq	632(%rsp), %r9                  # 8-byte Reload
	movq	624(%rsp), %r10                 # 8-byte Reload
	movq	616(%rsp), %r11                 # 8-byte Reload
	movq	608(%rsp), %rbp                 # 8-byte Reload
	movq	1664(%rsp), %r14                # 8-byte Reload
	movq	600(%rsp), %r12                 # 8-byte Reload
	movq	536(%rsp), %r15                 # 8-byte Reload
	movq	544(%rsp), %r13                 # 8-byte Reload
.LBB2_3:                                # %.preheader879
                                        # =>This Inner Loop Header: Depth=1
	movq	1136(%rsp), %rbx                # 8-byte Reload
	movsd	(%rbx,%rax), %xmm0              # xmm0 = mem[0],zero
	addsd	(%rcx,%rax), %xmm0
	addsd	(%rdx,%rax), %xmm0
	addsd	(%rsi,%rax), %xmm0
	addsd	(%rdi,%rax), %xmm0
	addsd	(%r8,%rax), %xmm0
	addsd	(%r9,%rax), %xmm0
	addsd	(%r10,%rax), %xmm0
	addsd	(%r11,%rax), %xmm0
	addsd	(%rbp,%rax), %xmm0
	addsd	(%r12,%rax), %xmm0
	addsd	(%r15,%rax), %xmm0
	addsd	(%r13,%rax), %xmm0
	movq	680(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1128(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1120(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1112(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1104(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1096(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1088(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1080(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1072(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1064(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1056(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1048(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1040(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1032(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1024(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1016(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1008(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	1000(%rsp), %rbx                # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	992(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	984(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	976(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	968(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	960(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	952(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	944(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	936(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	928(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	920(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	912(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	904(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	896(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	888(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	880(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	872(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	864(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	856(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	848(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	840(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	832(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	824(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	816(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	808(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	800(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	792(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	784(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	776(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	768(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	760(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	752(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	744(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	736(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	728(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	720(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	712(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	704(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	696(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movq	688(%rsp), %rbx                 # 8-byte Reload
	addsd	(%rbx,%rax), %xmm0
	movsd	%xmm0, (%r14,%rax)
	addq	$8, %rax
	cmpq	$800, %rax                      # imm = 0x320
	jne	.LBB2_3
# %bb.4:
	movl	$_ZSt4cout, %ebx
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$22, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rdi
	addq	%rbx, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
	leaq	1712(%rsp), %r14
	movl	$800, %esi                      # imm = 0x320
	movq	%r14, %rdi
	callq	hipMalloc
	leaq	1704(%rsp), %rbx
	movl	$800, %esi                      # imm = 0x320
	movq	%rbx, %rdi
	callq	hipMalloc
	leaq	1696(%rsp), %r15
	movl	$800, %esi                      # imm = 0x320
	movq	%r15, %rdi
	callq	hipMalloc
	leaq	1688(%rsp), %rbp
	movl	$800, %esi                      # imm = 0x320
	movq	%rbp, %rdi
	callq	hipMalloc
	leaq	1656(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1648(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1640(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1632(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1624(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1616(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1608(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1600(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1592(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1584(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1576(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1568(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1560(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1552(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1544(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1536(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1528(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1520(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1512(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1504(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1496(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1488(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1480(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1472(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1464(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1456(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1448(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1440(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1432(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1424(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1416(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1408(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1400(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1392(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1384(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1376(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1368(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1360(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1352(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1344(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1336(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1328(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1320(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1312(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1304(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1296(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1288(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1280(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1272(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1264(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1256(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1248(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1240(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1232(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1224(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1216(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1208(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1200(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1192(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1184(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1176(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1168(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1680(%rsp), %r13
	movl	$800, %esi                      # imm = 0x320
	movq	%r13, %rdi
	callq	hipMalloc
	leaq	1672(%rsp), %r12
	movl	$800, %esi                      # imm = 0x320
	movq	%r12, %rdi
	callq	hipMalloc
	leaq	1160(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1152(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	leaq	1144(%rsp), %rdi
	movl	$800, %esi                      # imm = 0x320
	callq	hipMalloc
	movq	(%r14), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	528(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	(%rbx), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	520(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	(%r15), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	512(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	(%rbp), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	504(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1656(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	496(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1648(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	488(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1640(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	480(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1632(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	472(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1624(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	464(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1616(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	456(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1608(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	448(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1600(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	440(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1592(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	432(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1584(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	424(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1576(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	416(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1568(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	408(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1560(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	400(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1552(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	392(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1544(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	384(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1536(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	376(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1528(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	368(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1520(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	360(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1512(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	352(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1504(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	344(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1496(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	336(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1488(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	328(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1480(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	320(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1472(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	312(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1464(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	304(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1456(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	296(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1448(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	288(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1440(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	280(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1432(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	272(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1424(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	264(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1416(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	256(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1408(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	248(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1400(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	240(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1392(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	232(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1384(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	224(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1376(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	216(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1368(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	208(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1360(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	200(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1352(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	192(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1344(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	184(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1336(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	176(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1328(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	168(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1320(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	160(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1312(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	152(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1304(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	144(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1296(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	136(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1288(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	128(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1280(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	120(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1272(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	112(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1264(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	104(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1256(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	96(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1248(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	88(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1240(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	80(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1232(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	72(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1224(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	64(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1216(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	56(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1208(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	48(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1200(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	40(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1192(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	32(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1184(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	24(%rsp), %rsi                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1176(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	592(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1168(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	584(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	(%r13), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	576(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	(%r12), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	568(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1160(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	560(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	leaq	1152(%rsp), %rax
	movq	(%rax), %rdi
	movl	$800, %edx                      # imm = 0x320
	movq	552(%rsp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movl	$_ZSt4cout, %edi
	movl	$.L.str.3, %esi
	movl	$16, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rdi
	movl	$_ZSt4cout, %eax
	addq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
	movabsq	$4294967297, %rdx               # imm = 0x100000001
	leaq	99(%rdx), %rdi
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
	testl	%eax, %eax
	jne	.LBB2_6
# %bb.5:
	movq	1712(%rsp), %rdi
	movq	1704(%rsp), %rsi
	movq	1696(%rsp), %rdx
	movq	1688(%rsp), %rcx
	movq	1656(%rsp), %r8
	movq	1648(%rsp), %r9
	subq	$8, %rsp
	.cfi_adjust_cfa_offset 8
	pushq	1152(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1168(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1184(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1704(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1720(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1216(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1232(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1248(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1264(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1280(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1296(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1312(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1328(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1344(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1360(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1376(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1392(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1408(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1424(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1440(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1456(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1472(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1488(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1504(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1520(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1536(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1552(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1568(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1584(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1600(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1616(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1632(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1648(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1664(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1680(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1696(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1712(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1728(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1744(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1760(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1776(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1792(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1808(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1824(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1840(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1856(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1872(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1888(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1904(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1920(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1936(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1952(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1968(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	1984(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2000(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2016(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2032(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2048(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2064(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2080(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2096(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2112(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2128(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2144(%rsp)
	.cfi_adjust_cfa_offset 8
	pushq	2160(%rsp)
	.cfi_adjust_cfa_offset 8
	callq	_Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	addq	$528, %rsp                      # imm = 0x210
	.cfi_adjust_cfa_offset -528
.LBB2_6:
	callq	hipDeviceSynchronize
	movq	1144(%rsp), %rsi
	movl	$800, %edx                      # imm = 0x320
	movq	1728(%rsp), %r13                # 8-byte Reload
	movq	%r13, %rdi
	movl	$2, %ecx
	callq	hipMemcpy
	xorl	%ebx, %ebx
	movq	536(%rsp), %r14                 # 8-byte Reload
	movq	1664(%rsp), %r12                # 8-byte Reload
.LBB2_7:                                # =>This Inner Loop Header: Depth=1
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movsd	(%r13,%rbx,8), %xmm0            # xmm0 = mem[0],zero
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
	movq	%rax, %rbp
	movl	$.L.str.5, %esi
	movl	$3, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movsd	(%r12,%rbx,8), %xmm0            # xmm0 = mem[0],zero
	movq	%rbp, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
	movq	%rax, %rbp
	movq	(%rax), %rax
	movq	-24(%rax), %rdi
	addq	%rbp, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movq	%rbp, %rdi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
	incq	%rbx
	cmpq	$6, %rbx
	jne	.LBB2_7
# %bb.8:                                # %.preheader.preheader
	xorpd	%xmm0, %xmm0
	xorl	%eax, %eax
	xorpd	%xmm1, %xmm1
	movq	544(%rsp), %rbx                 # 8-byte Reload
	movq	680(%rsp), %r15                 # 8-byte Reload
.LBB2_9:                                # %.preheader
                                        # =>This Inner Loop Header: Depth=1
	addsd	(%r13,%rax,8), %xmm0
	addsd	(%r12,%rax,8), %xmm1
	incq	%rax
	cmpq	$100, %rax
	jne	.LBB2_9
# %bb.10:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.6, %esi
	movl	$5, %edx
	movsd	%xmm0, 1720(%rsp)               # 8-byte Spill
	movsd	%xmm1, (%rsp)                   # 8-byte Spill
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movsd	1720(%rsp), %xmm0               # 8-byte Reload
                                        # xmm0 = mem[0],zero
	subsd	(%rsp), %xmm0                   # 8-byte Folded Reload
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
	movq	%rax, %rbp
	movq	(%rax), %rax
	movq	-24(%rax), %rdi
	addq	%rbp, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movq	%rbp, %rdi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
	movq	1712(%rsp), %rdi
	callq	hipFree
	movq	1704(%rsp), %rdi
	callq	hipFree
	movq	1696(%rsp), %rdi
	callq	hipFree
	movq	1688(%rsp), %rdi
	callq	hipFree
	movq	1656(%rsp), %rdi
	callq	hipFree
	movq	1648(%rsp), %rdi
	callq	hipFree
	movq	1640(%rsp), %rdi
	callq	hipFree
	movq	1632(%rsp), %rdi
	callq	hipFree
	movq	1624(%rsp), %rdi
	callq	hipFree
	movq	1616(%rsp), %rdi
	callq	hipFree
	movq	1608(%rsp), %rdi
	callq	hipFree
	movq	1600(%rsp), %rdi
	callq	hipFree
	movq	1592(%rsp), %rdi
	callq	hipFree
	movq	1584(%rsp), %rdi
	callq	hipFree
	movq	1576(%rsp), %rdi
	callq	hipFree
	movq	1568(%rsp), %rdi
	callq	hipFree
	movq	1560(%rsp), %rdi
	callq	hipFree
	movq	1552(%rsp), %rdi
	callq	hipFree
	movq	1544(%rsp), %rdi
	callq	hipFree
	movq	1536(%rsp), %rdi
	callq	hipFree
	movq	1528(%rsp), %rdi
	callq	hipFree
	movq	1520(%rsp), %rdi
	callq	hipFree
	movq	1512(%rsp), %rdi
	callq	hipFree
	movq	1504(%rsp), %rdi
	callq	hipFree
	movq	1496(%rsp), %rdi
	callq	hipFree
	movq	1488(%rsp), %rdi
	callq	hipFree
	movq	1480(%rsp), %rdi
	callq	hipFree
	movq	1472(%rsp), %rdi
	callq	hipFree
	movq	1464(%rsp), %rdi
	callq	hipFree
	movq	1456(%rsp), %rdi
	callq	hipFree
	movq	1448(%rsp), %rdi
	callq	hipFree
	movq	1440(%rsp), %rdi
	callq	hipFree
	movq	1432(%rsp), %rdi
	callq	hipFree
	movq	1424(%rsp), %rdi
	callq	hipFree
	movq	1416(%rsp), %rdi
	callq	hipFree
	movq	1408(%rsp), %rdi
	callq	hipFree
	movq	1400(%rsp), %rdi
	callq	hipFree
	movq	1392(%rsp), %rdi
	callq	hipFree
	movq	1384(%rsp), %rdi
	callq	hipFree
	movq	1376(%rsp), %rdi
	callq	hipFree
	movq	1368(%rsp), %rdi
	callq	hipFree
	movq	1360(%rsp), %rdi
	callq	hipFree
	movq	1352(%rsp), %rdi
	callq	hipFree
	movq	1344(%rsp), %rdi
	callq	hipFree
	movq	1336(%rsp), %rdi
	callq	hipFree
	movq	1328(%rsp), %rdi
	callq	hipFree
	movq	1320(%rsp), %rdi
	callq	hipFree
	movq	1312(%rsp), %rdi
	callq	hipFree
	movq	1304(%rsp), %rdi
	callq	hipFree
	movq	1296(%rsp), %rdi
	callq	hipFree
	movq	1288(%rsp), %rdi
	callq	hipFree
	movq	1280(%rsp), %rdi
	callq	hipFree
	movq	1272(%rsp), %rdi
	callq	hipFree
	movq	1264(%rsp), %rdi
	callq	hipFree
	movq	1256(%rsp), %rdi
	callq	hipFree
	movq	1248(%rsp), %rdi
	callq	hipFree
	movq	1240(%rsp), %rdi
	callq	hipFree
	movq	1232(%rsp), %rdi
	callq	hipFree
	movq	1224(%rsp), %rdi
	callq	hipFree
	movq	1216(%rsp), %rdi
	callq	hipFree
	movq	1208(%rsp), %rdi
	callq	hipFree
	movq	1200(%rsp), %rdi
	callq	hipFree
	movq	1192(%rsp), %rdi
	callq	hipFree
	movq	1184(%rsp), %rdi
	callq	hipFree
	movq	1176(%rsp), %rdi
	callq	hipFree
	movq	1168(%rsp), %rdi
	callq	hipFree
	movq	1680(%rsp), %rdi
	callq	hipFree
	movq	1672(%rsp), %rdi
	callq	hipFree
	movq	1160(%rsp), %rdi
	callq	hipFree
	movq	1152(%rsp), %rdi
	callq	hipFree
	movq	1144(%rsp), %rdi
	callq	hipFree
	movq	528(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	520(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	512(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	504(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	496(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	488(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	480(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	472(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	464(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	456(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	448(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	440(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	432(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	424(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	416(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	408(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	400(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	392(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	384(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	376(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	368(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	360(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	352(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	344(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	336(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	328(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	320(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	312(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	304(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	296(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	288(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	280(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	272(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	264(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	256(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	248(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	240(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	232(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	224(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	216(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	208(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	200(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	192(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	184(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	176(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	168(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	160(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	152(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	144(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	136(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	128(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	120(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	112(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	104(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	96(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	88(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	80(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	72(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	64(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	56(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	48(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	40(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	32(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	24(%rsp), %rdi                  # 8-byte Reload
	callq	_ZdaPv
	movq	592(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	584(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	576(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	568(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	560(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	552(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	%r13, %rdi
	callq	_ZdaPv
	movq	1136(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	672(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	664(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	656(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	648(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	640(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	632(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	624(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	616(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	608(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	600(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	%r14, %rdi
	callq	_ZdaPv
	movq	%rbx, %rdi
	callq	_ZdaPv
	movq	%r15, %rdi
	callq	_ZdaPv
	movq	1128(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1120(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1112(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1104(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1096(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1088(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1080(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1072(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1064(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1056(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1048(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1040(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1032(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1024(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1016(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1008(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	1000(%rsp), %rdi                # 8-byte Reload
	callq	_ZdaPv
	movq	992(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	984(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	976(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	968(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	960(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	952(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	944(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	936(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	928(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	920(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	912(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	904(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	896(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	888(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	880(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	872(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	864(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	856(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	848(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	840(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	832(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	824(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	816(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	808(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	800(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	792(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	784(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	776(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	768(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	760(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	752(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	744(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	736(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	728(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	720(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	712(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	704(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	696(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	688(%rsp), %rdi                 # 8-byte Reload
	callq	_ZdaPv
	movq	%r12, %rdi
	callq	_ZdaPv
	movl	$.Lstr, %edi
	callq	puts@PLT
	xorl	%eax, %eax
	addq	$1736, %rsp                     # imm = 0x6C8
	.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
.Lfunc_end2:
	.size	main, .Lfunc_end2-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	.LBB3_2
# %bb.1:
	movl	$__hip_fatbin_wrapper, %edi
	callq	__hipRegisterFatBinary
	movq	%rax, %rbx
	movq	%rax, __hip_gpubin_handle(%rip)
.LBB3_2:
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z17vector_add_struct9struct_abPd, %esi
	movl	$.L__unnamed_1, %edx
	movl	$.L__unnamed_1, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, %esi
	movl	$.L__unnamed_2, %edx
	movl	$.L__unnamed_2, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	movl	$__hip_module_dtor, %edi
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	atexit                          # TAILCALL
.Lfunc_end3:
	.size	__hip_module_ctor, .Lfunc_end3-__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	.LBB4_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
.LBB4_2:
	retq
.Lfunc_end4:
	.size	__hip_module_dtor, .Lfunc_end4-__hip_module_dtor
	.cfi_endproc
                                        # -- End function
	.type	_Z17vector_add_struct9struct_abPd,@object # @_Z17vector_add_struct9struct_abPd
	.section	.rodata,"a",@progbits
	.globl	_Z17vector_add_struct9struct_abPd
	.p2align	3, 0x0
_Z17vector_add_struct9struct_abPd:
	.quad	_Z32__device_stub__vector_add_struct9struct_abPd
	.size	_Z17vector_add_struct9struct_abPd, 8

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

	.type	.L.str,@object                  # @.str
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str:
	.asciz	"Start of program"
	.size	.L.str, 17

	.type	.L.str.1,@object                # @.str.1
.L.str.1:
	.asciz	"No of nodes = "
	.size	.L.str.1, 15

	.type	.L.str.2,@object                # @.str.2
.L.str.2:
	.asciz	"Start parallel version"
	.size	.L.str.2, 23

	.type	.L.str.3,@object                # @.str.3
.L.str.3:
	.asciz	"Not using struct"
	.size	.L.str.3, 17

	.type	.L.str.4,@object                # @.str.4
.L.str.4:
	.asciz	"\t"
	.size	.L.str.4, 2

	.type	.L.str.5,@object                # @.str.5
.L.str.5:
	.asciz	" - "
	.size	.L.str.5, 4

	.type	.L.str.6,@object                # @.str.6
.L.str.6:
	.asciz	"Gap= "
	.size	.L.str.6, 6

	.type	.L__unnamed_1,@object           # @0
.L__unnamed_1:
	.asciz	"_Z17vector_add_struct9struct_abPd"
	.size	.L__unnamed_1, 34

	.type	.L__unnamed_2,@object           # @1
.L__unnamed_2:
	.asciz	"_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_"
	.size	.L__unnamed_2, 159

	.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

	.type	.Lstr,@object                   # @str
	.section	.rodata.str1.1,"aMS",@progbits,1
.Lstr:
	.asciz	"End of program!"
	.size	.Lstr, 16

	.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 _Z32__device_stub__vector_add_struct9struct_abPd
	.addrsig_sym _Z27__device_stub__vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.addrsig_sym __hip_module_ctor
	.addrsig_sym __hip_module_dtor
	.addrsig_sym _Z17vector_add_struct9struct_abPd
	.addrsig_sym _Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.addrsig_sym _ZSt4cout
	.addrsig_sym __hip_fatbin
	.addrsig_sym __hip_fatbin_wrapper
	.addrsig_sym __hip_cuid_

	.text
	.amdgcn_target "amdgcn-amd-amdhsa--gfx1100"
	.protected	_Z17vector_add_struct9struct_abPd ; -- Begin function _Z17vector_add_struct9struct_abPd
	.globl	_Z17vector_add_struct9struct_abPd
	.p2align	8
	.type	_Z17vector_add_struct9struct_abPd,@function
_Z17vector_add_struct9struct_abPd:      ; @_Z17vector_add_struct9struct_abPd
; %bb.0:
	s_load_b32 s2, s[0:1], 0x244
	v_bfe_u32 v1, v0, 10, 10
	v_and_b32_e32 v0, 0x3ff, v0
	s_waitcnt lgkmcnt(0)
	s_lshr_b32 s3, s2, 16
	s_and_b32 s2, s2, 0xffff
	v_mad_u64_u32 v[2:3], null, s15, s3, v[1:2]
	s_load_b512 s[4:19], s[0:1], 0x0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[3:4], null, v2, s2, v[0:1]
	v_mov_b32_e32 v4, 0
	v_lshlrev_b64 v[0:1], 3, v[3:4]
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v2, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v3, vcc_lo, s5, v1, vcc_lo
	v_add_co_u32 v4, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s7, v1, vcc_lo
	v_add_co_u32 v6, vcc_lo, s8, v0
	global_load_b64 v[2:3], v[2:3], off
	global_load_b64 v[4:5], v[4:5], off
	v_add_co_ci_u32_e32 v7, vcc_lo, s9, v1, vcc_lo
	v_add_co_u32 v8, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	v_add_co_u32 v10, vcc_lo, s12, v0
	global_load_b64 v[8:9], v[8:9], off
	v_add_co_ci_u32_e32 v11, vcc_lo, s13, v1, vcc_lo
	v_add_co_u32 v12, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	v_add_co_u32 v14, vcc_lo, s16, v0
	global_load_b64 v[12:13], v[12:13], off
	v_add_co_ci_u32_e32 v15, vcc_lo, s17, v1, vcc_lo
	v_add_co_u32 v16, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s19, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_load_b512 s[4:19], s[0:1], 0x40
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v18, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s5, v1, vcc_lo
	v_add_co_u32 v20, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x80
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v16, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0xc0
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v14, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x100
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v12, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x140
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v10, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x180
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v8, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x1c0
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v6, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s11, v1, vcc_lo
	s_load_b256 s[4:11], s[0:1], 0x200
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s19, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v4, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s7, v1, vcc_lo
	s_clause 0x1
	s_load_b128 s[4:7], s[0:1], 0x220
	s_load_b64 s[0:1], s[0:1], 0x230
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v12, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s7, v1, vcc_lo
	v_add_co_u32 v0, vcc_lo, s0, v0
	v_add_co_ci_u32_e32 v1, vcc_lo, s1, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	s_waitcnt vmcnt(7)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	s_waitcnt vmcnt(6)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	s_waitcnt vmcnt(5)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	s_waitcnt vmcnt(4)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	s_waitcnt vmcnt(3)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	s_waitcnt vmcnt(2)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	s_waitcnt vmcnt(1)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	s_waitcnt vmcnt(0)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	global_store_b64 v[0:1], v[2:3], off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z17vector_add_struct9struct_abPd
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 824
		.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 1
		.amdhsa_next_free_vgpr 22
		.amdhsa_next_free_sgpr 20
		.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	_Z17vector_add_struct9struct_abPd, .Lfunc_end0-_Z17vector_add_struct9struct_abPd
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 2484
; NumSgprs: 22
; NumVgprs: 22
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 2
; NumSGPRsForWavesPerEU: 22
; NumVGPRsForWavesPerEU: 22
; Occupancy: 16
; WaveLimiterHint : 1
; 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: 1
	.text
	.protected	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_ ; -- Begin function _Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.globl	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
	.p2align	8
	.type	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_,@function
_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_: ; @_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
; %bb.0:
	s_load_b32 s2, s[0:1], 0x244
	v_bfe_u32 v1, v0, 10, 10
	v_and_b32_e32 v0, 0x3ff, v0
	s_waitcnt lgkmcnt(0)
	s_lshr_b32 s3, s2, 16
	s_and_b32 s2, s2, 0xffff
	v_mad_u64_u32 v[2:3], null, s15, s3, v[1:2]
	s_load_b512 s[4:19], s[0:1], 0x0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[3:4], null, v2, s2, v[0:1]
	v_mov_b32_e32 v4, 0
	v_lshlrev_b64 v[0:1], 3, v[3:4]
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v2, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v3, vcc_lo, s5, v1, vcc_lo
	v_add_co_u32 v4, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s7, v1, vcc_lo
	v_add_co_u32 v6, vcc_lo, s8, v0
	global_load_b64 v[2:3], v[2:3], off
	global_load_b64 v[4:5], v[4:5], off
	v_add_co_ci_u32_e32 v7, vcc_lo, s9, v1, vcc_lo
	v_add_co_u32 v8, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	v_add_co_u32 v10, vcc_lo, s12, v0
	global_load_b64 v[8:9], v[8:9], off
	v_add_co_ci_u32_e32 v11, vcc_lo, s13, v1, vcc_lo
	v_add_co_u32 v12, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	v_add_co_u32 v14, vcc_lo, s16, v0
	global_load_b64 v[12:13], v[12:13], off
	v_add_co_ci_u32_e32 v15, vcc_lo, s17, v1, vcc_lo
	v_add_co_u32 v16, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s19, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_load_b512 s[4:19], s[0:1], 0x40
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v18, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s5, v1, vcc_lo
	v_add_co_u32 v20, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x80
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v16, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0xc0
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v14, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x100
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v12, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x140
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v10, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x180
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v8, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_add_co_u32 v4, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s19, v1, vcc_lo
	s_load_b512 s[4:19], s[0:1], 0x1c0
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v6, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s7, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	v_add_co_u32 v12, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s11, v1, vcc_lo
	s_load_b256 s[4:11], s[0:1], 0x200
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s12, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s13, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	v_add_co_u32 v16, vcc_lo, s14, v0
	v_add_co_ci_u32_e32 v17, vcc_lo, s15, v1, vcc_lo
	global_load_b64 v[16:17], v[16:17], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	v_add_co_u32 v18, vcc_lo, s16, v0
	v_add_co_ci_u32_e32 v19, vcc_lo, s17, v1, vcc_lo
	global_load_b64 v[18:19], v[18:19], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	v_add_co_u32 v20, vcc_lo, s18, v0
	v_add_co_ci_u32_e32 v21, vcc_lo, s19, v1, vcc_lo
	global_load_b64 v[20:21], v[20:21], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v4, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v5, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[4:5], v[4:5], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	v_add_co_u32 v6, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v7, vcc_lo, s7, v1, vcc_lo
	s_load_b256 s[0:7], s[0:1], 0x220
	global_load_b64 v[6:7], v[6:7], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	v_add_co_u32 v8, vcc_lo, s8, v0
	v_add_co_ci_u32_e32 v9, vcc_lo, s9, v1, vcc_lo
	global_load_b64 v[8:9], v[8:9], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	v_add_co_u32 v10, vcc_lo, s10, v0
	v_add_co_ci_u32_e32 v11, vcc_lo, s11, v1, vcc_lo
	global_load_b64 v[10:11], v[10:11], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v12, vcc_lo, s0, v0
	v_add_co_ci_u32_e32 v13, vcc_lo, s1, v1, vcc_lo
	global_load_b64 v[12:13], v[12:13], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	v_add_co_u32 v14, vcc_lo, s2, v0
	v_add_co_ci_u32_e32 v15, vcc_lo, s3, v1, vcc_lo
	v_add_co_u32 v0, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v1, vcc_lo, s5, v1, vcc_lo
	global_load_b64 v[14:15], v[14:15], off
	s_waitcnt vmcnt(8)
	v_add_f64 v[2:3], v[2:3], v[16:17]
	s_waitcnt vmcnt(7)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[18:19]
	s_waitcnt vmcnt(6)
	v_add_f64 v[2:3], v[2:3], v[20:21]
	s_waitcnt vmcnt(5)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[4:5]
	s_waitcnt vmcnt(4)
	v_add_f64 v[2:3], v[2:3], v[6:7]
	s_waitcnt vmcnt(3)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[8:9]
	s_waitcnt vmcnt(2)
	v_add_f64 v[2:3], v[2:3], v[10:11]
	s_waitcnt vmcnt(1)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[12:13]
	s_waitcnt vmcnt(0)
	v_add_f64 v[2:3], v[2:3], v[14:15]
	global_store_b64 v[0:1], v[2:3], off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 824
		.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 1
		.amdhsa_next_free_vgpr 22
		.amdhsa_next_free_sgpr 20
		.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_end1:
	.size	_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_, .Lfunc_end1-_Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 2472
; NumSgprs: 22
; NumVgprs: 22
; ScratchSize: 0
; MemoryBound: 1
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 2
; NumSGPRsForWavesPerEU: 22
; NumVGPRsForWavesPerEU: 22
; Occupancy: 16
; WaveLimiterHint : 1
; 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: 1
	.text
	.p2alignl 7, 3214868480
	.fill 96, 4, 3214868480
	.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:
      - .offset:         0
        .size:           560
        .value_kind:     by_value
      - .address_space:  global
        .offset:         560
        .size:           8
        .value_kind:     global_buffer
      - .offset:         568
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         572
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         576
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         580
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         582
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         584
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         586
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         588
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         590
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         608
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         616
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         624
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         632
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 824
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z17vector_add_struct9struct_abPd
    .private_segment_fixed_size: 0
    .sgpr_count:     22
    .sgpr_spill_count: 0
    .symbol:         _Z17vector_add_struct9struct_abPd.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     22
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .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
      - .address_space:  global
        .offset:         32
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         40
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         48
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         56
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         64
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         72
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         80
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         88
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         96
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         104
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         112
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         120
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         128
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         136
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         144
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         152
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         160
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         168
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         176
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         184
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         192
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         200
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         208
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         216
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         224
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         232
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         240
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         248
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         256
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         264
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         272
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         280
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         288
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         296
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         304
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         312
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         320
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         328
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         336
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         344
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         352
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         360
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         368
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         376
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         384
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         392
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         400
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         408
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         416
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         424
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         432
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         440
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         448
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         456
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         464
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         472
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         480
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         488
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         496
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         504
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         512
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         520
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         528
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         536
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         544
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         552
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         560
        .size:           8
        .value_kind:     global_buffer
      - .offset:         568
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         572
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         576
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         580
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         582
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         584
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         586
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         588
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         590
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         608
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         616
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         624
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         632
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 824
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_
    .private_segment_fixed_size: 0
    .sgpr_count:     22
    .sgpr_spill_count: 0
    .symbol:         _Z12vector_add70PdS_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_S_.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     22
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
amdhsa.target:   amdgcn-amd-amdhsa--gfx1100
amdhsa.version:
  - 1
  - 2
...

	.end_amdgpu_metadata
