#include<iostream>
#include<vector>
#include<fstream>
#include<sstream>
#include<string>
#include<iterator>
#include<ctype.h>
#include <iomanip>
#include <math.h>
#include <fstream>
#include<cuda_runtime.h>

using namespace std;

vector<string> parFile;
vector<string> particleConfig;


__global__ void updateVel (double* d_pPos, double delTime, double* d_pVel,double* d_calculatedData, int* d_pMass, double* d_oldForce)
{
	int Idx = blockIdx.x;

	d_pVel[Idx*3+0]+=(d_oldForce[Idx*3+0]+d_calculatedData[Idx*3+0])*delTime/(2.0*d_pMass[Idx]);
	d_pVel[Idx*3+1]+=(d_oldForce[Idx*3+1]+d_calculatedData[Idx*3+1])*delTime/(2.0*d_pMass[Idx]);
	d_pVel[Idx*3+2]+=(d_oldForce[Idx*3+2]+d_calculatedData[Idx*3+2])*delTime/(2.0*d_pMass[Idx]);
//	printf("Old force_kernel: %f \t new FOrce_kernel:%f \tIdx: %d\n", d_oldForce[Idx*3], d_calculatedData[Idx*3], Idx);
//	printf("vel_kernel: %f \nIdx: %d\n", d_pVel[Idx*3], Idx);

}

__global__ void updatePos (double*d_pPos, double delTime, double* d_pVel, double* d_calculatedData, int* d_pMass)
{
	int Idx = blockIdx.x;
	//int Idy = blockIdx.y;
	//if(Idx!=Idy)
	
	{
	d_pPos[Idx*3+0]+=delTime*d_pVel[Idx*3+0]+(d_calculatedData[Idx*3+0]*pow(delTime,2)/(2.0*d_pMass[Idx]));
	d_pPos[Idx*3+1]+=delTime*d_pVel[Idx*3+1]+(d_calculatedData[Idx*3+1]*pow(delTime,2)/(2.0*d_pMass[Idx]));
	d_pPos[Idx*3+2]+=delTime*d_pVel[Idx*3+2]+(d_calculatedData[Idx*3+2]*pow(delTime,2)/(2.0*d_pMass[Idx]));
	}
	
//	printf("force inside_POS_kernel: %f\t\t Idx:%d\n",d_calculatedData[Idx*3], Idx);
//	printf("POS_kernel: %f \nIdx: %d\n", d_pPos[Idx*3], Idx);
}

__global__ void forceTwoParticles(int nParticles, int* d_pMass, double* d_pPos, double* d_pVel, double* d_calculatedData, double* d_eps, double* d_sigma)
{
	int Idx = blockIdx.x ;
	int Idy = blockIdx.y;
	
	//vector<double> initForce = totalForce(Idx, Idy, nParticles, eps, sigma, d_pPos);
	if(Idx!=Idy)
	{
		double separation [3] = {d_pPos[Idx*3+0]-d_pPos[Idy*3+0], d_pPos[Idx*3+1]-d_pPos[Idy*3+1], d_pPos[Idx*3+2]-d_pPos[Idy*3+2]};
	//for (auto i:  separation)
 		//printf("separation vector0: %f \nseparation vector3: %f \nidx: %d \nidy: %d \n", separation[0], separation[3] , Idx, Idy);
 	
	
	double separation_magnitude = sqrt (pow(separation[0],2)+pow(separation[1],2)+pow(separation[2],2));
//	printf("separation: %f  Idx: %d Idy: %d \n", separation_magnitude,Idx, Idy);
	
	double force_LJ = 24*(*d_eps/(pow(separation_magnitude,2)))*pow(*d_sigma/separation_magnitude,6)*(2*pow(*d_sigma/separation_magnitude,6)-1);
	//printf("force: %f  Idx: %d Idy: %d \n", force_LJ,Idx, Idy);
	//printf("s: %f \n", pow(separation_magnitude,2));
	
	d_calculatedData [Idx*3+0] = force_LJ*(d_pPos[Idx*3+0]-d_pPos[Idy*3+0]);
	d_calculatedData [Idx*3+1] = force_LJ*(d_pPos[Idx*3+1]-d_pPos[Idy*3+1]);
	d_calculatedData [Idx*3+2] = force_LJ*(d_pPos[Idx*3+2]-d_pPos[Idy*3+2]);
	
	/*printf("calculated FORCE_kernel %f, %f, %f\n%f, %f, %f\n", d_calculatedData [0],d_calculatedData [1],d_calculatedData [2],d_calculatedData [3],d_calculatedData [4],d_calculatedData [5]);
*/	}
	

}


int main(int argc, char* argv[])
{
	//enableMapHost();
	
	ifstream parFileName (argv[1]);		//reading *.par file
	if (parFileName.is_open())
	{
		string str;
		while(getline(parFileName, str))
		{
			stringstream temp(str);
			string str1;
			while (getline(temp, str1,' '))
			{
				parFile.push_back(str1);
			}
			
		}
	}
	else
	{
		cout<<"*.par file not found"<< endl;
	}

	
	ifstream particleConfigFile (parFile[1]);	//reading *.in file
	
	

	if (particleConfigFile.is_open())
	{
		string str;
		while(getline(particleConfigFile,str))
		{
			stringstream temp(str);
			string str1;
			while (getline(temp, str1,' '))
			{
				
				if(str1[str1.size()-1]=='\0')	//alpha-numeric character check
				{
					str1.pop_back();
				}
				particleConfig.push_back(str1);
			}
		}
	}
	else
	{
		cout<<"*.in file not found"<< endl;
	}
	
	for(int i=0;i<particleConfig.size();++i)
	{
		cout<<"i: "<<i<<" "<<setprecision(10)<<(particleConfig[i])<<"   size: "<<particleConfig[i].size()<<endl;
	
	}

	
	int nParticles = stoi(particleConfig[0]);
	particleConfig.erase(particleConfig.begin());
	
	vector<int> pMass (nParticles);
	vector<double> pPos (nParticles*3);
	vector<double> pVel (nParticles*3);
	
	for(int i=0; i<nParticles; ++i)
	{
		pMass[i]=stoi(particleConfig[i*7]);
	}
	
	int i=0;
	for(int j=0; j<particleConfig.size(); ++j)
	{
		if((i*7+3)<=particleConfig.size())
		{
			pPos[j]=stod(particleConfig[i*7+1]);
			pPos[j+1]=stod(particleConfig[i*7+2]);
			pPos[j+2]=stod(particleConfig[i*7+3]);	
			j+=2;
			++i;
		}
		else
			break;
	}
	i=0;
	for(int j=0; j<particleConfig.size(); ++j)
	{
		if((i*7+6)<=particleConfig.size())
		{

			pVel[j]=stod(particleConfig[i*7+4]);
			pVel[j+1]=stod(particleConfig[i*7+5]);
			pVel[j+2]=stod(particleConfig[i*7+6]);
			j+=2;
			++i;
		}	
		else
			break;
	}
	
	
	
	double initTime=0.005, delTime = stod(parFile[3]), endTime = stod(parFile[5]), eps = stod(parFile[7]), sigma = stod(parFile[9]);
	string baseFile = parFile[13];
	
	int totalTimeSteps = endTime / delTime;
	
	
	vector<double> calculatedData(3*nParticles);
	
	//assigning pointer variables for device memory
	int* d_pMass; double* d_pPos; double* d_pVel; double* d_calculatedData;
	double* d_eps; double* d_sigma; double* d_delTime;
	
	//mem allocation in Device
	cudaMalloc (&d_pMass, nParticles*sizeof(int));
	cudaMalloc (&d_pPos, nParticles*3*sizeof(double));
	cudaMalloc (&d_pVel, nParticles*3*sizeof(double));
	cudaMalloc (&d_calculatedData, 3*nParticles*sizeof(double));
	cudaMalloc (&d_eps, sizeof(double));
	cudaMalloc (&d_sigma, sizeof(double));
	cudaMalloc (&d_delTime, sizeof(double));
	
	//mem copy from HostToDevice
	cudaMemcpy (d_pMass, &pMass[0],nParticles*sizeof(int), cudaMemcpyHostToDevice);
	cudaMemcpy (d_pPos, &pPos[0],nParticles*3*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy (d_pVel, &pVel[0],nParticles*3*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy (d_calculatedData, &calculatedData[0],3*nParticles*sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy (d_eps,&eps,sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy (d_sigma,&sigma,sizeof(double), cudaMemcpyHostToDevice);
	cudaMemcpy (d_delTime,&d_delTime,sizeof(double), cudaMemcpyHostToDevice);
	
	int nThreads = nParticles*(nParticles-1);
	
	vector<double> oldForce;
	oldForce.resize(3*nParticles);
	
	double* d_oldForce;
	cudaMalloc (&d_oldForce, 3*nParticles*sizeof(double));
	
	dim3 grid(nParticles,nParticles,1);
	
	
	//cout<<"hi"<<endl;
	
	//initial force
	forceTwoParticles<<<grid, 1>>>(nParticles, d_pMass, d_pPos, d_pVel, d_calculatedData, d_eps, d_sigma);
	cudaMemcpy (&calculatedData[0], d_calculatedData, 3*nParticles*sizeof(double), cudaMemcpyDeviceToHost);
	
	for(auto i: calculatedData)
	{cout<<"initialForce: "<<i<<'\t';}
	cout<<endl;
	
	
	int n=0;
	int vtk_count = 1;
	int out_count = 1;
	bool write_vtk = true;
	bool write_out = true;
	int temp_vtk = 0;
	int temp_out = 0;
	//calculate intial forces
	vector<double> force_new;
	
	//initial configuration at t=0
	ofstream myfile; 
	myfile.open(baseFile+"0"+".vtk");
			myfile<<"# vtk DataFile Version 4.0\nhesp visualization file\nASCII\nDATASET UNSTRUCTURED_GRID\n";
			myfile<<"POINTS"<<" "<<nParticles<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2];
				myfile<<'\n';
			}
			
			myfile<<"CELLS"<<" "<<0<<" "<<0<<'\n';
			myfile<<"CELL_TYPES"<<" "<<0<<'\n';
			myfile<<"POINT_DATA"<<" "<<nParticles<<'\n';
			myfile<<"SCALARS"<<" "<<"m"<<" "<<"double"<<'\n';
			myfile<<"LOOKUP_TABLE"<<" "<<"default"<<'\n';
			for (int i=0; i<nParticles;++i)
			{
				myfile<<pMass[i]<<'\n';
			}
			myfile<<"VECTORS"<<" "<<"v"<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2];
				myfile<<'\n';
			}
			myfile.close();
	myfile.open(baseFile+"0"+".out");
			myfile<<nParticles<<'\n';
			for(int i=0; i<nParticles; ++i)
			{
				myfile<<pMass[i]<<" "<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2]<<" "<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2]<<'\n';			
			}
			myfile.close();
	
	temp_vtk += 1;
	write_vtk=false;
	temp_out += 1; 
	write_out=false;


	
	while (initTime<endTime)
	{
		if (temp_vtk % stoi(parFile[15]) == 0)
	     		//cout<<temp_vtk<<endl;
	     		write_vtk = true;
	     	if (temp_out % stoi(parFile[11]) == 0) 
    	
	     		//cout<<temp_out<<endl;
	     		write_out = true;
		if (temp_vtk % stoi(parFile[15]) != 0)
			write_vtk=false;
		if (temp_out % stoi(parFile[11]) != 0)	
			write_out=false;

		
		
		cout<<"\n####\tIteration:  "<<n<<"\tTime: "<<initTime<<"\t####\n";
		//calling Kernel
		/*for(int i=0; i<pPos.size();++i)
		{
			
			cout<<"old POS_main: "<<pPos[i]<<'\t';
		}
		cout<<endl;*/
		updatePos<<<nParticles , 1>>>(d_pPos, delTime, d_pVel, d_calculatedData,d_pMass);
		cudaMemcpy (&pPos[0], d_pPos, 3*nParticles*sizeof(double), cudaMemcpyDeviceToHost);
		//cudaMemcpy (d_pPos, &pPos[0], 3*nParticles*sizeof(double), cudaMemcpyHostToDevice);
		/*for(int i=0; i<nParticles*3; ++i)
	{
		cout<<"###"<<endl;
		cout<<fixed<<"pos: "<<pPos[i]<<endl;
		cout<<"vel: "<<pVel[i]<<endl;
	}*/
		//cout<<"hello"<<endl;
		cudaMemcpy (&calculatedData[0], d_calculatedData, 3*nParticles*sizeof(double), cudaMemcpyDeviceToHost);
		//oldForce.assign(calculatedData.begin(), calculatedData.end()-1);
		
		/*for (auto i:  calculatedData)
 			 std::cout << i << ' ';*/
		for(int i=0; i<oldForce.size();++i)
		{
			oldForce[i]=calculatedData[i];
			//cout<<"old FORC_main: "<<oldForce[i]<<'\t';
		}
		//cout<<endl;
		
		cout<<"updated POS: ";
		for(int i=0; i<pPos.size();++i)
		{
			
			cout<<fixed<<pPos[i]<<'\t';
		}
		cout<<endl;
		cudaMemcpy (d_oldForce, &oldForce[0], 3*nParticles*sizeof(double), cudaMemcpyHostToDevice);
		
		forceTwoParticles<<<grid , 1>>>(nParticles, d_pMass, d_pPos, d_pVel, d_calculatedData, d_eps, d_sigma);
		cudaMemcpy (&calculatedData[0], d_calculatedData, 3*nParticles*sizeof(double), cudaMemcpyDeviceToHost);
		//cudaMemcpy (d_calculatedData, &calculatedData[0], totalTimeSteps*nParticles*sizeof(double), cudaMemcpyHostToDevice);
			
		/*for(int i=0; i<calculatedData.size();++i)
		{
			
			cout<<"new FORCE_main: "<<calculatedData[i]<<'\t';
		}*/
		
		updateVel<<<nParticles , 1>>>(d_pPos, delTime, d_pVel, d_calculatedData,d_pMass, d_oldForce);
		
		cudaMemcpy (&pPos[0], d_pPos, 3*nParticles*sizeof(double), cudaMemcpyDeviceToHost);
	cudaMemcpy (&pVel[0], d_pVel, 3*nParticles*sizeof(double), cudaMemcpyDeviceToHost);
		
	cout<<"updated VEL: ";
		for(int i=0;i<pVel.size();++i)
		{
			cout<<fixed<<pVel[i]<<'\t';
		}		
		cout<<endl;
		
		//writing *.vtk file

		if(write_vtk == true)
		{
			myfile.open(baseFile+to_string(vtk_count)+".vtk");
			myfile<<"# vtk DataFile Version 4.0\nhesp visualization file\nASCII\nDATASET UNSTRUCTURED_GRID\n";
			myfile<<"POINTS"<<" "<<nParticles<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2];
				myfile<<'\n';
			}
			
			myfile<<"CELLS"<<" "<<0<<" "<<0<<'\n';
			myfile<<"CELL_TYPES"<<" "<<0<<'\n';
			myfile<<"POINT_DATA"<<" "<<nParticles<<'\n';
			myfile<<"SCALARS"<<" "<<"m"<<" "<<"double"<<'\n';
			myfile<<"LOOKUP_TABLE"<<" "<<"default"<<'\n';
			for (int i=0; i<nParticles;++i)
			{
				myfile<<pMass[i]<<'\n';
			}
			myfile<<"VECTORS"<<" "<<"v"<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2];
				myfile<<'\n';
			}
			myfile.close();
			vtk_count+=1;
		}
		
		if(write_out == true)
		{
			//cout<<"temp_out: "<<temp_out<<"\t";
			myfile.open(baseFile+to_string(out_count)+".out");
			myfile<<nParticles<<'\n';
			for(int i=0; i<nParticles; ++i)
			{
				myfile<<pMass[i]<<" "<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2]<<" "<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2]<<'\n';			
			}
			myfile.close();
			out_count+=1;		
		}
		
		
		temp_vtk += 1;
		temp_out += 1;

		
		initTime+=delTime;
		++n;
	}
	
	
	
}

	.file	"tmpxft_0035a200_00000000-6_UPDATED_GPU.cudafe1.cpp"
	.text
#APP
	.globl _ZSt21ios_base_library_initv

#NO_APP
	.section	.text._ZSt5fixedRSt8ios_base,"axG",@progbits,_ZSt5fixedRSt8ios_base,comdat
	.weak	_ZSt5fixedRSt8ios_base
	.type	_ZSt5fixedRSt8ios_base, @function
_ZSt5fixedRSt8ios_base:
.LFB3285:
	.cfi_startproc
	endbr64
	movl	24(%rdi), %edx
	movq	%rdi, %rax
	andl	$-261, %edx
	orl	$4, %edx
	movl	%edx, 24(%rdi)
	ret
	.cfi_endproc
.LFE3285:
	.size	_ZSt5fixedRSt8ios_base, .-_ZSt5fixedRSt8ios_base
	.text
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB4410:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE4410:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.align 2
	.type	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0, @function
_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0:
.LFB5487:
	.cfi_startproc
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	orl	$16, %edx
	movq	%rdi, %rbx
	addq	$8, %rdi
	call	_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@PLT
	testq	%rax, %rax
	movq	(%rbx), %rax
	jne	.L4
	addq	-24(%rax), %rbx
	movl	$4, %esi
	movq	%rbx, %rdi
	popq	%rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	jmp	_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@PLT
.L4:
	.cfi_restore_state
	addq	-24(%rax), %rbx
	xorl	%esi, %esi
	movq	%rbx, %rdi
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@PLT
	.cfi_endproc
.LFE5487:
	.size	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0, .-_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0
	.type	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0, @function
_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0:
.LFB5489:
	.cfi_startproc
	subq	$24, %rsp
	.cfi_def_cfa_offset 32
	movq	(%rdi), %rax
	movb	%sil, 12(%rsp)
	movq	-24(%rax), %rax
	cmpq	$0, 16(%rdi,%rax)
	je	.L8
	leaq	12(%rsp), %rsi
	movl	$1, %edx
	call	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@PLT
	jmp	.L7
.L8:
	movsbl	12(%rsp), %esi
	call	_ZNSo3putEc@PLT
.L7:
	addq	$24, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5489:
	.size	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0, .-_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	.type	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0, @function
_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0:
.LFB5490:
	.cfi_startproc
	jmp	cudaMalloc@PLT
	.cfi_endproc
.LFE5490:
	.size	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0, .-_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	.align 2
	.type	_ZNSolsEPFRSoS_E.isra.0, @function
_ZNSolsEPFRSoS_E.isra.0:
.LFB5491:
	.cfi_startproc
	jmp	*%rsi
	.cfi_endproc
.LFE5491:
	.size	_ZNSolsEPFRSoS_E.isra.0, .-_ZNSolsEPFRSoS_E.isra.0
	.section	.rodata._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0.str1.1,"aMS",@progbits,1
.LC0:
	.string	"basic_string::append"
	.section	.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0,"axG",@progbits,_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_,comdat
	.align 2
	.type	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0, @function
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0:
.LFB5492:
	.cfi_startproc
	movabsq	$4611686018427387903, %rax
	subq	8(%rdi), %rax
	cmpq	%rdx, %rax
	jnb	.L14
	pushq	%rax
	.cfi_def_cfa_offset 16
	leaq	.LC0(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L14:
	.cfi_def_cfa_offset 8
	jmp	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm@PLT
	.cfi_endproc
.LFE5492:
	.size	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0, .-_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev, @function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev:
.LFB5466:
	.cfi_startproc
	endbr64
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	movq	8(%rdi), %r12
	movq	%rdi, %rbx
	movq	(%rdi), %rbp
.L19:
	cmpq	%rbp, %r12
	je	.L23
	movq	%rbp, %rdi
	addq	$32, %rbp
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L19
.L23:
	movq	(%rbx), %rdi
	testq	%rdi, %rdi
	je	.L18
	movq	16(%rbx), %rsi
	popq	%rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	subq	%rdi, %rsi
	jmp	_ZdlPvm@PLT
.L18:
	.cfi_restore_state
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5466:
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev, .-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev
	.set	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev
	.section	.rodata._ZNSt7__cxx119to_stringEi.str1.1,"aMS",@progbits,1
.LC1:
	.string	"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899"
	.section	.text._ZNSt7__cxx119to_stringEi,"axG",@progbits,_ZNSt7__cxx119to_stringEi,comdat
	.weak	_ZNSt7__cxx119to_stringEi
	.type	_ZNSt7__cxx119to_stringEi, @function
_ZNSt7__cxx119to_stringEi:
.LFB2826:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA2826
	endbr64
	pushq	%r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	movl	%esi, %r13d
	movl	$10000, %ecx
	pushq	%r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	shrl	$31, %r13d
	movq	%rdi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	movl	$1, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	movl	%esi, %ebx
	subq	$232, %rsp
	.cfi_def_cfa_offset 272
	movq	%fs:40, %rax
	movq	%rax, 216(%rsp)
	xorl	%eax, %eax
	negl	%ebx
	cmovs	%esi, %ebx
	movl	%ebx, %eax
.L30:
	cmpl	$9, %eax
	jbe	.L26
	cmpl	$99, %eax
	ja	.L27
	incl	%ebp
	jmp	.L26
.L27:
	cmpl	$999, %eax
	ja	.L28
	addl	$2, %ebp
	jmp	.L26
.L28:
	cmpl	$9999, %eax
	ja	.L29
	addl	$3, %ebp
	jmp	.L26
.L29:
	movl	%eax, %eax
	xorl	%edx, %edx
	addl	$4, %ebp
	divq	%rcx
	jmp	.L30
.L26:
	leaq	16(%r12), %rax
	leal	0(%r13,%rbp), %esi
	movq	%r12, %rdi
	decl	%ebp
	movq	%rax, (%r12)
	movl	$45, %edx
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@PLT
	movzbl	%r13b, %r8d
	leaq	15(%rsp), %rdi
	leaq	.LC1(%rip), %rsi
	movl	$201, %ecx
	addq	(%r12), %r8
	rep movsb
	movl	$100, %ecx
.L31:
	cmpl	$99, %ebx
	jbe	.L37
	movl	%ebx, %eax
	xorl	%edx, %edx
	movl	%ebp, %esi
	divl	%ecx
	addl	%edx, %edx
	movl	%eax, %ebx
	leal	1(%rdx), %eax
	movb	15(%rsp,%rdx), %dl
	movb	15(%rsp,%rax), %al
	movb	%al, (%r8,%rsi)
	leal	-1(%rbp), %eax
	subl	$2, %ebp
	movb	%dl, (%r8,%rax)
	jmp	.L31
.L37:
	leal	48(%rbx), %eax
	cmpl	$9, %ebx
	jbe	.L34
	addl	%ebx, %ebx
	leal	1(%rbx), %eax
	movb	15(%rsp,%rax), %al
	movb	%al, 1(%r8)
	movb	15(%rsp,%rbx), %al
.L34:
	movb	%al, (%r8)
	movq	216(%rsp), %rax
	subq	%fs:40, %rax
	je	.L35
	call	__stack_chk_fail@PLT
.L35:
	addq	$232, %rsp
	.cfi_def_cfa_offset 40
	movq	%r12, %rax
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%rbp
	.cfi_def_cfa_offset 24
	popq	%r12
	.cfi_def_cfa_offset 16
	popq	%r13
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2826:
	.globl	__gxx_personality_v0
	.section	.gcc_except_table._ZNSt7__cxx119to_stringEi,"aG",@progbits,_ZNSt7__cxx119to_stringEi,comdat
.LLSDA2826:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE2826-.LLSDACSB2826
.LLSDACSB2826:
.LLSDACSE2826:
	.section	.text._ZNSt7__cxx119to_stringEi,"axG",@progbits,_ZNSt7__cxx119to_stringEi,comdat
	.size	_ZNSt7__cxx119to_stringEi, .-_ZNSt7__cxx119to_stringEi
	.text
	.globl	_Z37__device_stub__Z9updateVelPddS_S_PiS_PddS_S_PiS_
	.type	_Z37__device_stub__Z9updateVelPddS_S_PiS_PddS_S_PiS_, @function
_Z37__device_stub__Z9updateVelPddS_S_PiS_PddS_S_PiS_:
.LFB4432:
	.cfi_startproc
	endbr64
	subq	$184, %rsp
	.cfi_def_cfa_offset 192
	movq	%rdi, 40(%rsp)
	leaq	72(%rsp), %rdi
	movq	%rsi, 24(%rsp)
	leaq	84(%rsp), %rsi
	movq	%rdx, 16(%rsp)
	leaq	56(%rsp), %rdx
	movq	%rcx, 8(%rsp)
	leaq	64(%rsp), %rcx
	movq	%r8, (%rsp)
	movsd	%xmm0, 32(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 168(%rsp)
	xorl	%eax, %eax
	leaq	40(%rsp), %rax
	movl	$1, 80(%rsp)
	movq	%rax, 120(%rsp)
	leaq	32(%rsp), %rax
	movq	%rax, 128(%rsp)
	leaq	24(%rsp), %rax
	movq	%rax, 136(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 144(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 152(%rsp)
	movq	%rsp, %rax
	movq	%rax, 160(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 72(%rsp)
	movq	%rax, 84(%rsp)
	movl	$1, 92(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L38
	pushq	64(%rsp)
	.cfi_def_cfa_offset 200
	leaq	_Z9updateVelPddS_S_PiS_(%rip), %rdi
	pushq	64(%rsp)
	.cfi_def_cfa_offset 208
	movq	100(%rsp), %rcx
	movl	108(%rsp), %r8d
	movq	88(%rsp), %rsi
	movl	96(%rsp), %edx
	leaq	136(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 200
	popq	%rdx
	.cfi_def_cfa_offset 192
.L38:
	movq	168(%rsp), %rax
	subq	%fs:40, %rax
	je	.L40
	call	__stack_chk_fail@PLT
.L40:
	addq	$184, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4432:
	.size	_Z37__device_stub__Z9updateVelPddS_S_PiS_PddS_S_PiS_, .-_Z37__device_stub__Z9updateVelPddS_S_PiS_PddS_S_PiS_
	.globl	_Z9updateVelPddS_S_PiS_
	.type	_Z9updateVelPddS_S_PiS_, @function
_Z9updateVelPddS_S_PiS_:
.LFB4433:
	.cfi_startproc
	endbr64
	jmp	_Z37__device_stub__Z9updateVelPddS_S_PiS_PddS_S_PiS_
	.cfi_endproc
.LFE4433:
	.size	_Z9updateVelPddS_S_PiS_, .-_Z9updateVelPddS_S_PiS_
	.globl	_Z35__device_stub__Z9updatePosPddS_S_PiPddS_S_Pi
	.type	_Z35__device_stub__Z9updatePosPddS_S_PiPddS_S_Pi, @function
_Z35__device_stub__Z9updatePosPddS_S_PiPddS_S_Pi:
.LFB4434:
	.cfi_startproc
	endbr64
	subq	$168, %rsp
	.cfi_def_cfa_offset 176
	movq	%rdi, 40(%rsp)
	leaq	64(%rsp), %rdi
	movq	%rsi, 24(%rsp)
	leaq	76(%rsp), %rsi
	movq	%rdx, 16(%rsp)
	leaq	48(%rsp), %rdx
	movq	%rcx, 8(%rsp)
	leaq	56(%rsp), %rcx
	movsd	%xmm0, 32(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 152(%rsp)
	xorl	%eax, %eax
	leaq	40(%rsp), %rax
	movl	$1, 72(%rsp)
	movq	%rax, 112(%rsp)
	leaq	32(%rsp), %rax
	movq	%rax, 120(%rsp)
	leaq	24(%rsp), %rax
	movq	%rax, 128(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 136(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 144(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 64(%rsp)
	movq	%rax, 76(%rsp)
	movl	$1, 84(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L43
	pushq	56(%rsp)
	.cfi_def_cfa_offset 184
	leaq	_Z9updatePosPddS_S_Pi(%rip), %rdi
	pushq	56(%rsp)
	.cfi_def_cfa_offset 192
	movq	92(%rsp), %rcx
	movl	100(%rsp), %r8d
	movq	80(%rsp), %rsi
	movl	88(%rsp), %edx
	leaq	128(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 184
	popq	%rdx
	.cfi_def_cfa_offset 176
.L43:
	movq	152(%rsp), %rax
	subq	%fs:40, %rax
	je	.L45
	call	__stack_chk_fail@PLT
.L45:
	addq	$168, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4434:
	.size	_Z35__device_stub__Z9updatePosPddS_S_PiPddS_S_Pi, .-_Z35__device_stub__Z9updatePosPddS_S_PiPddS_S_Pi
	.globl	_Z9updatePosPddS_S_Pi
	.type	_Z9updatePosPddS_S_Pi, @function
_Z9updatePosPddS_S_Pi:
.LFB4435:
	.cfi_startproc
	endbr64
	jmp	_Z35__device_stub__Z9updatePosPddS_S_PiPddS_S_Pi
	.cfi_endproc
.LFE4435:
	.size	_Z9updatePosPddS_S_Pi, .-_Z9updatePosPddS_S_Pi
	.globl	_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_
	.type	_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_, @function
_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_:
.LFB4436:
	.cfi_startproc
	endbr64
	subq	$200, %rsp
	.cfi_def_cfa_offset 208
	movq	208(%rsp), %rax
	movl	%edi, 60(%rsp)
	leaq	80(%rsp), %rdi
	movq	%rsi, 48(%rsp)
	leaq	92(%rsp), %rsi
	movq	%rdx, 40(%rsp)
	leaq	64(%rsp), %rdx
	movq	%rcx, 32(%rsp)
	leaq	72(%rsp), %rcx
	movq	%r8, 24(%rsp)
	movq	%r9, 16(%rsp)
	movq	%rax, 8(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 184(%rsp)
	xorl	%eax, %eax
	leaq	60(%rsp), %rax
	movl	$1, 88(%rsp)
	movq	%rax, 128(%rsp)
	leaq	48(%rsp), %rax
	movq	%rax, 136(%rsp)
	leaq	40(%rsp), %rax
	movq	%rax, 144(%rsp)
	leaq	32(%rsp), %rax
	movq	%rax, 152(%rsp)
	leaq	24(%rsp), %rax
	movq	%rax, 160(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 168(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 176(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 80(%rsp)
	movq	%rax, 92(%rsp)
	movl	$1, 100(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L48
	pushq	72(%rsp)
	.cfi_def_cfa_offset 216
	leaq	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_(%rip), %rdi
	pushq	72(%rsp)
	.cfi_def_cfa_offset 224
	movq	108(%rsp), %rcx
	movl	116(%rsp), %r8d
	movq	96(%rsp), %rsi
	movl	104(%rsp), %edx
	leaq	144(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 216
	popq	%rdx
	.cfi_def_cfa_offset 208
.L48:
	movq	184(%rsp), %rax
	subq	%fs:40, %rax
	je	.L50
	call	__stack_chk_fail@PLT
.L50:
	addq	$200, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4436:
	.size	_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_, .-_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_
	.globl	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
	.type	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_, @function
_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_:
.LFB4437:
	.cfi_startproc
	endbr64
	jmp	_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_
	.cfi_endproc
.LFE4437:
	.size	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_, .-_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC2:
	.string	"_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_"
.LC3:
	.string	"_Z9updatePosPddS_S_Pi"
.LC4:
	.string	"_Z9updateVelPddS_S_PiS_"
	.section	.text.startup,"ax",@progbits
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB4439:
	.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	.LC2(%rip), %rdx
	movq	%rax, %rdi
	movq	%rax, %rbx
	pushq	$0
	.cfi_def_cfa_offset 40
	movq	%rdx, %rcx
	leaq	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_(%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	.LC3(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z9updatePosPddS_S_Pi(%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
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r9d, %r9d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC4(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z9updateVelPddS_S_PiS_(%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
.LFE4439:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.text._ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev,"axG",@progbits,_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD5Ev,comdat
	.align 2
	.weak	_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev
	.type	_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev, @function
_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev:
.LFB4518:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rdi, %rbx
	call	__errno_location@PLT
	cmpl	$0, (%rax)
	jne	.L55
	movl	(%rbx), %edx
	movl	%edx, (%rax)
.L55:
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4518:
	.size	_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev, .-_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev
	.weak	_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev
	.set	_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev,_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev
	.section	.rodata.str1.1
.LC5:
	.string	"stoi"
	.text
	.type	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0, @function
_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0:
.LFB5497:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA5497
	pushq	%r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	pushq	%r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	movq	%rsi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	pushq	%rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	movq	%rdi, %rbx
	subq	$56, %rsp
	.cfi_def_cfa_offset 96
	movl	%edx, 12(%rsp)
	leaq	28(%rsp), %r13
	movq	%fs:40, %rax
	movq	%rax, 40(%rsp)
	xorl	%eax, %eax
	call	__errno_location@PLT
	movl	12(%rsp), %edx
	leaq	32(%rsp), %rsi
	movq	%rbx, %rdi
	movq	%rax, %rbp
	movl	(%rax), %eax
	movl	%eax, 28(%rsp)
	xorl	%eax, %eax
	movl	%eax, 0(%rbp)
	call	__isoc23_strtol@PLT
	movq	32(%rsp), %rdx
	cmpq	%rdx, %rbx
	jne	.L59
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L72
	leaq	.LC5(%rip), %rdi
.LEHB0:
	call	_ZSt24__throw_invalid_argumentPKc@PLT
.L59:
	cmpl	$34, 0(%rbp)
	je	.L61
	movl	$2147483648, %ecx
	movl	$4294967295, %esi
	addq	%rax, %rcx
	cmpq	%rcx, %rsi
	jnb	.L62
.L61:
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L72
	leaq	.LC5(%rip), %rdi
	call	_ZSt20__throw_out_of_rangePKc@PLT
.LEHE0:
.L62:
	testq	%r12, %r12
	je	.L64
	subq	%rbx, %rdx
	movq	%rdx, (%r12)
.L64:
	movq	%r13, %rdi
	movl	%eax, 12(%rsp)
	call	_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev
	movl	12(%rsp), %eax
	movq	40(%rsp), %rdx
	subq	%fs:40, %rdx
	je	.L67
	jmp	.L72
.L68:
	endbr64
	movq	%rax, %rbx
.L65:
	movq	%r13, %rdi
	call	_ZZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L72
	movq	%rbx, %rdi
.LEHB1:
	call	_Unwind_Resume@PLT
.LEHE1:
.L72:
	call	__stack_chk_fail@PLT
.L67:
	addq	$56, %rsp
	.cfi_def_cfa_offset 40
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%rbp
	.cfi_def_cfa_offset 24
	popq	%r12
	.cfi_def_cfa_offset 16
	popq	%r13
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5497:
	.section	.gcc_except_table,"a",@progbits
.LLSDA5497:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE5497-.LLSDACSB5497
.LLSDACSB5497:
	.uleb128 .LEHB0-.LFB5497
	.uleb128 .LEHE0-.LEHB0
	.uleb128 .L68-.LFB5497
	.uleb128 0
	.uleb128 .LEHB1-.LFB5497
	.uleb128 .LEHE1-.LEHB1
	.uleb128 0
	.uleb128 0
.LLSDACSE5497:
	.text
	.size	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0, .-_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0
	.section	.text._ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev,"axG",@progbits,_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD5Ev,comdat
	.align 2
	.weak	_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev
	.type	_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev, @function
_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev:
.LFB4572:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rdi, %rbx
	call	__errno_location@PLT
	cmpl	$0, (%rax)
	jne	.L75
	movl	(%rbx), %edx
	movl	%edx, (%rax)
.L75:
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4572:
	.size	_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev, .-_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev
	.weak	_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev
	.set	_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev,_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev
	.section	.rodata.str1.1
.LC6:
	.string	"stod"
	.text
	.type	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0, @function
_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0:
.LFB5498:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA5498
	pushq	%r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	pushq	%r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	movq	%rsi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	pushq	%rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	movq	%rdi, %rbx
	subq	$56, %rsp
	.cfi_def_cfa_offset 96
	movq	%fs:40, %rax
	movq	%rax, 40(%rsp)
	xorl	%eax, %eax
	leaq	28(%rsp), %r13
	call	__errno_location@PLT
	leaq	32(%rsp), %rsi
	movq	%rbx, %rdi
	movq	%rax, %rbp
	movl	(%rax), %eax
	movl	%eax, 28(%rsp)
	xorl	%eax, %eax
	movl	%eax, 0(%rbp)
	call	strtod@PLT
	movq	32(%rsp), %rax
	cmpq	%rax, %rbx
	jne	.L79
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L91
	leaq	.LC6(%rip), %rdi
.LEHB2:
	call	_ZSt24__throw_invalid_argumentPKc@PLT
.L79:
	cmpl	$34, 0(%rbp)
	jne	.L81
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L91
	leaq	.LC6(%rip), %rdi
	call	_ZSt20__throw_out_of_rangePKc@PLT
.LEHE2:
.L81:
	testq	%r12, %r12
	je	.L83
	subq	%rbx, %rax
	movq	%rax, (%r12)
.L83:
	movq	%r13, %rdi
	movsd	%xmm0, 8(%rsp)
	call	_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev
	movsd	8(%rsp), %xmm0
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	je	.L86
	jmp	.L91
.L87:
	endbr64
	movq	%rax, %rbx
.L84:
	movq	%r13, %rdi
	call	_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L91
	movq	%rbx, %rdi
.LEHB3:
	call	_Unwind_Resume@PLT
.LEHE3:
.L91:
	call	__stack_chk_fail@PLT
.L86:
	addq	$56, %rsp
	.cfi_def_cfa_offset 40
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%rbp
	.cfi_def_cfa_offset 24
	popq	%r12
	.cfi_def_cfa_offset 16
	popq	%r13
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5498:
	.section	.gcc_except_table
.LLSDA5498:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE5498-.LLSDACSB5498
.LLSDACSB5498:
	.uleb128 .LEHB2-.LFB5498
	.uleb128 .LEHE2-.LEHB2
	.uleb128 .L87-.LFB5498
	.uleb128 0
	.uleb128 .LEHB3-.LFB5498
	.uleb128 .LEHE3-.LEHB3
	.uleb128 0
	.uleb128 0
.LLSDACSE5498:
	.text
	.size	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0, .-_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE,comdat
	.align 2
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE, @function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE:
.LFB4806:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	movq	%rsi, %r13
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movq	%rdi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	32(%rsi), %rbx
	pushq	%r8
	.cfi_def_cfa_offset 64
	movq	8(%rdi), %rbp
	cmpq	%rbx, %rbp
	je	.L103
	subq	%rbx, %rbp
	sarq	$5, %rbp
.L96:
	testq	%rbp, %rbp
	jle	.L103
	movq	%rbx, %rdi
	call	_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@PLT
	movq	8(%rbx), %r15
	testb	%al, %al
	je	.L97
	testq	%r15, %r15
	je	.L98
	movq	-32(%rbx), %rdi
	movq	(%rbx), %rsi
	movq	%r15, %rdx
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm@PLT
.L98:
	movq	8(%rbx), %rax
	movq	-32(%rbx), %rdx
	movq	%rax, -24(%rbx)
	movb	$0, (%rdx,%rax)
	jmp	.L99
.L97:
	leaq	-32(%rbx), %rdi
	call	_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@PLT
	movl	%eax, %edx
	xorl	%eax, %eax
	testb	%dl, %dl
	jne	.L100
	movq	-32(%rbx), %rax
	movq	-16(%rbx), %r14
.L100:
	movq	(%rbx), %rdx
	movq	%r15, -24(%rbx)
	movq	%rdx, -32(%rbx)
	movq	16(%rbx), %rdx
	movq	%rdx, -16(%rbx)
	testq	%rax, %rax
	je	.L101
	movq	%rax, (%rbx)
	movq	%r14, 16(%rbx)
	jmp	.L99
.L101:
	leaq	16(%rbx), %rax
	movq	%rax, (%rbx)
.L99:
	movq	(%rbx), %rax
	xorl	%ecx, %ecx
	addq	$32, %rbx
	decq	%rbp
	movq	%rcx, -24(%rbx)
	movb	$0, (%rax)
	jmp	.L96
.L103:
	movq	8(%r12), %rax
	leaq	-32(%rax), %rdi
	movq	%rdi, 8(%r12)
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	popq	%rdx
	.cfi_def_cfa_offset 56
	movq	%r13, %rax
	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
.LFE4806:
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE, .-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE
	.section	.rodata._ZNSt6vectorIiSaIiEEC2EmRKS0_.str1.1,"aMS",@progbits,1
.LC7:
	.string	"cannot create std::vector larger than max_size()"
	.section	.text._ZNSt6vectorIiSaIiEEC2EmRKS0_,"axG",@progbits,_ZNSt6vectorIiSaIiEEC5EmRKS0_,comdat
	.align 2
	.weak	_ZNSt6vectorIiSaIiEEC2EmRKS0_
	.type	_ZNSt6vectorIiSaIiEEC2EmRKS0_, @function
_ZNSt6vectorIiSaIiEEC2EmRKS0_:
.LFB4814:
	.cfi_startproc
	endbr64
	movabsq	$2305843009213693951, %rax
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	cmpq	%rsi, %rax
	jnb	.L111
	leaq	.LC7(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L111:
	movq	%rsi, %rbp
	xorl	%esi, %esi
	movq	%rdi, %rbx
	xorl	%eax, %eax
	movq	%rsi, (%rdi)
	leaq	0(,%rbp,4), %r12
	movq	%rsi, 8(%rdi)
	movq	%rsi, 16(%rdi)
	testq	%rbp, %rbp
	je	.L112
	movq	%r12, %rdi
	call	_Znwm@PLT
.L112:
	addq	%rax, %r12
	movq	%rax, (%rbx)
	movq	%rax, 8(%rbx)
	movq	%r12, 16(%rbx)
	testq	%rbp, %rbp
	je	.L113
	xorl	%ecx, %ecx
	addq	$4, %rax
	movl	%ecx, -4(%rax)
	decq	%rbp
	je	.L113
.L114:
	cmpq	%rax, %r12
	je	.L113
	xorl	%edx, %edx
	addq	$4, %rax
	movl	%edx, -4(%rax)
	jmp	.L114
.L113:
	movq	%rax, 8(%rbx)
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4814:
	.size	_ZNSt6vectorIiSaIiEEC2EmRKS0_, .-_ZNSt6vectorIiSaIiEEC2EmRKS0_
	.weak	_ZNSt6vectorIiSaIiEEC1EmRKS0_
	.set	_ZNSt6vectorIiSaIiEEC1EmRKS0_,_ZNSt6vectorIiSaIiEEC2EmRKS0_
	.section	.text._ZNSt6vectorIiSaIiEED2Ev,"axG",@progbits,_ZNSt6vectorIiSaIiEED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorIiSaIiEED2Ev
	.type	_ZNSt6vectorIiSaIiEED2Ev, @function
_ZNSt6vectorIiSaIiEED2Ev:
.LFB4817:
	.cfi_startproc
	endbr64
	movq	(%rdi), %rax
	testq	%rax, %rax
	je	.L125
	movq	16(%rdi), %rsi
	movq	%rax, %rdi
	subq	%rax, %rsi
	jmp	_ZdlPvm@PLT
.L125:
	ret
	.cfi_endproc
.LFE4817:
	.size	_ZNSt6vectorIiSaIiEED2Ev, .-_ZNSt6vectorIiSaIiEED2Ev
	.weak	_ZNSt6vectorIiSaIiEED1Ev
	.set	_ZNSt6vectorIiSaIiEED1Ev,_ZNSt6vectorIiSaIiEED2Ev
	.section	.text._ZNSt6vectorIdSaIdEED2Ev,"axG",@progbits,_ZNSt6vectorIdSaIdEED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorIdSaIdEED2Ev
	.type	_ZNSt6vectorIdSaIdEED2Ev, @function
_ZNSt6vectorIdSaIdEED2Ev:
.LFB4829:
	.cfi_startproc
	endbr64
	movq	(%rdi), %rax
	testq	%rax, %rax
	je	.L127
	movq	16(%rdi), %rsi
	movq	%rax, %rdi
	subq	%rax, %rsi
	jmp	_ZdlPvm@PLT
.L127:
	ret
	.cfi_endproc
.LFE4829:
	.size	_ZNSt6vectorIdSaIdEED2Ev, .-_ZNSt6vectorIdSaIdEED2Ev
	.weak	_ZNSt6vectorIdSaIdEED1Ev
	.set	_ZNSt6vectorIdSaIdEED1Ev,_ZNSt6vectorIdSaIdEED2Ev
	.section	.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_,"axG",@progbits,_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_,comdat
	.weak	_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_
	.type	_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_, @function
_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_:
.LFB4859:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA4859
	endbr64
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	movq	%rsi, %r13
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	movq	%rdx, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	movq	%rdi, %rbx
	movq	%rdx, %rdi
	call	strlen@PLT
	movq	8(%r13), %r14
	movq	0(%r13), %r13
	movq	%rbx, %rdi
	movq	%rax, %r12
	leaq	16(%rbx), %rax
	movb	$0, 16(%rbx)
	movq	%rax, (%rbx)
	xorl	%eax, %eax
	leaq	(%r12,%r14), %rsi
	movq	%rax, 8(%rbx)
.LEHB4:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm@PLT
	movq	%r14, %rdx
	movq	%r13, %rsi
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm.isra.0
.LEHE4:
	movq	%rbx, %rax
	popq	%rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	ret
.L132:
	.cfi_restore_state
	endbr64
	movq	%rax, %rbp
.L131:
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%rbp, %rdi
.LEHB5:
	call	_Unwind_Resume@PLT
.LEHE5:
	.cfi_endproc
.LFE4859:
	.section	.gcc_except_table
.LLSDA4859:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE4859-.LLSDACSB4859
.LLSDACSB4859:
	.uleb128 .LEHB4-.LFB4859
	.uleb128 .LEHE4-.LEHB4
	.uleb128 .L132-.LFB4859
	.uleb128 0
	.uleb128 .LEHB5-.LFB4859
	.uleb128 .LEHE5-.LEHB5
	.uleb128 0
	.uleb128 0
.LLSDACSE4859:
	.section	.text._ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_,"axG",@progbits,_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_,comdat
	.size	_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_, .-_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_
	.section	.rodata._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_.str1.1,"aMS",@progbits,1
.LC8:
	.string	"vector::_M_realloc_insert"
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,comdat
	.align 2
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_, @function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_:
.LFB5055:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA5055
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movq	%rdx, %r15
	movabsq	$288230376151711743, %rdx
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	movq	8(%rdi), %rax
	movq	(%rdi), %r14
	movq	%rsi, 8(%rsp)
	movq	%rax, %rbx
	movq	%rax, (%rsp)
	subq	%r14, %rbx
	sarq	$5, %rbx
	cmpq	%rdx, %rbx
	jne	.L136
	leaq	.LC8(%rip), %rdi
.LEHB6:
	call	_ZSt20__throw_length_errorPKc@PLT
.L136:
	cmpq	%r14, (%rsp)
	movl	$1, %eax
	movq	8(%rsp), %rbp
	movq	%rdi, %r13
	cmovne	%rbx, %rax
	addq	%rax, %rbx
	setc	%al
	subq	%r14, %rbp
	movzbl	%al, %eax
	testq	%rax, %rax
	jne	.L152
	xorl	%r12d, %r12d
	testq	%rbx, %rbx
	je	.L141
	movabsq	$288230376151711743, %rax
	cmpq	%rax, %rbx
	cmova	%rax, %rbx
	jmp	.L140
.L152:
	movq	%rdx, %rbx
.L140:
	movq	%rbx, %rdi
	salq	$5, %rdi
	call	_Znwm@PLT
.LEHE6:
	movq	%rax, %r12
.L141:
	addq	%r12, %rbp
	movq	%r15, %rsi
	movq	%rbp, %rdi
.LEHB7:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@PLT
.LEHE7:
	movq	%r12, %rdi
	movq	%r14, %rbp
.L142:
	leaq	32(%rdi), %r15
	cmpq	%rbp, 8(%rsp)
	je	.L144
	movq	%rbp, %rsi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	movq	%rbp, %rdi
	addq	$32, %rbp
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r15, %rdi
	jmp	.L142
.L144:
	cmpq	%rbp, (%rsp)
	je	.L164
	movq	%rbp, %rsi
	movq	%r15, %rdi
	addq	$32, %r15
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	movq	%rbp, %rdi
	addq	$32, %rbp
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L144
.L164:
	testq	%r14, %r14
	je	.L146
	movq	16(%r13), %rsi
	movq	%r14, %rdi
	subq	%r14, %rsi
	call	_ZdlPvm@PLT
.L146:
	salq	$5, %rbx
	movq	%r12, 0(%r13)
	addq	%r12, %rbx
	movq	%r15, 8(%r13)
	movq	%rbx, 16(%r13)
	addq	$24, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
.L155:
	.cfi_restore_state
	endbr64
	movq	%rax, %rdi
.L147:
	call	__cxa_begin_catch@PLT
	testq	%r12, %r12
	jne	.L148
	movq	%rbp, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
.L150:
.LEHB8:
	call	__cxa_rethrow@PLT
.LEHE8:
.L156:
	endbr64
	movq	%rax, %rbx
.L149:
	call	__cxa_end_catch@PLT
	movq	%rbx, %rdi
.LEHB9:
	call	_Unwind_Resume@PLT
.LEHE9:
.L148:
	movq	%rbx, %rsi
	movq	%r12, %rdi
	salq	$5, %rsi
	call	_ZdlPvm@PLT
	jmp	.L150
	.cfi_endproc
.LFE5055:
	.section	.gcc_except_table
	.align 4
.LLSDA5055:
	.byte	0xff
	.byte	0x9b
	.uleb128 .LLSDATT5055-.LLSDATTD5055
.LLSDATTD5055:
	.byte	0x1
	.uleb128 .LLSDACSE5055-.LLSDACSB5055
.LLSDACSB5055:
	.uleb128 .LEHB6-.LFB5055
	.uleb128 .LEHE6-.LEHB6
	.uleb128 0
	.uleb128 0
	.uleb128 .LEHB7-.LFB5055
	.uleb128 .LEHE7-.LEHB7
	.uleb128 .L155-.LFB5055
	.uleb128 0x1
	.uleb128 .LEHB8-.LFB5055
	.uleb128 .LEHE8-.LEHB8
	.uleb128 .L156-.LFB5055
	.uleb128 0
	.uleb128 .LEHB9-.LFB5055
	.uleb128 .LEHE9-.LEHB9
	.uleb128 0
	.uleb128 0
.LLSDACSE5055:
	.byte	0x1
	.byte	0
	.align 4
	.long	0

.LLSDATT5055:
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,comdat
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_, .-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_,comdat
	.align 2
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_, @function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_:
.LFB4788:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rdi, %rbx
	movq	8(%rdi), %rdi
	cmpq	16(%rbx), %rdi
	je	.L166
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@PLT
	addq	$32, 8(%rbx)
	popq	%rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
.L166:
	.cfi_restore_state
	movq	%rsi, %rdx
	movq	%rdi, %rsi
	movq	%rbx, %rdi
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
	.cfi_endproc
.LFE4788:
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_, .-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
	.section	.text._ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_,"axG",@progbits,_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_,comdat
	.weak	_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_
	.type	_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_, @function
_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_:
.LFB5402:
	.cfi_startproc
	endbr64
	movq	%rdi, %rax
	testq	%rsi, %rsi
	je	.L170
	movq	$0x000000000, (%rdi)
	leaq	8(%rdi), %rax
	decq	%rsi
	je	.L170
	leaq	(%rax,%rsi,8), %rdx
	movq	%rax, %rcx
.L172:
	cmpq	%rcx, %rdx
	je	.L179
	movq	$0x000000000, (%rcx)
	addq	$8, %rcx
	jmp	.L172
.L179:
	subq	%rdi, %rdx
	leaq	-8(%rax,%rdx), %rax
.L170:
	ret
	.cfi_endproc
.LFE5402:
	.size	_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_, .-_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_
	.section	.text._ZNSt6vectorIdSaIdEEC2EmRKS0_,"axG",@progbits,_ZNSt6vectorIdSaIdEEC5EmRKS0_,comdat
	.align 2
	.weak	_ZNSt6vectorIdSaIdEEC2EmRKS0_
	.type	_ZNSt6vectorIdSaIdEEC2EmRKS0_, @function
_ZNSt6vectorIdSaIdEEC2EmRKS0_:
.LFB4826:
	.cfi_startproc
	endbr64
	movabsq	$1152921504606846975, %rax
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	subq	$24, %rsp
	.cfi_def_cfa_offset 48
	cmpq	%rsi, %rax
	jnb	.L181
	leaq	.LC7(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L181:
	xorl	%eax, %eax
	movq	%rdi, %rbx
	leaq	0(,%rsi,8), %r12
	movq	%rax, (%rdi)
	movq	%rax, 8(%rdi)
	movq	%rax, 16(%rdi)
	xorl	%edi, %edi
	testq	%rsi, %rsi
	je	.L182
	movq	%r12, %rdi
	movq	%rsi, 8(%rsp)
	call	_Znwm@PLT
	movq	8(%rsp), %rsi
	movq	%rax, %rdi
.L182:
	addq	%rdi, %r12
	movq	%rdi, (%rbx)
	movq	%r12, 16(%rbx)
	movq	%rdi, 8(%rbx)
	call	_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_
	movq	%rax, 8(%rbx)
	addq	$24, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4826:
	.size	_ZNSt6vectorIdSaIdEEC2EmRKS0_, .-_ZNSt6vectorIdSaIdEEC2EmRKS0_
	.weak	_ZNSt6vectorIdSaIdEEC1EmRKS0_
	.set	_ZNSt6vectorIdSaIdEEC1EmRKS0_,_ZNSt6vectorIdSaIdEEC2EmRKS0_
	.section	.rodata.str1.1
.LC11:
	.string	"*.par file not found"
.LC12:
	.string	"*.in file not found"
.LC13:
	.string	"i: "
.LC14:
	.string	" "
.LC15:
	.string	"   size: "
.LC16:
	.string	"vector::_M_default_append"
.LC17:
	.string	"initialForce: "
.LC18:
	.string	"0"
.LC19:
	.string	".vtk"
.LC20:
	.string	"# vtk DataFile Version 4.0\nhesp visualization file\nASCII\nDATASET UNSTRUCTURED_GRID\n"
.LC21:
	.string	"POINTS"
.LC22:
	.string	"double"
.LC23:
	.string	"CELLS"
.LC24:
	.string	"CELL_TYPES"
.LC25:
	.string	"POINT_DATA"
.LC26:
	.string	"SCALARS"
.LC27:
	.string	"m"
.LC28:
	.string	"LOOKUP_TABLE"
.LC29:
	.string	"default"
.LC30:
	.string	"VECTORS"
.LC31:
	.string	"v"
.LC32:
	.string	".out"
.LC33:
	.string	"\n####\tIteration:  "
.LC34:
	.string	"\tTime: "
.LC35:
	.string	"\t####\n"
.LC36:
	.string	"updated POS: "
.LC37:
	.string	"updated VEL: "
	.section	.text.startup
	.globl	main
	.type	main, @function
main:
.LFB4396:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA4396
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movl	$8, %edx
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	leaq	-1096(%rbp), %rbx
	movq	%rbx, %rdi
	subq	$2056, %rsp
	movq	8(%rsi), %rsi
	movq	%fs:40, %rax
	movq	%rax, -56(%rbp)
	xorl	%eax, %eax
.LEHB10:
	call	_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@PLT
.LEHE10:
	leaq	-976(%rbp), %rdi
	call	_ZNKSt12__basic_fileIcE7is_openEv@PLT
	testb	%al, %al
	leaq	-576(%rbp), %rax
	movq	%rax, %r15
	je	.L187
	leaq	-1624(%rbp), %rax
	xorl	%r14d, %r14d
	movb	$0, -1624(%rbp)
	leaq	-1640(%rbp), %r12
	movq	%rax, -1640(%rbp)
	movq	%r14, -1632(%rbp)
.L188:
	movq	%r12, %rsi
	movq	%rbx, %rdi
.LEHB11:
	call	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@PLT
	movq	(%rax), %rdx
	movq	-24(%rdx), %rdx
	testb	$5, 32(%rax,%rdx)
	jne	.L338
	movl	$24, %edx
	movq	%r12, %rsi
	movq	%r15, %rdi
	call	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@PLT
.LEHE11:
	leaq	-1592(%rbp), %rax
	movb	$0, -1592(%rbp)
	xorl	%r13d, %r13d
	movq	%rax, -1608(%rbp)
	movq	%r13, -1600(%rbp)
	leaq	-1608(%rbp), %r13
.L189:
	movl	$32, %edx
	movq	%r13, %rsi
	movq	%r15, %rdi
.LEHB12:
	call	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@PLT
	movq	(%rax), %rdx
	movq	-24(%rdx), %rdx
	testb	$5, 32(%rax,%rdx)
	jne	.L339
	movq	%r13, %rsi
	leaq	_Z7parFileB5cxx11(%rip), %rdi
	call	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
.LEHE12:
	jmp	.L189
.L339:
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r15, %rdi
	call	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@PLT
	jmp	.L188
.L338:
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L192
.L187:
	leaq	.LC11(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
.LEHB13:
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
.L192:
	movq	_Z7parFileB5cxx11(%rip), %rax
	movl	$8, %edx
	movq	%r15, %rdi
	leaq	32(%rax), %rsi
	call	_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@PLT
.LEHE13:
	leaq	-456(%rbp), %rdi
	call	_ZNKSt12__basic_fileIcE7is_openEv@PLT
	testb	%al, %al
	je	.L193
	leaq	-1656(%rbp), %rax
	movb	$0, -1656(%rbp)
	xorl	%r12d, %r12d
	movq	%rax, -1672(%rbp)
	movq	%r12, -1664(%rbp)
	leaq	-1672(%rbp), %r12
.L194:
	movq	%r12, %rsi
	movq	%r15, %rdi
.LEHB14:
	call	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@PLT
	movq	(%rax), %rdx
	movq	-24(%rdx), %rdx
	testb	$5, 32(%rax,%rdx)
	jne	.L340
	leaq	-1608(%rbp), %r14
	movl	$24, %edx
	movq	%r12, %rsi
	movq	%r14, %rdi
	call	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@PLT
.LEHE14:
	leaq	-1624(%rbp), %rax
	xorl	%ebx, %ebx
	movb	$0, -1624(%rbp)
	leaq	-1640(%rbp), %r13
	movq	%rax, -1640(%rbp)
	movq	%rbx, -1632(%rbp)
.L195:
	movl	$32, %edx
	movq	%r13, %rsi
	movq	%r14, %rdi
.LEHB15:
	call	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@PLT
	movq	(%rax), %rdx
	movq	-24(%rdx), %rdx
	testb	$5, 32(%rax,%rdx)
	jne	.L341
	movq	-1640(%rbp), %rdx
	movq	-1632(%rbp), %rax
	cmpb	$0, -1(%rdx,%rax)
	jne	.L196
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@PLT
.L196:
	movq	%r13, %rsi
	leaq	_Z14particleConfigB5cxx11(%rip), %rdi
	call	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
.LEHE15:
	jmp	.L195
.L341:
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r14, %rdi
	call	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@PLT
	jmp	.L194
.L340:
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
.L200:
	xorl	%r15d, %r15d
	leaq	_Z14particleConfigB5cxx11(%rip), %rbx
	jmp	.L199
.L193:
	leaq	.LC12(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
.LEHB16:
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	jmp	.L200
.L201:
	leaq	.LC13(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	%r12d, %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	(%rax), %rax
	movq	(%rbx), %rsi
	movq	%r15, %r12
	salq	$5, %r12
	movq	-24(%rax), %rax
	addq	%r12, %rsi
	movq	$10, 8(%rdi,%rax)
	call	_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@PLT
	movq	%rax, %rdi
	leaq	.LC15(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	(%rbx), %rax
	movq	8(%rax,%r12), %rsi
	call	_ZNSo9_M_insertImEERSoT_@PLT
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%rax, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	movq	%r15, %rax
	incq	%rax
	movq	%rax, %r15
.L199:
	movq	(%rbx), %rcx
	movq	8+_Z14particleConfigB5cxx11(%rip), %rax
	movq	%r15, %rdx
	movl	%r15d, %r12d
	subq	%rcx, %rax
	sarq	$5, %rax
	cmpq	%rax, %rdx
	jb	.L201
	movq	(%rcx), %rdi
	movl	$10, %edx
	xorl	%esi, %esi
	call	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0
	movq	_Z14particleConfigB5cxx11(%rip), %rsi
	movq	%rbx, %rdi
	movl	%eax, -2004(%rbp)
	call	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE
	movslq	-2004(%rbp), %rax
	leaq	-1880(%rbp), %rdi
	movq	%rax, -2032(%rbp)
	leaq	-1760(%rbp), %rax
	movq	-2032(%rbp), %rsi
	movq	%rax, %rdx
	movq	%rax, -2016(%rbp)
	call	_ZNSt6vectorIiSaIiEEC1EmRKS0_
.LEHE16:
	imull	$3, -2004(%rbp), %eax
	movq	-2016(%rbp), %rdx
	leaq	-1856(%rbp), %rdi
	cltq
	movq	%rax, %rsi
	movq	%rax, -2024(%rbp)
.LEHB17:
	call	_ZNSt6vectorIdSaIdEEC1EmRKS0_
.LEHE17:
	movq	-2016(%rbp), %rdx
	movq	-2024(%rbp), %rsi
	leaq	-1832(%rbp), %rdi
.LEHB18:
	call	_ZNSt6vectorIdSaIdEEC1EmRKS0_
.LEHE18:
	xorl	%r12d, %r12d
.L202:
	movq	(%rbx), %rax
	cmpl	%r12d, -2004(%rbp)
	jle	.L342
	imulq	$224, %r12, %rcx
	movl	$10, %edx
	xorl	%esi, %esi
	movq	(%rax,%rcx), %rdi
.LEHB19:
	call	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0
	movq	-1880(%rbp), %rdx
	movl	%eax, (%rdx,%r12,4)
	incq	%r12
	jmp	.L202
.L342:
	movl	$96, %r13d
	xorl	%r12d, %r12d
.L204:
	movq	(%rbx), %rcx
	movq	8+_Z14particleConfigB5cxx11(%rip), %rax
	leaq	(%r12,%r12,2), %rdx
	subq	%rcx, %rax
	sarq	$5, %rax
	cmpq	%rax, %rdx
	jnb	.L275
	imulq	$7, %r12, %rdx
	addq	$3, %rdx
	cmpq	%rdx, %rax
	jb	.L275
	movq	-64(%rcx,%r13), %rdi
	xorl	%esi, %esi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	imulq	$24, %r12, %r14
	movq	(%rbx), %rax
	movq	-1856(%rbp), %r15
	xorl	%esi, %esi
	movq	-32(%rax,%r13), %rdi
	movsd	%xmm0, (%r15,%r14)
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movq	(%rbx), %rax
	movsd	%xmm0, 8(%r15,%r14)
	xorl	%esi, %esi
	movq	(%rax,%r13), %rdi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movsd	%xmm0, 16(%r15,%r14)
	incq	%r12
	addq	$224, %r13
	jmp	.L204
.L275:
	movl	$192, %r13d
	xorl	%r12d, %r12d
.L207:
	movq	(%rbx), %rcx
	movq	8+_Z14particleConfigB5cxx11(%rip), %rax
	leaq	(%r12,%r12,2), %rdx
	subq	%rcx, %rax
	sarq	$5, %rax
	cmpq	%rax, %rdx
	jnb	.L208
	imulq	$7, %r12, %rdx
	addq	$6, %rdx
	cmpq	%rdx, %rax
	jb	.L208
	movq	-64(%rcx,%r13), %rdi
	xorl	%esi, %esi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	imulq	$24, %r12, %r14
	movq	(%rbx), %rax
	movq	-1832(%rbp), %r15
	xorl	%esi, %esi
	movq	-32(%rax,%r13), %rdi
	movsd	%xmm0, (%r15,%r14)
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movq	(%rbx), %rax
	movsd	%xmm0, 8(%r15,%r14)
	xorl	%esi, %esi
	movq	(%rax,%r13), %rdi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movsd	%xmm0, 16(%r15,%r14)
	incq	%r12
	addq	$224, %r13
	jmp	.L207
.L208:
	movq	_Z7parFileB5cxx11(%rip), %rax
	xorl	%esi, %esi
	movq	96(%rax), %rdi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movq	_Z7parFileB5cxx11(%rip), %rax
	xorl	%esi, %esi
	movsd	%xmm0, -2072(%rbp)
	movq	160(%rax), %rdi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movq	_Z7parFileB5cxx11(%rip), %rax
	xorl	%esi, %esi
	movsd	%xmm0, -2088(%rbp)
	movq	224(%rax), %rdi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movq	_Z7parFileB5cxx11(%rip), %rax
	xorl	%esi, %esi
	movsd	%xmm0, -2000(%rbp)
	movq	288(%rax), %rdi
	call	_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm.isra.0
	movq	_Z7parFileB5cxx11(%rip), %rax
	leaq	-1736(%rbp), %rbx
	movsd	%xmm0, -1992(%rbp)
	movq	%rbx, %rdi
	leaq	416(%rax), %rsi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@PLT
.LEHE19:
	movq	-2016(%rbp), %rdx
	movq	-2024(%rbp), %rsi
	leaq	-1808(%rbp), %rdi
.LEHB20:
	call	_ZNSt6vectorIdSaIdEEC1EmRKS0_
.LEHE20:
	movq	-2032(%rbp), %r13
	leaq	-1984(%rbp), %rdi
	salq	$2, %r13
	movq	%r13, %rsi
.LEHB21:
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	movq	-2024(%rbp), %rax
	leaq	-1976(%rbp), %rdi
	salq	$3, %rax
	movq	%rax, %rsi
	movq	%rax, -2016(%rbp)
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	movq	-2016(%rbp), %rsi
	leaq	-1968(%rbp), %rdi
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	movq	-2016(%rbp), %rsi
	leaq	-1960(%rbp), %rdi
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	leaq	-1952(%rbp), %rdi
	movl	$8, %esi
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	leaq	-1944(%rbp), %rdi
	movl	$8, %esi
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	leaq	-1936(%rbp), %r12
	movl	$8, %esi
	movq	%r12, %rdi
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	movq	-1880(%rbp), %r15
	movq	-1984(%rbp), %rdi
	movl	$1, %ecx
	movq	%r13, %rdx
	movq	%r15, %rsi
	call	cudaMemcpy@PLT
	movq	-1856(%rbp), %rax
	movq	-2016(%rbp), %rdx
	movl	$1, %ecx
	movq	-1976(%rbp), %rdi
	movq	%rax, %rsi
	movq	%rax, -2032(%rbp)
	call	cudaMemcpy@PLT
	movq	-1832(%rbp), %rax
	movq	-2016(%rbp), %rdx
	movl	$1, %ecx
	movq	-1968(%rbp), %rdi
	movq	%rax, %rsi
	movq	%rax, -2040(%rbp)
	call	cudaMemcpy@PLT
	movq	-1808(%rbp), %rax
	movq	-2016(%rbp), %rdx
	movl	$1, %ecx
	movq	-1960(%rbp), %rdi
	movq	%rax, %rsi
	movq	%rax, -2048(%rbp)
	call	cudaMemcpy@PLT
	movq	-1952(%rbp), %rdi
	movl	$1, %ecx
	movl	$8, %edx
	leaq	-2000(%rbp), %rsi
	call	cudaMemcpy@PLT
	movq	-1944(%rbp), %rdi
	movl	$1, %ecx
	movl	$8, %edx
	leaq	-1992(%rbp), %rsi
	call	cudaMemcpy@PLT
	movq	-1936(%rbp), %rdi
	movl	$1, %ecx
	movl	$8, %edx
	movq	%r12, %rsi
	call	cudaMemcpy@PLT
.LEHE21:
	xorl	%r11d, %r11d
	cmpq	$0, -2024(%rbp)
	movq	%r11, -1784(%rbp)
	movq	%r11, -1776(%rbp)
	movq	%r11, -1768(%rbp)
	je	.L210
	movq	-2024(%rbp), %rcx
	movabsq	$1152921504606846975, %rax
	cmpq	%rcx, %rax
	jnb	.L211
	movq	-56(%rbp), %rax
	subq	%fs:40, %rax
	jne	.L331
	leaq	.LC16(%rip), %rdi
.LEHB22:
	call	_ZSt20__throw_length_errorPKc@PLT
.L211:
	movq	-2016(%rbp), %rdi
	call	_Znwm@PLT
	movq	-2024(%rbp), %rsi
	movq	%rax, %rdi
	movq	%rax, %r12
	call	_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPdmEET_S3_T0_
	movq	-2016(%rbp), %rax
	movq	%r12, -1784(%rbp)
	addq	%rax, %r12
	movq	%r12, -1776(%rbp)
	movq	%r12, -1768(%rbp)
.L210:
	movq	-2016(%rbp), %rsi
	leaq	-1928(%rbp), %rdi
	call	_Z10cudaMallocIiE9cudaErrorPPT_m.isra.0
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	movl	$1, %esi
	movabsq	$4294967297, %rdx
	movl	-2004(%rbp), %eax
	movl	$1, -1908(%rbp)
	movq	%rdx, -1760(%rbp)
	movl	%eax, -1916(%rbp)
	movl	%eax, -1912(%rbp)
	movq	-1916(%rbp), %rdi
	movl	$1, -1752(%rbp)
	call	__cudaPushCallConfiguration@PLT
	movq	-1960(%rbp), %r8
	testl	%eax, %eax
	jne	.L213
	pushq	%r10
	movq	-1984(%rbp), %rsi
	pushq	-1944(%rbp)
	movl	-2004(%rbp), %edi
	movq	-1952(%rbp), %r9
	movq	-1968(%rbp), %rcx
	movq	-1976(%rbp), %rdx
	.cfi_escape 0x2e,0x10
	call	_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_
	popq	%r8
	popq	%r9
.L213:
	movq	-2016(%rbp), %rdx
	movq	-1960(%rbp), %rsi
	movl	$2, %ecx
	movq	-2048(%rbp), %rdi
	.cfi_escape 0x2e,0
	call	cudaMemcpy@PLT
	movq	-2048(%rbp), %rax
	movq	-1800(%rbp), %r13
	leaq	_ZSt4cout(%rip), %r12
	movq	%rax, -2024(%rbp)
.L214:
	movq	-2024(%rbp), %rax
	cmpq	%rax, %r13
	je	.L343
	movq	-2024(%rbp), %rax
	leaq	.LC17(%rip), %rsi
	movq	%r12, %rdi
	movq	(%rax), %r14
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%r14, %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movl	$9, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	addq	$8, -2024(%rbp)
	jmp	.L214
.L343:
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	movq	%r12, %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
.LEHE22:
	xorl	%edi, %edi
	leaq	-1608(%rbp), %rax
	movq	%rdi, -1760(%rbp)
	movq	%rdi, -1752(%rbp)
	movq	%rdi, -1744(%rbp)
	movq	%rax, %rdi
	movq	%rax, -2024(%rbp)
.LEHB23:
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@PLT
.LEHE23:
	leaq	-1672(%rbp), %r12
	leaq	.LC18(%rip), %rdx
	movq	%rbx, %rsi
	movq	%r12, %rdi
.LEHB24:
	call	_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_
.LEHE24:
	leaq	.LC19(%rip), %rsi
	movq	%r12, %rdi
.LEHB25:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@PLT
.LEHE25:
	leaq	-1640(%rbp), %rbx
	movq	%rax, %rsi
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	movq	-1640(%rbp), %rsi
	movl	$16, %edx
	movq	-2024(%rbp), %rdi
.LEHB26:
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0
.LEHE26:
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	-2024(%rbp), %rdi
	leaq	.LC20(%rip), %rsi
.LEHB27:
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	-2024(%rbp), %rdi
	leaq	.LC21(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC14(%rip), %rbx
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	-2004(%rbp), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC22(%rip), %r14
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2032(%rbp), %r12
	xorl	%r13d, %r13d
.L216:
	movl	-2004(%rbp), %eax
	cmpl	%eax, %r13d
	jge	.L344
	movq	-2024(%rbp), %rdi
	leaq	_ZSt5fixedRSt8ios_base(%rip), %rsi
	call	_ZNSolsEPFRSt8ios_baseS0_E@PLT
	movsd	(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	-2024(%rbp), %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incl	%r13d
	addq	$24, %r12
	jmp	.L216
.L344:
	movq	-2024(%rbp), %rdi
	leaq	.LC23(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	xorl	%esi, %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	xorl	%esi, %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2024(%rbp), %rdi
	leaq	.LC24(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	xorl	%esi, %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2024(%rbp), %rdi
	leaq	.LC25(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	-2004(%rbp), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2024(%rbp), %rdi
	leaq	.LC26(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC27(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	leaq	-1608(%rbp), %rax
	leaq	.LC28(%rip), %rsi
	movq	%rax, %rdi
	movq	%rax, -2024(%rbp)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC29(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	xorl	%ebx, %ebx
.L218:
	cmpl	%ebx, -2004(%rbp)
	jle	.L345
	movl	(%r15,%rbx,4), %esi
	movq	-2024(%rbp), %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incq	%rbx
	jmp	.L218
.L345:
	movq	-2024(%rbp), %rdi
	leaq	.LC30(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC14(%rip), %rbx
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC31(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC22(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2040(%rbp), %r12
	xorl	%r13d, %r13d
.L220:
	movl	-2004(%rbp), %eax
	cmpl	%eax, %r13d
	jge	.L346
	movsd	(%r12), %xmm0
	movq	-2024(%rbp), %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	-2024(%rbp), %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incl	%r13d
	addq	$24, %r12
	jmp	.L220
.L346:
	movq	-2024(%rbp), %rdi
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@PLT
	leaq	-1672(%rbp), %r12
	leaq	-1736(%rbp), %rsi
	leaq	.LC18(%rip), %rdx
	movq	%r12, %rdi
	call	_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_
.LEHE27:
	leaq	.LC32(%rip), %rsi
	movq	%r12, %rdi
.LEHB28:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@PLT
.LEHE28:
	leaq	-1640(%rbp), %r13
	movq	%rax, %rsi
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	movq	-1640(%rbp), %rsi
	movl	$16, %edx
	movq	-2024(%rbp), %rdi
.LEHB29:
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0
.LEHE29:
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movl	-2004(%rbp), %esi
	movq	-2024(%rbp), %rdi
.LEHB30:
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2032(%rbp), %r13
	movq	-2040(%rbp), %r12
	xorl	%r14d, %r14d
.L222:
	cmpl	%r14d, -2004(%rbp)
	jle	.L347
	movl	(%r15,%r14,4), %esi
	movq	-2024(%rbp), %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	_ZSt5fixedRSt8ios_base(%rip), %rsi
	call	_ZNSolsEPFRSt8ios_baseS0_E@PLT
	movsd	0(%r13), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%r13), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%r13), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incq	%r14
	addq	$24, %r12
	addq	$24, %r13
	jmp	.L222
.L347:
	movq	-2024(%rbp), %rdi
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@PLT
	xorl	%eax, %eax
	xorl	%r14d, %r14d
	movsd	.LC10(%rip), %xmm3
	movb	$0, -2005(%rbp)
	movl	$1, -2076(%rbp)
	movl	$1, -2064(%rbp)
	movl	%eax, -2060(%rbp)
	movsd	%xmm3, -2056(%rbp)
.L224:
	movsd	-2088(%rbp), %xmm4
	comisd	-2056(%rbp), %xmm4
	movl	-2060(%rbp), %eax
	leal	1(%rax), %ebx
	jbe	.L348
	leaq	_Z7parFileB5cxx11(%rip), %r13
	movl	$10, %edx
	xorl	%esi, %esi
	movq	0(%r13), %rax
	movq	480(%rax), %rdi
	call	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0
	movl	%eax, %ecx
	movl	%ebx, %eax
	cltd
	idivl	%ecx
	movb	$1, %al
	testl	%edx, %edx
	movl	$10, %edx
	cmove	%eax, %r14d
	movq	0(%r13), %rax
	xorl	%esi, %esi
	movq	352(%rax), %rdi
	call	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0
	movl	%eax, %ecx
	movl	%ebx, %eax
	cltd
	idivl	%ecx
	movb	-2005(%rbp), %cl
	movb	$1, %al
	testl	%edx, %edx
	movl	$10, %edx
	cmove	%eax, %ecx
	movq	0(%r13), %rax
	xorl	%esi, %esi
	movq	480(%rax), %rdi
	movb	%cl, -2005(%rbp)
	call	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0
	movl	%eax, %ecx
	movl	%ebx, %eax
	cltd
	idivl	%ecx
	xorl	%eax, %eax
	testl	%edx, %edx
	movl	$10, %edx
	cmovne	%eax, %r14d
	movq	0(%r13), %rax
	xorl	%esi, %esi
	movq	352(%rax), %rdi
	call	_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi.isra.0
	movl	%eax, %ecx
	movl	%ebx, %eax
	leaq	.LC33(%rip), %rsi
	cltd
	leaq	_ZSt4cout(%rip), %rdi
	idivl	%ecx
	movb	-2005(%rbp), %cl
	xorl	%eax, %eax
	testl	%edx, %edx
	cmovne	%eax, %ecx
	movb	%cl, -2005(%rbp)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	-2060(%rbp), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	leaq	.LC34(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	-2056(%rbp), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC35(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	-2004(%rbp), %eax
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	movabsq	$4294967297, %rdx
	movl	$1, -1884(%rbp)
	movq	%rdx, -1900(%rbp)
	movl	-1896(%rbp), %esi
	movl	%eax, -1904(%rbp)
	movq	-1904(%rbp), %rdi
	movq	%rdx, -1892(%rbp)
	call	__cudaPushCallConfiguration@PLT
	movq	-1976(%rbp), %rdi
	testl	%eax, %eax
	jne	.L229
	movq	-1984(%rbp), %rcx
	movq	-1960(%rbp), %rdx
	movq	-1968(%rbp), %rsi
	movsd	-2072(%rbp), %xmm0
	call	_Z35__device_stub__Z9updatePosPddS_S_PiPddS_S_Pi
.L229:
	movq	-2016(%rbp), %rdx
	movq	-1976(%rbp), %rsi
	movl	$2, %ecx
	movq	-2032(%rbp), %rdi
	call	cudaMemcpy@PLT
	movq	-2016(%rbp), %rdx
	movq	-1960(%rbp), %rsi
	movl	$2, %ecx
	movq	-2048(%rbp), %rdi
	call	cudaMemcpy@PLT
	movq	-1784(%rbp), %r12
	movq	-1776(%rbp), %rdx
	xorl	%eax, %eax
	subq	%r12, %rdx
	sarq	$3, %rdx
.L230:
	cmpq	%rax, %rdx
	je	.L349
	movq	-2048(%rbp), %rcx
	movsd	(%rcx,%rax,8), %xmm0
	movsd	%xmm0, (%r12,%rax,8)
	incq	%rax
	jmp	.L230
.L349:
	leaq	.LC36(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	xorl	%ebx, %ebx
	leaq	_ZSt5fixedRSt8ios_base(%rip), %r13
.L232:
	movq	-1848(%rbp), %rax
	movq	-2032(%rbp), %rcx
	subq	%rcx, %rax
	sarq	$3, %rax
	cmpq	%rax, %rbx
	jnb	.L350
	movq	%r13, %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZNSolsEPFRSt8ios_baseS0_E@PLT
	movq	%rax, %rdi
	movq	-2032(%rbp), %rax
	movsd	(%rax,%rbx,8), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movl	$9, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incq	%rbx
	jmp	.L232
.L350:
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
	movq	-2016(%rbp), %rdx
	movq	-1928(%rbp), %rdi
	movl	$1, %ecx
	movq	%r12, %rsi
	call	cudaMemcpy@PLT
	movq	-1916(%rbp), %rdi
	movl	-1908(%rbp), %esi
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movabsq	$4294967297, %rdx
	movl	$1, %ecx
	movl	$1, -1884(%rbp)
	movq	%rdx, -1892(%rbp)
	call	__cudaPushCallConfiguration@PLT
	movq	-1960(%rbp), %r8
	testl	%eax, %eax
	jne	.L234
	pushq	%rsi
	movq	-1984(%rbp), %rsi
	pushq	-1944(%rbp)
	movl	-2004(%rbp), %edi
	movq	-1952(%rbp), %r9
	movq	-1968(%rbp), %rcx
	movq	-1976(%rbp), %rdx
	.cfi_escape 0x2e,0x10
	call	_Z52__device_stub__Z17forceTwoParticlesiPiPdS0_S0_S0_S0_iPiPdS0_S0_S0_S0_
	popq	%rdx
	popq	%rcx
.L234:
	movq	-2016(%rbp), %rdx
	movq	-1960(%rbp), %rsi
	movl	$2, %ecx
	movq	-2048(%rbp), %rdi
	.cfi_escape 0x2e,0
	call	cudaMemcpy@PLT
	movl	-2004(%rbp), %eax
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	movabsq	$4294967297, %rdx
	movl	$1, -1884(%rbp)
	movq	%rdx, -1900(%rbp)
	movl	-1896(%rbp), %esi
	movl	%eax, -1904(%rbp)
	movq	-1904(%rbp), %rdi
	movq	%rdx, -1892(%rbp)
	call	__cudaPushCallConfiguration@PLT
	movq	-1976(%rbp), %rdi
	testl	%eax, %eax
	jne	.L235
	movq	-1928(%rbp), %r8
	movq	-1984(%rbp), %rcx
	movq	-1960(%rbp), %rdx
	movq	-1968(%rbp), %rsi
	movsd	-2072(%rbp), %xmm0
	call	_Z37__device_stub__Z9updateVelPddS_S_PiS_PddS_S_PiS_
.L235:
	movq	-2016(%rbp), %rdx
	movq	-1976(%rbp), %rsi
	movl	$2, %ecx
	movq	-2032(%rbp), %rdi
	call	cudaMemcpy@PLT
	movq	-2016(%rbp), %rdx
	movq	-1968(%rbp), %rsi
	movl	$2, %ecx
	movq	-2040(%rbp), %rdi
	call	cudaMemcpy@PLT
	leaq	.LC37(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	xorl	%ebx, %ebx
	leaq	_ZSt5fixedRSt8ios_base(%rip), %r12
.L236:
	movq	-1824(%rbp), %rax
	movq	-2040(%rbp), %rcx
	subq	%rcx, %rax
	sarq	$3, %rax
	cmpq	%rax, %rbx
	jnb	.L351
	movq	%r12, %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZNSolsEPFRSt8ios_baseS0_E@PLT
	movq	%rax, %rdi
	movq	-2040(%rbp), %rax
	movsd	(%rax,%rbx,8), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movl	$9, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incq	%rbx
	jmp	.L236
.L351:
	movq	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GOTPCREL(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZNSolsEPFRSoS_E.isra.0
.LEHE30:
	testb	%r14b, %r14b
	je	.L238
	movl	-2064(%rbp), %esi
	leaq	-1704(%rbp), %rbx
	movq	%rbx, %rdi
	call	_ZNSt7__cxx119to_stringEi
	leaq	-1736(%rbp), %rdx
	xorl	%esi, %esi
	movq	%rbx, %rdi
.LEHB31:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_@PLT
.LEHE31:
	leaq	-1672(%rbp), %r12
	movq	%rax, %rsi
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	leaq	.LC19(%rip), %rsi
	movq	%r12, %rdi
.LEHB32:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@PLT
.LEHE32:
	leaq	-1640(%rbp), %rbx
	movq	%rax, %rsi
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	movq	-1640(%rbp), %rsi
	movl	$16, %edx
	leaq	-1608(%rbp), %rdi
.LEHB33:
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0
.LEHE33:
	movq	%rbx, %rdi
	leaq	-1608(%rbp), %rbx
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	leaq	-1704(%rbp), %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	leaq	.LC20(%rip), %rsi
	movq	%rbx, %rdi
.LEHB34:
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC21(%rip), %rsi
	movq	%rbx, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC14(%rip), %rbx
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	-2004(%rbp), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC22(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2032(%rbp), %rbx
	xorl	%r12d, %r12d
	leaq	_ZSt5fixedRSt8ios_base(%rip), %r13
.L239:
	movl	-2004(%rbp), %eax
	cmpl	%eax, %r12d
	leaq	-1608(%rbp), %rax
	movq	%rax, -2024(%rbp)
	jge	.L352
	movq	-2024(%rbp), %rdi
	movq	%r13, %rsi
	call	_ZNSolsEPFRSt8ios_baseS0_E@PLT
	movsd	(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	-1608(%rbp), %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incl	%r12d
	addq	$24, %rbx
	jmp	.L239
.L352:
	leaq	.LC23(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	xorl	%esi, %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	xorl	%esi, %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2024(%rbp), %rdi
	leaq	.LC24(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	xorl	%esi, %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2024(%rbp), %rdi
	leaq	.LC25(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	-2004(%rbp), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2024(%rbp), %rdi
	leaq	.LC26(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC27(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC22(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2024(%rbp), %rdi
	leaq	.LC28(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC29(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	xorl	%ebx, %ebx
	leaq	-1608(%rbp), %r12
.L241:
	cmpl	%ebx, -2004(%rbp)
	jle	.L353
	movl	(%r15,%rbx,4), %esi
	movq	%r12, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incq	%rbx
	jmp	.L241
.L353:
	leaq	.LC30(%rip), %rsi
	movq	%r12, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC14(%rip), %rbx
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC31(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC22(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2040(%rbp), %rbx
	xorl	%r12d, %r12d
	leaq	.LC14(%rip), %r13
.L243:
	movl	-2004(%rbp), %eax
	leaq	-1608(%rbp), %rdi
	cmpl	%eax, %r12d
	jge	.L354
	movsd	(%rbx), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%r13, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%r13, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	-1608(%rbp), %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incl	%r12d
	addq	$24, %rbx
	jmp	.L243
.L354:
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@PLT
.LEHE34:
	incl	-2064(%rbp)
.L238:
	cmpb	$0, -2005(%rbp)
	je	.L245
	movl	-2076(%rbp), %esi
	leaq	-1704(%rbp), %rbx
	movq	%rbx, %rdi
	call	_ZNSt7__cxx119to_stringEi
	leaq	-1736(%rbp), %rdx
	xorl	%esi, %esi
	movq	%rbx, %rdi
.LEHB35:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_@PLT
.LEHE35:
	leaq	-1672(%rbp), %r12
	movq	%rax, %rsi
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	leaq	.LC32(%rip), %rsi
	movq	%r12, %rdi
.LEHB36:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@PLT
.LEHE36:
	leaq	-1640(%rbp), %rbx
	movq	%rax, %rsi
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@PLT
	movq	-1640(%rbp), %rsi
	movl	$16, %edx
	leaq	-1608(%rbp), %rdi
.LEHB37:
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode.isra.0
.LEHE37:
	movq	%rbx, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	leaq	-1704(%rbp), %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movl	-2004(%rbp), %esi
	leaq	-1608(%rbp), %rdi
.LEHB38:
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	movq	-2032(%rbp), %r12
	movq	-2040(%rbp), %rbx
	xorl	%r13d, %r13d
.L246:
	cmpl	%r13d, -2004(%rbp)
	leaq	-1608(%rbp), %rdi
	jle	.L355
	movl	(%r15,%r13,4), %esi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	_ZSt5fixedRSt8ios_base(%rip), %rsi
	call	_ZNSolsEPFRSt8ios_baseS0_E@PLT
	movsd	(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%r12), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	8(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	leaq	.LC14(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movsd	16(%rbx), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movl	$10, %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.isra.0
	incq	%r13
	addq	$24, %rbx
	addq	$24, %r12
	jmp	.L246
.L355:
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@PLT
.LEHE38:
	incl	-2076(%rbp)
.L245:
	movsd	-2056(%rbp), %xmm1
	addsd	-2072(%rbp), %xmm1
	incl	-2060(%rbp)
	movsd	%xmm1, -2056(%rbp)
	jmp	.L224
.L348:
	leaq	-1608(%rbp), %rdi
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@PLT
	leaq	-1760(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	leaq	-1784(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	leaq	-1808(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	leaq	-1736(%rbp), %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	leaq	-1832(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	leaq	-1856(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	leaq	-1880(%rbp), %rdi
	call	_ZNSt6vectorIiSaIiEED1Ev
	leaq	-576(%rbp), %rdi
	call	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@PLT
	leaq	-1096(%rbp), %rdi
	call	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@PLT
	movq	-56(%rbp), %rax
	subq	%fs:40, %rax
	je	.L274
	jmp	.L331
.L289:
	endbr64
	movq	%rax, %rbx
.L249:
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r15, %rdi
	call	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@PLT
	jmp	.L250
.L290:
	endbr64
	movq	%rax, %rbx
.L250:
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L251
.L292:
	endbr64
	movq	%rax, %rbx
.L252:
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	movq	%r14, %rdi
	call	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@PLT
	jmp	.L253
.L293:
	endbr64
	movq	%rax, %rbx
.L253:
	movq	%r12, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L254
.L303:
	endbr64
	movq	%rax, %r14
.L255:
	movq	%rbx, %rdi
	movq	%r14, %rbx
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L259
.L302:
	endbr64
	jmp	.L336
.L306:
	endbr64
	movq	%rax, %rbx
.L258:
	movq	%r13, %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L259
.L305:
	endbr64
.L336:
	movq	%rax, %rbx
.L259:
	movq	%r12, %rdi
	jmp	.L333
.L309:
	endbr64
	movq	%rax, %r15
.L260:
	movq	%rbx, %rdi
	movq	%r15, %rbx
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L264
.L308:
	endbr64
	jmp	.L337
.L307:
	endbr64
	jmp	.L335
.L312:
	endbr64
	movq	%rax, %r14
.L263:
	movq	%rbx, %rdi
	movq	%r14, %rbx
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L264
.L311:
	endbr64
.L337:
	movq	%rax, %rbx
.L264:
	leaq	-1672(%rbp), %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L265
.L310:
	endbr64
.L335:
	movq	%rax, %rbx
.L265:
	leaq	-1704(%rbp), %rdi
.L333:
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L257
.L304:
	endbr64
	movq	%rax, %rbx
.L257:
	leaq	-1608(%rbp), %rdi
	call	_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@PLT
	jmp	.L266
.L301:
	endbr64
	movq	%rax, %rbx
.L266:
	leaq	-1760(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	jmp	.L267
.L300:
	endbr64
	movq	%rax, %rbx
.L267:
	leaq	-1784(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	jmp	.L268
.L299:
	endbr64
	movq	%rax, %rbx
.L268:
	leaq	-1808(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	jmp	.L269
.L298:
	endbr64
	movq	%rax, %rbx
.L269:
	leaq	-1736(%rbp), %rdi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@PLT
	jmp	.L270
.L297:
	endbr64
	movq	%rax, %rbx
.L270:
	leaq	-1832(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	jmp	.L271
.L296:
	endbr64
	movq	%rax, %rbx
.L271:
	leaq	-1856(%rbp), %rdi
	call	_ZNSt6vectorIdSaIdEED1Ev
	jmp	.L272
.L295:
	endbr64
	movq	%rax, %rbx
.L272:
	leaq	-1880(%rbp), %rdi
	call	_ZNSt6vectorIiSaIiEED1Ev
	jmp	.L254
.L294:
	endbr64
	movq	%rax, %rbx
.L254:
	leaq	-576(%rbp), %rdi
	call	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@PLT
	jmp	.L251
.L291:
	endbr64
	movq	%rax, %rbx
.L251:
	leaq	-1096(%rbp), %rdi
	call	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@PLT
	movq	-56(%rbp), %rax
	subq	%fs:40, %rax
	jne	.L331
	movq	%rbx, %rdi
.LEHB39:
	call	_Unwind_Resume@PLT
.LEHE39:
.L331:
	call	__stack_chk_fail@PLT
.L274:
	leaq	-40(%rbp), %rsp
	xorl	%eax, %eax
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4396:
	.section	.gcc_except_table
.LLSDA4396:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE4396-.LLSDACSB4396
.LLSDACSB4396:
	.uleb128 .LEHB10-.LFB4396
	.uleb128 .LEHE10-.LEHB10
	.uleb128 0
	.uleb128 0
	.uleb128 .LEHB11-.LFB4396
	.uleb128 .LEHE11-.LEHB11
	.uleb128 .L290-.LFB4396
	.uleb128 0
	.uleb128 .LEHB12-.LFB4396
	.uleb128 .LEHE12-.LEHB12
	.uleb128 .L289-.LFB4396
	.uleb128 0
	.uleb128 .LEHB13-.LFB4396
	.uleb128 .LEHE13-.LEHB13
	.uleb128 .L291-.LFB4396
	.uleb128 0
	.uleb128 .LEHB14-.LFB4396
	.uleb128 .LEHE14-.LEHB14
	.uleb128 .L293-.LFB4396
	.uleb128 0
	.uleb128 .LEHB15-.LFB4396
	.uleb128 .LEHE15-.LEHB15
	.uleb128 .L292-.LFB4396
	.uleb128 0
	.uleb128 .LEHB16-.LFB4396
	.uleb128 .LEHE16-.LEHB16
	.uleb128 .L294-.LFB4396
	.uleb128 0
	.uleb128 .LEHB17-.LFB4396
	.uleb128 .LEHE17-.LEHB17
	.uleb128 .L295-.LFB4396
	.uleb128 0
	.uleb128 .LEHB18-.LFB4396
	.uleb128 .LEHE18-.LEHB18
	.uleb128 .L296-.LFB4396
	.uleb128 0
	.uleb128 .LEHB19-.LFB4396
	.uleb128 .LEHE19-.LEHB19
	.uleb128 .L297-.LFB4396
	.uleb128 0
	.uleb128 .LEHB20-.LFB4396
	.uleb128 .LEHE20-.LEHB20
	.uleb128 .L298-.LFB4396
	.uleb128 0
	.uleb128 .LEHB21-.LFB4396
	.uleb128 .LEHE21-.LEHB21
	.uleb128 .L299-.LFB4396
	.uleb128 0
	.uleb128 .LEHB22-.LFB4396
	.uleb128 .LEHE22-.LEHB22
	.uleb128 .L300-.LFB4396
	.uleb128 0
	.uleb128 .LEHB23-.LFB4396
	.uleb128 .LEHE23-.LEHB23
	.uleb128 .L301-.LFB4396
	.uleb128 0
	.uleb128 .LEHB24-.LFB4396
	.uleb128 .LEHE24-.LEHB24
	.uleb128 .L304-.LFB4396
	.uleb128 0
	.uleb128 .LEHB25-.LFB4396
	.uleb128 .LEHE25-.LEHB25
	.uleb128 .L302-.LFB4396
	.uleb128 0
	.uleb128 .LEHB26-.LFB4396
	.uleb128 .LEHE26-.LEHB26
	.uleb128 .L303-.LFB4396
	.uleb128 0
	.uleb128 .LEHB27-.LFB4396
	.uleb128 .LEHE27-.LEHB27
	.uleb128 .L304-.LFB4396
	.uleb128 0
	.uleb128 .LEHB28-.LFB4396
	.uleb128 .LEHE28-.LEHB28
	.uleb128 .L305-.LFB4396
	.uleb128 0
	.uleb128 .LEHB29-.LFB4396
	.uleb128 .LEHE29-.LEHB29
	.uleb128 .L306-.LFB4396
	.uleb128 0
	.uleb128 .LEHB30-.LFB4396
	.uleb128 .LEHE30-.LEHB30
	.uleb128 .L304-.LFB4396
	.uleb128 0
	.uleb128 .LEHB31-.LFB4396
	.uleb128 .LEHE31-.LEHB31
	.uleb128 .L307-.LFB4396
	.uleb128 0
	.uleb128 .LEHB32-.LFB4396
	.uleb128 .LEHE32-.LEHB32
	.uleb128 .L308-.LFB4396
	.uleb128 0
	.uleb128 .LEHB33-.LFB4396
	.uleb128 .LEHE33-.LEHB33
	.uleb128 .L309-.LFB4396
	.uleb128 0
	.uleb128 .LEHB34-.LFB4396
	.uleb128 .LEHE34-.LEHB34
	.uleb128 .L304-.LFB4396
	.uleb128 0
	.uleb128 .LEHB35-.LFB4396
	.uleb128 .LEHE35-.LEHB35
	.uleb128 .L310-.LFB4396
	.uleb128 0
	.uleb128 .LEHB36-.LFB4396
	.uleb128 .LEHE36-.LEHB36
	.uleb128 .L311-.LFB4396
	.uleb128 0
	.uleb128 .LEHB37-.LFB4396
	.uleb128 .LEHE37-.LEHB37
	.uleb128 .L312-.LFB4396
	.uleb128 0
	.uleb128 .LEHB38-.LFB4396
	.uleb128 .LEHE38-.LEHB38
	.uleb128 .L304-.LFB4396
	.uleb128 0
	.uleb128 .LEHB39-.LFB4396
	.uleb128 .LEHE39-.LEHB39
	.uleb128 0
	.uleb128 0
.LLSDACSE4396:
	.section	.text.startup
	.size	main, .-main
	.type	_GLOBAL__sub_I__Z7parFileB5cxx11, @function
_GLOBAL__sub_I__Z7parFileB5cxx11:
.LFB5468:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	xorl	%edx, %edx
	leaq	__dso_handle(%rip), %rbp
	leaq	_Z7parFileB5cxx11(%rip), %rsi
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	leaq	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev(%rip), %rbx
	pushq	%rax
	.cfi_def_cfa_offset 32
	movq	%rbx, %rdi
	movq	%rdx, _Z7parFileB5cxx11(%rip)
	movq	%rdx, 8+_Z7parFileB5cxx11(%rip)
	movq	%rdx, 16+_Z7parFileB5cxx11(%rip)
	movq	%rbp, %rdx
	call	__cxa_atexit@PLT
	xorl	%ecx, %ecx
	movq	%rbp, %rdx
	movq	%rbx, %rdi
	movq	%rcx, _Z14particleConfigB5cxx11(%rip)
	leaq	_Z14particleConfigB5cxx11(%rip), %rsi
	movq	%rcx, 8+_Z14particleConfigB5cxx11(%rip)
	movq	%rcx, 16+_Z14particleConfigB5cxx11(%rip)
	popq	%r8
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	jmp	__cxa_atexit@PLT
	.cfi_endproc
.LFE5468:
	.size	_GLOBAL__sub_I__Z7parFileB5cxx11, .-_GLOBAL__sub_I__Z7parFileB5cxx11
	.section	.init_array
	.align 8
	.quad	_GLOBAL__sub_I__Z7parFileB5cxx11
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.globl	_Z14particleConfigB5cxx11
	.bss
	.align 16
	.type	_Z14particleConfigB5cxx11, @object
	.size	_Z14particleConfigB5cxx11, 24
_Z14particleConfigB5cxx11:
	.zero	24
	.globl	_Z7parFileB5cxx11
	.align 16
	.type	_Z7parFileB5cxx11, @object
	.size	_Z7parFileB5cxx11, 24
_Z7parFileB5cxx11:
	.zero	24
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC10:
	.long	1202590843
	.long	1064598241
	.hidden	DW.ref.__gxx_personality_v0
	.weak	DW.ref.__gxx_personality_v0
	.section	.data.rel.local.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
	.align 8
	.type	DW.ref.__gxx_personality_v0, @object
	.size	DW.ref.__gxx_personality_v0, 8
DW.ref.__gxx_personality_v0:
	.quad	__gxx_personality_v0
	.hidden	__dso_handle
	.ident	"GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

#include<iostream>
#include<vector>
#include<fstream>
#include<sstream>
#include<string>
#include<iterator>
#include<ctype.h>
#include <iomanip>
#include <math.h>
#include <fstream>
#include<hip/hip_runtime.h>

using namespace std;

vector<string> parFile;
vector<string> particleConfig;


__global__ void updateVel (double* d_pPos, double delTime, double* d_pVel,double* d_calculatedData, int* d_pMass, double* d_oldForce)
{
	int Idx = blockIdx.x;

	d_pVel[Idx*3+0]+=(d_oldForce[Idx*3+0]+d_calculatedData[Idx*3+0])*delTime/(2.0*d_pMass[Idx]);
	d_pVel[Idx*3+1]+=(d_oldForce[Idx*3+1]+d_calculatedData[Idx*3+1])*delTime/(2.0*d_pMass[Idx]);
	d_pVel[Idx*3+2]+=(d_oldForce[Idx*3+2]+d_calculatedData[Idx*3+2])*delTime/(2.0*d_pMass[Idx]);
//	printf("Old force_kernel: %f \t new FOrce_kernel:%f \tIdx: %d\n", d_oldForce[Idx*3], d_calculatedData[Idx*3], Idx);
//	printf("vel_kernel: %f \nIdx: %d\n", d_pVel[Idx*3], Idx);

}

__global__ void updatePos (double*d_pPos, double delTime, double* d_pVel, double* d_calculatedData, int* d_pMass)
{
	int Idx = blockIdx.x;
	//int Idy = blockIdx.y;
	//if(Idx!=Idy)
	
	{
	d_pPos[Idx*3+0]+=delTime*d_pVel[Idx*3+0]+(d_calculatedData[Idx*3+0]*pow(delTime,2)/(2.0*d_pMass[Idx]));
	d_pPos[Idx*3+1]+=delTime*d_pVel[Idx*3+1]+(d_calculatedData[Idx*3+1]*pow(delTime,2)/(2.0*d_pMass[Idx]));
	d_pPos[Idx*3+2]+=delTime*d_pVel[Idx*3+2]+(d_calculatedData[Idx*3+2]*pow(delTime,2)/(2.0*d_pMass[Idx]));
	}
	
//	printf("force inside_POS_kernel: %f\t\t Idx:%d\n",d_calculatedData[Idx*3], Idx);
//	printf("POS_kernel: %f \nIdx: %d\n", d_pPos[Idx*3], Idx);
}

__global__ void forceTwoParticles(int nParticles, int* d_pMass, double* d_pPos, double* d_pVel, double* d_calculatedData, double* d_eps, double* d_sigma)
{
	int Idx = blockIdx.x ;
	int Idy = blockIdx.y;
	
	//vector<double> initForce = totalForce(Idx, Idy, nParticles, eps, sigma, d_pPos);
	if(Idx!=Idy)
	{
		double separation [3] = {d_pPos[Idx*3+0]-d_pPos[Idy*3+0], d_pPos[Idx*3+1]-d_pPos[Idy*3+1], d_pPos[Idx*3+2]-d_pPos[Idy*3+2]};
	//for (auto i:  separation)
 		//printf("separation vector0: %f \nseparation vector3: %f \nidx: %d \nidy: %d \n", separation[0], separation[3] , Idx, Idy);
 	
	
	double separation_magnitude = sqrt (pow(separation[0],2)+pow(separation[1],2)+pow(separation[2],2));
//	printf("separation: %f  Idx: %d Idy: %d \n", separation_magnitude,Idx, Idy);
	
	double force_LJ = 24*(*d_eps/(pow(separation_magnitude,2)))*pow(*d_sigma/separation_magnitude,6)*(2*pow(*d_sigma/separation_magnitude,6)-1);
	//printf("force: %f  Idx: %d Idy: %d \n", force_LJ,Idx, Idy);
	//printf("s: %f \n", pow(separation_magnitude,2));
	
	d_calculatedData [Idx*3+0] = force_LJ*(d_pPos[Idx*3+0]-d_pPos[Idy*3+0]);
	d_calculatedData [Idx*3+1] = force_LJ*(d_pPos[Idx*3+1]-d_pPos[Idy*3+1]);
	d_calculatedData [Idx*3+2] = force_LJ*(d_pPos[Idx*3+2]-d_pPos[Idy*3+2]);
	
	/*printf("calculated FORCE_kernel %f, %f, %f\n%f, %f, %f\n", d_calculatedData [0],d_calculatedData [1],d_calculatedData [2],d_calculatedData [3],d_calculatedData [4],d_calculatedData [5]);
*/	}
	

}


int main(int argc, char* argv[])
{
	//enableMapHost();
	
	ifstream parFileName (argv[1]);		//reading *.par file
	if (parFileName.is_open())
	{
		string str;
		while(getline(parFileName, str))
		{
			stringstream temp(str);
			string str1;
			while (getline(temp, str1,' '))
			{
				parFile.push_back(str1);
			}
			
		}
	}
	else
	{
		cout<<"*.par file not found"<< endl;
	}

	
	ifstream particleConfigFile (parFile[1]);	//reading *.in file
	
	

	if (particleConfigFile.is_open())
	{
		string str;
		while(getline(particleConfigFile,str))
		{
			stringstream temp(str);
			string str1;
			while (getline(temp, str1,' '))
			{
				
				if(str1[str1.size()-1]=='\0')	//alpha-numeric character check
				{
					str1.pop_back();
				}
				particleConfig.push_back(str1);
			}
		}
	}
	else
	{
		cout<<"*.in file not found"<< endl;
	}
	
	for(int i=0;i<particleConfig.size();++i)
	{
		cout<<"i: "<<i<<" "<<setprecision(10)<<(particleConfig[i])<<"   size: "<<particleConfig[i].size()<<endl;
	
	}

	
	int nParticles = stoi(particleConfig[0]);
	particleConfig.erase(particleConfig.begin());
	
	vector<int> pMass (nParticles);
	vector<double> pPos (nParticles*3);
	vector<double> pVel (nParticles*3);
	
	for(int i=0; i<nParticles; ++i)
	{
		pMass[i]=stoi(particleConfig[i*7]);
	}
	
	int i=0;
	for(int j=0; j<particleConfig.size(); ++j)
	{
		if((i*7+3)<=particleConfig.size())
		{
			pPos[j]=stod(particleConfig[i*7+1]);
			pPos[j+1]=stod(particleConfig[i*7+2]);
			pPos[j+2]=stod(particleConfig[i*7+3]);	
			j+=2;
			++i;
		}
		else
			break;
	}
	i=0;
	for(int j=0; j<particleConfig.size(); ++j)
	{
		if((i*7+6)<=particleConfig.size())
		{

			pVel[j]=stod(particleConfig[i*7+4]);
			pVel[j+1]=stod(particleConfig[i*7+5]);
			pVel[j+2]=stod(particleConfig[i*7+6]);
			j+=2;
			++i;
		}	
		else
			break;
	}
	
	
	
	double initTime=0.005, delTime = stod(parFile[3]), endTime = stod(parFile[5]), eps = stod(parFile[7]), sigma = stod(parFile[9]);
	string baseFile = parFile[13];
	
	int totalTimeSteps = endTime / delTime;
	
	
	vector<double> calculatedData(3*nParticles);
	
	//assigning pointer variables for device memory
	int* d_pMass; double* d_pPos; double* d_pVel; double* d_calculatedData;
	double* d_eps; double* d_sigma; double* d_delTime;
	
	//mem allocation in Device
	hipMalloc (&d_pMass, nParticles*sizeof(int));
	hipMalloc (&d_pPos, nParticles*3*sizeof(double));
	hipMalloc (&d_pVel, nParticles*3*sizeof(double));
	hipMalloc (&d_calculatedData, 3*nParticles*sizeof(double));
	hipMalloc (&d_eps, sizeof(double));
	hipMalloc (&d_sigma, sizeof(double));
	hipMalloc (&d_delTime, sizeof(double));
	
	//mem copy from HostToDevice
	hipMemcpy (d_pMass, &pMass[0],nParticles*sizeof(int), hipMemcpyHostToDevice);
	hipMemcpy (d_pPos, &pPos[0],nParticles*3*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy (d_pVel, &pVel[0],nParticles*3*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy (d_calculatedData, &calculatedData[0],3*nParticles*sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy (d_eps,&eps,sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy (d_sigma,&sigma,sizeof(double), hipMemcpyHostToDevice);
	hipMemcpy (d_delTime,&d_delTime,sizeof(double), hipMemcpyHostToDevice);
	
	int nThreads = nParticles*(nParticles-1);
	
	vector<double> oldForce;
	oldForce.resize(3*nParticles);
	
	double* d_oldForce;
	hipMalloc (&d_oldForce, 3*nParticles*sizeof(double));
	
	dim3 grid(nParticles,nParticles,1);
	
	
	//cout<<"hi"<<endl;
	
	//initial force
	forceTwoParticles<<<grid, 1>>>(nParticles, d_pMass, d_pPos, d_pVel, d_calculatedData, d_eps, d_sigma);
	hipMemcpy (&calculatedData[0], d_calculatedData, 3*nParticles*sizeof(double), hipMemcpyDeviceToHost);
	
	for(auto i: calculatedData)
	{cout<<"initialForce: "<<i<<'\t';}
	cout<<endl;
	
	
	int n=0;
	int vtk_count = 1;
	int out_count = 1;
	bool write_vtk = true;
	bool write_out = true;
	int temp_vtk = 0;
	int temp_out = 0;
	//calculate intial forces
	vector<double> force_new;
	
	//initial configuration at t=0
	ofstream myfile; 
	myfile.open(baseFile+"0"+".vtk");
			myfile<<"# vtk DataFile Version 4.0\nhesp visualization file\nASCII\nDATASET UNSTRUCTURED_GRID\n";
			myfile<<"POINTS"<<" "<<nParticles<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2];
				myfile<<'\n';
			}
			
			myfile<<"CELLS"<<" "<<0<<" "<<0<<'\n';
			myfile<<"CELL_TYPES"<<" "<<0<<'\n';
			myfile<<"POINT_DATA"<<" "<<nParticles<<'\n';
			myfile<<"SCALARS"<<" "<<"m"<<" "<<"double"<<'\n';
			myfile<<"LOOKUP_TABLE"<<" "<<"default"<<'\n';
			for (int i=0; i<nParticles;++i)
			{
				myfile<<pMass[i]<<'\n';
			}
			myfile<<"VECTORS"<<" "<<"v"<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2];
				myfile<<'\n';
			}
			myfile.close();
	myfile.open(baseFile+"0"+".out");
			myfile<<nParticles<<'\n';
			for(int i=0; i<nParticles; ++i)
			{
				myfile<<pMass[i]<<" "<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2]<<" "<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2]<<'\n';			
			}
			myfile.close();
	
	temp_vtk += 1;
	write_vtk=false;
	temp_out += 1; 
	write_out=false;


	
	while (initTime<endTime)
	{
		if (temp_vtk % stoi(parFile[15]) == 0)
	     		//cout<<temp_vtk<<endl;
	     		write_vtk = true;
	     	if (temp_out % stoi(parFile[11]) == 0) 
    	
	     		//cout<<temp_out<<endl;
	     		write_out = true;
		if (temp_vtk % stoi(parFile[15]) != 0)
			write_vtk=false;
		if (temp_out % stoi(parFile[11]) != 0)	
			write_out=false;

		
		
		cout<<"\n####\tIteration:  "<<n<<"\tTime: "<<initTime<<"\t####\n";
		//calling Kernel
		/*for(int i=0; i<pPos.size();++i)
		{
			
			cout<<"old POS_main: "<<pPos[i]<<'\t';
		}
		cout<<endl;*/
		updatePos<<<nParticles , 1>>>(d_pPos, delTime, d_pVel, d_calculatedData,d_pMass);
		hipMemcpy (&pPos[0], d_pPos, 3*nParticles*sizeof(double), hipMemcpyDeviceToHost);
		//cudaMemcpy (d_pPos, &pPos[0], 3*nParticles*sizeof(double), cudaMemcpyHostToDevice);
		/*for(int i=0; i<nParticles*3; ++i)
	{
		cout<<"###"<<endl;
		cout<<fixed<<"pos: "<<pPos[i]<<endl;
		cout<<"vel: "<<pVel[i]<<endl;
	}*/
		//cout<<"hello"<<endl;
		hipMemcpy (&calculatedData[0], d_calculatedData, 3*nParticles*sizeof(double), hipMemcpyDeviceToHost);
		//oldForce.assign(calculatedData.begin(), calculatedData.end()-1);
		
		/*for (auto i:  calculatedData)
 			 std::cout << i << ' ';*/
		for(int i=0; i<oldForce.size();++i)
		{
			oldForce[i]=calculatedData[i];
			//cout<<"old FORC_main: "<<oldForce[i]<<'\t';
		}
		//cout<<endl;
		
		cout<<"updated POS: ";
		for(int i=0; i<pPos.size();++i)
		{
			
			cout<<fixed<<pPos[i]<<'\t';
		}
		cout<<endl;
		hipMemcpy (d_oldForce, &oldForce[0], 3*nParticles*sizeof(double), hipMemcpyHostToDevice);
		
		forceTwoParticles<<<grid , 1>>>(nParticles, d_pMass, d_pPos, d_pVel, d_calculatedData, d_eps, d_sigma);
		hipMemcpy (&calculatedData[0], d_calculatedData, 3*nParticles*sizeof(double), hipMemcpyDeviceToHost);
		//cudaMemcpy (d_calculatedData, &calculatedData[0], totalTimeSteps*nParticles*sizeof(double), cudaMemcpyHostToDevice);
			
		/*for(int i=0; i<calculatedData.size();++i)
		{
			
			cout<<"new FORCE_main: "<<calculatedData[i]<<'\t';
		}*/
		
		updateVel<<<nParticles , 1>>>(d_pPos, delTime, d_pVel, d_calculatedData,d_pMass, d_oldForce);
		
		hipMemcpy (&pPos[0], d_pPos, 3*nParticles*sizeof(double), hipMemcpyDeviceToHost);
	hipMemcpy (&pVel[0], d_pVel, 3*nParticles*sizeof(double), hipMemcpyDeviceToHost);
		
	cout<<"updated VEL: ";
		for(int i=0;i<pVel.size();++i)
		{
			cout<<fixed<<pVel[i]<<'\t';
		}		
		cout<<endl;
		
		//writing *.vtk file

		if(write_vtk == true)
		{
			myfile.open(baseFile+to_string(vtk_count)+".vtk");
			myfile<<"# vtk DataFile Version 4.0\nhesp visualization file\nASCII\nDATASET UNSTRUCTURED_GRID\n";
			myfile<<"POINTS"<<" "<<nParticles<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2];
				myfile<<'\n';
			}
			
			myfile<<"CELLS"<<" "<<0<<" "<<0<<'\n';
			myfile<<"CELL_TYPES"<<" "<<0<<'\n';
			myfile<<"POINT_DATA"<<" "<<nParticles<<'\n';
			myfile<<"SCALARS"<<" "<<"m"<<" "<<"double"<<'\n';
			myfile<<"LOOKUP_TABLE"<<" "<<"default"<<'\n';
			for (int i=0; i<nParticles;++i)
			{
				myfile<<pMass[i]<<'\n';
			}
			myfile<<"VECTORS"<<" "<<"v"<<" "<<"double"<<'\n';
			for(int i=0;i<nParticles;++i)
			{
				myfile<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2];
				myfile<<'\n';
			}
			myfile.close();
			vtk_count+=1;
		}
		
		if(write_out == true)
		{
			//cout<<"temp_out: "<<temp_out<<"\t";
			myfile.open(baseFile+to_string(out_count)+".out");
			myfile<<nParticles<<'\n';
			for(int i=0; i<nParticles; ++i)
			{
				myfile<<pMass[i]<<" "<<fixed<<pPos[i*3+0]<<" "<<pPos[i*3+1]<<" "<<pPos[i*3+2]<<" "<<pVel[i*3+0]<<" "<<pVel[i*3+1]<<" "<<pVel[i*3+2]<<'\n';			
			}
			myfile.close();
			out_count+=1;		
		}
		
		
		temp_vtk += 1;
		temp_out += 1;

		
		initTime+=delTime;
		++n;
	}
	
	
	
}

	.text
	.file	"UPDATED_GPU.hip"
                                        # Start of file scope inline assembly
	.globl	_ZSt21ios_base_library_initv

                                        # End of file scope inline assembly
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev,comdat
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev # -- Begin function _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev
	.p2align	1, 0x90
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev,@function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev: # @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	(%rdi), %rbx
	movq	8(%rdi), %r15
	cmpq	%r15, %rbx
	je	.LBB0_6
# %bb.1:                                # %.lr.ph.i.i.i.preheader
	movq	%rdi, %r14
.LBB0_2:                                # %.lr.ph.i.i.i
                                        # =>This Inner Loop Header: Depth=1
	movq	(%rbx), %rdi
	addq	$16, %rbx
	cmpq	%rbx, %rdi
	je	.LBB0_4
# %bb.3:                                # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i
                                        #   in Loop: Header=BB0_2 Depth=1
	callq	_ZdlPv
.LBB0_4:                                # %_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_.exit.i.i.i
                                        #   in Loop: Header=BB0_2 Depth=1
	addq	$16, %rbx
	cmpq	%r15, %rbx
	jne	.LBB0_2
# %bb.5:                                # %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exitthread-pre-split
	movq	(%r14), %rbx
.LBB0_6:                                # %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit
	testq	%rbx, %rbx
	je	.LBB0_7
# %bb.8:
	movq	%rbx, %rdi
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	jmp	_ZdlPv                          # TAILCALL
.LBB0_7:                                # %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit
	.cfi_def_cfa_offset 32
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end0:
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev, .Lfunc_end0-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev
	.cfi_endproc
                                        # -- End function
	.text
	.globl	_Z24__device_stub__updateVelPddS_S_PiS_ # -- Begin function _Z24__device_stub__updateVelPddS_S_PiS_
	.type	_Z24__device_stub__updateVelPddS_S_PiS_,@function
_Z24__device_stub__updateVelPddS_S_PiS_: # @_Z24__device_stub__updateVelPddS_S_PiS_
	.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	$144, %rsp
	.cfi_def_cfa_offset 192
	.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
	movsd	%xmm0, (%rdi)
	leaq	40(%rsp), %r9
	movq	%rsi, (%r9)
	leaq	32(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	24(%rsp), %rdx
	movq	%rcx, (%rdx)
	leaq	16(%rsp), %rcx
	movq	%r8, (%rcx)
	leaq	96(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%r9, 16(%rbx)
	movq	%rsi, 24(%rbx)
	movq	%rdx, 32(%rbx)
	movq	%rcx, 40(%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	$_Z9updateVelPddS_S_PiS_, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$160, %rsp
	.cfi_adjust_cfa_offset -160
	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	_Z24__device_stub__updateVelPddS_S_PiS_, .Lfunc_end1-_Z24__device_stub__updateVelPddS_S_PiS_
	.cfi_endproc
                                        # -- End function
	.globl	_Z24__device_stub__updatePosPddS_S_Pi # -- Begin function _Z24__device_stub__updatePosPddS_S_Pi
	.type	_Z24__device_stub__updatePosPddS_S_Pi,@function
_Z24__device_stub__updatePosPddS_S_Pi:  # @_Z24__device_stub__updatePosPddS_S_Pi
	.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	$144, %rsp
	.cfi_def_cfa_offset 192
	.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
	movsd	%xmm0, (%rdi)
	leaq	40(%rsp), %r8
	movq	%rsi, (%r8)
	leaq	32(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	24(%rsp), %rdx
	movq	%rcx, (%rdx)
	leaq	96(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%r8, 16(%rbx)
	movq	%rsi, 24(%rbx)
	movq	%rdx, 32(%rbx)
	leaq	80(%rsp), %r14
	leaq	64(%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	$_Z9updatePosPddS_S_Pi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$160, %rsp
	.cfi_adjust_cfa_offset -160
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end2:
	.size	_Z24__device_stub__updatePosPddS_S_Pi, .Lfunc_end2-_Z24__device_stub__updatePosPddS_S_Pi
	.cfi_endproc
                                        # -- End function
	.globl	_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_ # -- Begin function _Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_
	.type	_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_,@function
_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_: # @_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_
	.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	$160, %rsp
	.cfi_def_cfa_offset 208
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	4(%rsp), %rax
	movl	%edi, (%rax)
	leaq	56(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	48(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	40(%rsp), %rdx
	movq	%rcx, (%rdx)
	leaq	32(%rsp), %rcx
	movq	%r8, (%rcx)
	leaq	24(%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	208(%rsp), %rax
	movq	%rax, 48(%rbx)
	leaq	80(%rsp), %r14
	leaq	64(%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	$_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$176, %rsp
	.cfi_adjust_cfa_offset -176
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end3:
	.size	_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_, .Lfunc_end3-_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst8,"aM",@progbits,8
	.p2align	3, 0x0                          # -- Begin function main
.LCPI4_0:
	.quad	0x3f747ae147ae147b              # double 0.0050000000000000001
	.text
	.globl	main
	.type	main,@function
main:                                   # @main
.Lfunc_begin0:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception0
# %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	$2008, %rsp                     # imm = 0x7D8
	.cfi_def_cfa_offset 2064
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	8(%rsi), %rsi
	leaq	1488(%rsp), %r14
	movq	%r14, %rdi
	movl	$8, %edx
	callq	_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode
	leaq	1608(%rsp), %rdi
	callq	_ZNKSt12__basic_fileIcE7is_openEv
	testb	%al, %al
	je	.LBB4_13
# %bb.1:
	leaq	472(%rsp), %rax
	movq	%rax, -16(%rax)
	movq	$0, -8(%rax)
	movb	$0, (%rax)
	leaq	224(%rsp), %rbp
	leaq	1096(%rsp), %rbx
	leaq	456(%rsp), %r15
	leaq	968(%rsp), %r12
	leaq	208(%rsp), %r13
.LBB4_2:                                # =>This Loop Header: Depth=1
                                        #     Child Loop BB4_7 Depth 2
	movq	1488(%rsp), %rax
	movq	-24(%rax), %rdi
	addq	%r14, %rdi
.Ltmp9:
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp10:
# %bb.3:                                # %.noexc
                                        #   in Loop: Header=BB4_2 Depth=1
.Ltmp11:
	movsbl	%al, %edx
	movq	%r14, %rdi
	movq	%r15, %rsi
	callq	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_
.Ltmp12:
# %bb.4:                                #   in Loop: Header=BB4_2 Depth=1
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	testb	$5, 32(%rax,%rcx)
	jne	.LBB4_17
# %bb.5:                                #   in Loop: Header=BB4_2 Depth=1
.Ltmp664:
	movq	%r12, %rdi
	movq	%r15, %rsi
	movl	$24, %edx
	callq	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode
.Ltmp665:
# %bb.6:                                #   in Loop: Header=BB4_2 Depth=1
	movq	%rbp, 208(%rsp)
	movq	$0, 216(%rsp)
	movb	$0, 224(%rsp)
.LBB4_7:                                #   Parent Loop BB4_2 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
.Ltmp667:
	movq	%r12, %rdi
	movq	%r13, %rsi
	movl	$32, %edx
	callq	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_
.Ltmp668:
# %bb.8:                                #   in Loop: Header=BB4_7 Depth=2
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	testb	$5, 32(%rax,%rcx)
	jne	.LBB4_10
# %bb.9:                                #   in Loop: Header=BB4_7 Depth=2
.Ltmp669:
	movl	$_Z7parFileB5cxx11, %edi
	movq	%r13, %rsi
	callq	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
.Ltmp670:
	jmp	.LBB4_7
.LBB4_10:                               #   in Loop: Header=BB4_2 Depth=1
	movq	208(%rsp), %rdi
	cmpq	%rbp, %rdi
	je	.LBB4_12
# %bb.11:                               # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i309
                                        #   in Loop: Header=BB4_2 Depth=1
	callq	_ZdlPv
.LBB4_12:                               # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit311
                                        #   in Loop: Header=BB4_2 Depth=1
	movl	$_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, %esi
	movq	%r12, %rdi
	callq	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev
	movq	%rbx, %rdi
	callq	_ZNSt8ios_baseD2Ev
	jmp	.LBB4_2
.LBB4_13:
.Ltmp0:
	movl	$_ZSt4cout, %ebx
	movl	$_ZSt4cout, %edi
	movl	$.L.str, %esi
	movl	$20, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp1:
# %bb.14:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit
	movq	_ZSt4cout(%rip), %rax
	addq	-24(%rax), %rbx
.Ltmp2:
	movq	%rbx, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp3:
# %bb.15:                               # %.noexc930
.Ltmp4:
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
.Ltmp5:
# %bb.16:                               # %.noexc931
.Ltmp6:
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
.Ltmp7:
	jmp	.LBB4_19
.LBB4_17:
	movq	456(%rsp), %rdi
	leaq	472(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_19
# %bb.18:                               # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i312
	callq	_ZdlPv
.LBB4_19:                               # %_ZNSolsEPFRSoS_E.exit
	movq	_Z7parFileB5cxx11(%rip), %rsi
	addq	$32, %rsi
.Ltmp14:
	leaq	968(%rsp), %rbx
	movq	%rbx, %rdi
	movl	$8, %edx
	callq	_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode
.Ltmp15:
# %bb.20:
	leaq	1088(%rsp), %rdi
	callq	_ZNKSt12__basic_fileIcE7is_openEv
	leaq	224(%rsp), %rcx
	testb	%al, %al
	je	.LBB4_35
# %bb.21:
	leaq	208(%rsp), %r14
	movq	%rcx, (%r14)
	movq	$0, 8(%r14)
	movb	$0, 16(%r14)
	leaq	40(%rsp), %rbp
	leaq	584(%rsp), %r15
	leaq	456(%rsp), %r12
	leaq	24(%rsp), %r13
.LBB4_22:                               # =>This Loop Header: Depth=1
                                        #     Child Loop BB4_27 Depth 2
	movq	968(%rsp), %rax
	movq	-24(%rax), %rdi
	addq	%rbx, %rdi
.Ltmp26:
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp27:
# %bb.23:                               # %.noexc320
                                        #   in Loop: Header=BB4_22 Depth=1
.Ltmp28:
	movsbl	%al, %edx
	movq	%rbx, %rdi
	movq	%r14, %rsi
	callq	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_
.Ltmp29:
# %bb.24:                               #   in Loop: Header=BB4_22 Depth=1
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	testb	$5, 32(%rax,%rcx)
	jne	.LBB4_39
# %bb.25:                               #   in Loop: Header=BB4_22 Depth=1
.Ltmp656:
	movq	%r12, %rdi
	movq	%r14, %rsi
	movl	$24, %edx
	callq	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode
.Ltmp657:
# %bb.26:                               #   in Loop: Header=BB4_22 Depth=1
	movq	%rbp, 24(%rsp)
	movq	$0, 32(%rsp)
	movb	$0, 40(%rsp)
.LBB4_27:                               #   Parent Loop BB4_22 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
.Ltmp659:
	movq	%r12, %rdi
	movq	%r13, %rsi
	movl	$32, %edx
	callq	_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_
.Ltmp660:
# %bb.28:                               #   in Loop: Header=BB4_27 Depth=2
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	testb	$5, 32(%rax,%rcx)
	jne	.LBB4_32
# %bb.29:                               #   in Loop: Header=BB4_27 Depth=2
	movq	24(%rsp), %rax
	movq	32(%rsp), %rcx
	cmpb	$0, -1(%rax,%rcx)
	jne	.LBB4_31
# %bb.30:                               #   in Loop: Header=BB4_27 Depth=2
	movq	%r13, %rdi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv
.LBB4_31:                               #   in Loop: Header=BB4_27 Depth=2
.Ltmp661:
	movl	$_Z14particleConfigB5cxx11, %edi
	movq	%r13, %rsi
	callq	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
.Ltmp662:
	jmp	.LBB4_27
.LBB4_32:                               #   in Loop: Header=BB4_22 Depth=1
	movq	24(%rsp), %rdi
	cmpq	%rbp, %rdi
	je	.LBB4_34
# %bb.33:                               # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i328
                                        #   in Loop: Header=BB4_22 Depth=1
	callq	_ZdlPv
.LBB4_34:                               # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit330
                                        #   in Loop: Header=BB4_22 Depth=1
	movl	$_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, %esi
	movq	%r12, %rdi
	callq	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev
	movq	%r15, %rdi
	callq	_ZNSt8ios_baseD2Ev
	jmp	.LBB4_22
.LBB4_35:
.Ltmp17:
	movl	$_ZSt4cout, %ebx
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$19, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp18:
# %bb.36:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit338
	movq	_ZSt4cout(%rip), %rax
	addq	-24(%rax), %rbx
.Ltmp19:
	movq	%rbx, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp20:
# %bb.37:                               # %.noexc933
.Ltmp21:
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
.Ltmp22:
# %bb.38:                               # %.noexc934
.Ltmp23:
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
.Ltmp24:
	jmp	.LBB4_41
.LBB4_39:
	movq	208(%rsp), %rdi
	leaq	224(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_41
# %bb.40:                               # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i331
	callq	_ZdlPv
.LBB4_41:                               # %_ZNSolsEPFRSoS_E.exit340
	movq	_Z14particleConfigB5cxx11+8(%rip), %rax
	cmpq	_Z14particleConfigB5cxx11(%rip), %rax
	je	.LBB4_53
# %bb.42:                               # %.lr.ph.preheader
	movl	$8, %r15d
	xorl	%ebx, %ebx
.LBB4_43:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
.Ltmp31:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.3, %esi
	movl	$3, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp32:
# %bb.44:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit342
                                        #   in Loop: Header=BB4_43 Depth=1
.Ltmp33:
	movl	$_ZSt4cout, %edi
	movl	%ebx, %esi
	callq	_ZNSolsEi
.Ltmp34:
# %bb.45:                               #   in Loop: Header=BB4_43 Depth=1
.Ltmp35:
	movq	%rax, %r14
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp36:
# %bb.46:                               #   in Loop: Header=BB4_43 Depth=1
	movq	(%r14), %rax
	movq	-24(%rax), %rax
	movq	$10, 8(%r14,%rax)
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	-8(%rax,%r15), %rsi
	movq	(%rax,%r15), %rdx
.Ltmp37:
	movq	%r14, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp38:
# %bb.47:                               # %_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE.exit
                                        #   in Loop: Header=BB4_43 Depth=1
.Ltmp39:
	movq	%rax, %r14
	movl	$.L.str.5, %esi
	movl	$9, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp40:
# %bb.48:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit347
                                        #   in Loop: Header=BB4_43 Depth=1
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	(%rax,%r15), %rsi
.Ltmp41:
	movq	%r14, %rdi
	callq	_ZNSo9_M_insertImEERSoT_
.Ltmp42:
# %bb.49:                               # %_ZNSolsEm.exit
                                        #   in Loop: Header=BB4_43 Depth=1
	movq	%rax, %r14
	movq	(%rax), %rax
	movq	-24(%rax), %rdi
	addq	%r14, %rdi
.Ltmp43:
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp44:
# %bb.50:                               # %.noexc937
                                        #   in Loop: Header=BB4_43 Depth=1
.Ltmp45:
	movsbl	%al, %esi
	movq	%r14, %rdi
	callq	_ZNSo3putEc
.Ltmp46:
# %bb.51:                               # %.noexc938
                                        #   in Loop: Header=BB4_43 Depth=1
.Ltmp47:
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
.Ltmp48:
# %bb.52:                               # %_ZNSolsEPFRSoS_E.exit350
                                        #   in Loop: Header=BB4_43 Depth=1
	incq	%rbx
	movq	_Z14particleConfigB5cxx11+8(%rip), %rcx
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	subq	%rax, %rcx
	sarq	$5, %rcx
	addq	$32, %r15
	cmpq	%rbx, %rcx
	ja	.LBB4_43
.LBB4_53:                               # %._crit_edge
	movq	(%rax), %r14
	callq	__errno_location
	movq	%rax, %r12
	movl	(%rax), %ebx
	movl	$0, (%rax)
	leaq	456(%rsp), %r15
	movq	%r14, %rdi
	movq	%r15, %rsi
	movl	$10, %edx
	callq	__isoc23_strtol
	cmpq	%r14, (%r15)
	movq	%r12, 16(%rsp)                  # 8-byte Spill
	je	.LBB4_574
# %bb.54:
	movq	%rax, %rbp
	movslq	%ebp, %rax
	cmpq	%rbp, %rax
	jne	.LBB4_576
# %bb.55:
	movl	(%r12), %eax
	cmpl	$34, %eax
	je	.LBB4_576
# %bb.56:
	testl	%eax, %eax
	jne	.LBB4_58
# %bb.57:
	movl	%ebx, (%r12)
.LBB4_58:
	movq	_Z14particleConfigB5cxx11(%rip), %rsi
.Ltmp50:
	movl	$_Z14particleConfigB5cxx11, %edi
	callq	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE
.Ltmp51:
# %bb.59:                               # %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE.exit
.Ltmp53:
	leaq	376(%rsp), %rdi
	leaq	456(%rsp), %rdx
	movq	%rbp, %rsi
	callq	_ZNSt6vectorIiSaIiEEC2EmRKS0_
.Ltmp54:
# %bb.60:
	movq	%rbp, %rax
	shlq	$32, %rax
	leaq	(%rax,%rax,2), %rbx
	movq	%rbx, 56(%rsp)                  # 8-byte Spill
	sarq	$32, %rbx
.Ltmp56:
	leaq	112(%rsp), %rdi
	leaq	456(%rsp), %rdx
	movq	%rbx, %rsi
	callq	_ZNSt6vectorIdSaIdEEC2EmRKS0_
.Ltmp57:
# %bb.61:
.Ltmp59:
	leaq	152(%rsp), %rdi
	leaq	456(%rsp), %rdx
	movq	%rbx, %rsi
	callq	_ZNSt6vectorIdSaIdEEC2EmRKS0_
.Ltmp60:
# %bb.62:
	movq	%rbx, 136(%rsp)                 # 8-byte Spill
	testl	%ebp, %ebp
	jle	.LBB4_70
# %bb.63:                               # %.lr.ph1145.preheader
	movl	%ebp, %r14d
	xorl	%r13d, %r13d
	leaq	456(%rsp), %r15
.LBB4_64:                               # %.lr.ph1145
                                        # =>This Inner Loop Header: Depth=1
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	imulq	$224, %r13, %rcx
	movq	(%rax,%rcx), %r12
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	(%rax), %ebx
	movl	$0, (%rax)
	movq	%r12, %rdi
	movq	%r15, %rsi
	movl	$10, %edx
	callq	__isoc23_strtol
	cmpq	%r12, 456(%rsp)
	je	.LBB4_530
# %bb.65:                               #   in Loop: Header=BB4_64 Depth=1
	leaq	-2147483648(%rax), %rcx
	movabsq	$-4294967296, %rdx              # imm = 0xFFFFFFFF00000000
	cmpq	%rdx, %rcx
	jb	.LBB4_532
# %bb.66:                               #   in Loop: Header=BB4_64 Depth=1
	movq	16(%rsp), %rcx                  # 8-byte Reload
	movl	(%rcx), %ecx
	cmpl	$34, %ecx
	je	.LBB4_532
# %bb.67:                               #   in Loop: Header=BB4_64 Depth=1
	testl	%ecx, %ecx
	jne	.LBB4_69
# %bb.68:                               #   in Loop: Header=BB4_64 Depth=1
	movq	16(%rsp), %rcx                  # 8-byte Reload
	movl	%ebx, (%rcx)
.LBB4_69:                               #   in Loop: Header=BB4_64 Depth=1
	movq	376(%rsp), %rcx
	movl	%eax, (%rcx,%r13,4)
	incq	%r13
	cmpq	%r14, %r13
	jne	.LBB4_64
.LBB4_70:                               # %.preheader982
	movq	%rbp, 192(%rsp)                 # 8-byte Spill
	movq	_Z14particleConfigB5cxx11+8(%rip), %rcx
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	%rcx, %rdx
	subq	%rax, %rdx
	je	.LBB4_103
# %bb.71:                               # %.lr.ph1148.preheader
	cmpq	$96, %rdx
	jb	.LBB4_87
# %bb.72:                               # %.lr.ph1706.preheader
	movl	$3, %ebx
	xorl	%r13d, %r13d
	movl	$3, %ebp
	movq	16(%rsp), %r14                  # 8-byte Reload
.LBB4_73:                               # %.lr.ph1706
                                        # =>This Inner Loop Header: Depth=1
	movq	32(%rax,%r13), %r15
	movl	(%r14), %r12d
	movl	$0, (%r14)
	movq	%r15, %rdi
	leaq	456(%rsp), %rsi
	callq	strtod
	cmpq	%r15, 456(%rsp)
	je	.LBB4_558
# %bb.74:                               #   in Loop: Header=BB4_73 Depth=1
	movl	(%r14), %eax
	testl	%eax, %eax
	je	.LBB4_76
# %bb.75:                               #   in Loop: Header=BB4_73 Depth=1
	movl	%eax, 64(%rsp)                  # 4-byte Spill
	cmpl	$34, %eax
	jne	.LBB4_77
	jmp	.LBB4_568
.LBB4_76:                               #   in Loop: Header=BB4_73 Depth=1
	movl	%r12d, (%r14)
	movl	%r12d, 64(%rsp)                 # 4-byte Spill
.LBB4_77:                               #   in Loop: Header=BB4_73 Depth=1
	movq	112(%rsp), %rax
	movsd	%xmm0, -24(%rax,%rbx,8)
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	64(%rax,%r13), %r15
	movl	$0, (%r14)
	movq	%r15, %rdi
	leaq	456(%rsp), %rsi
	callq	strtod
	cmpq	%r15, 456(%rsp)
	je	.LBB4_560
# %bb.78:                               #   in Loop: Header=BB4_73 Depth=1
	movl	(%r14), %r12d
	testl	%r12d, %r12d
	movl	64(%rsp), %eax                  # 4-byte Reload
	je	.LBB4_80
# %bb.79:                               #   in Loop: Header=BB4_73 Depth=1
	cmpl	$34, %r12d
	jne	.LBB4_81
	jmp	.LBB4_570
.LBB4_80:                               #   in Loop: Header=BB4_73 Depth=1
	movl	%eax, (%r14)
	movl	%eax, %r12d
.LBB4_81:                               #   in Loop: Header=BB4_73 Depth=1
	movq	112(%rsp), %rax
	movsd	%xmm0, -16(%rax,%rbx,8)
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	96(%rax,%r13), %r15
	movl	$0, (%r14)
	movq	%r15, %rdi
	leaq	456(%rsp), %rsi
	callq	strtod
	cmpq	%r15, 456(%rsp)
	je	.LBB4_556
# %bb.82:                               #   in Loop: Header=BB4_73 Depth=1
	movl	(%r14), %eax
	testl	%eax, %eax
	je	.LBB4_84
# %bb.83:                               #   in Loop: Header=BB4_73 Depth=1
	cmpl	$34, %eax
	jne	.LBB4_85
	jmp	.LBB4_572
.LBB4_84:                               #   in Loop: Header=BB4_73 Depth=1
	movl	%r12d, (%r14)
.LBB4_85:                               #   in Loop: Header=BB4_73 Depth=1
	movq	112(%rsp), %rax
	movsd	%xmm0, -8(%rax,%rbx,8)
	movq	_Z14particleConfigB5cxx11+8(%rip), %rcx
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	%rcx, %rdx
	subq	%rax, %rdx
	sarq	$5, %rdx
	cmpq	%rbx, %rdx
	jbe	.LBB4_87
# %bb.86:                               # %.lr.ph1148
                                        #   in Loop: Header=BB4_73 Depth=1
	addq	$224, %r13
	addq	$7, %rbp
	addq	$3, %rbx
	cmpq	%rbp, %rdx
	jae	.LBB4_73
.LBB4_87:                               # %._crit_edge1149
	cmpq	%rax, %rcx
	je	.LBB4_103
# %bb.88:                               # %.lr.ph1154.preheader
	subq	%rax, %rcx
	sarq	$5, %rcx
	movq	$-1, %rbx
	xorl	%r13d, %r13d
	xorl	%ebp, %ebp
	movq	16(%rsp), %r14                  # 8-byte Reload
.LBB4_89:                               # %.lr.ph1154
                                        # =>This Inner Loop Header: Depth=1
	addq	$7, %rbx
	cmpq	%rbx, %rcx
	jb	.LBB4_103
# %bb.90:                               #   in Loop: Header=BB4_89 Depth=1
	movq	128(%rax,%r13), %r15
	movl	(%r14), %r12d
	movl	$0, (%r14)
	movq	%r15, %rdi
	leaq	456(%rsp), %rsi
	callq	strtod
	cmpq	%r15, 456(%rsp)
	je	.LBB4_552
# %bb.91:                               #   in Loop: Header=BB4_89 Depth=1
	movl	(%r14), %eax
	testl	%eax, %eax
	je	.LBB4_93
# %bb.92:                               #   in Loop: Header=BB4_89 Depth=1
	movl	%eax, 64(%rsp)                  # 4-byte Spill
	cmpl	$34, %eax
	jne	.LBB4_94
	jmp	.LBB4_562
.LBB4_93:                               #   in Loop: Header=BB4_89 Depth=1
	movl	%r12d, (%r14)
	movl	%r12d, 64(%rsp)                 # 4-byte Spill
.LBB4_94:                               #   in Loop: Header=BB4_89 Depth=1
	movq	152(%rsp), %rax
	movsd	%xmm0, (%rax,%rbp,8)
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	160(%rax,%r13), %r15
	movl	$0, (%r14)
	movq	%r15, %rdi
	leaq	456(%rsp), %rsi
	callq	strtod
	cmpq	%r15, 456(%rsp)
	je	.LBB4_550
# %bb.95:                               #   in Loop: Header=BB4_89 Depth=1
	movl	(%r14), %r12d
	testl	%r12d, %r12d
	movl	64(%rsp), %eax                  # 4-byte Reload
	je	.LBB4_97
# %bb.96:                               #   in Loop: Header=BB4_89 Depth=1
	cmpl	$34, %r12d
	jne	.LBB4_98
	jmp	.LBB4_564
.LBB4_97:                               #   in Loop: Header=BB4_89 Depth=1
	movl	%eax, (%r14)
	movl	%eax, %r12d
.LBB4_98:                               #   in Loop: Header=BB4_89 Depth=1
	addq	$3, %rbp
	movq	152(%rsp), %rax
	movsd	%xmm0, -16(%rax,%rbp,8)
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	movq	192(%rax,%r13), %r15
	movl	$0, (%r14)
	movq	%r15, %rdi
	leaq	456(%rsp), %rsi
	callq	strtod
	cmpq	%r15, 456(%rsp)
	je	.LBB4_554
# %bb.99:                               #   in Loop: Header=BB4_89 Depth=1
	movl	(%r14), %eax
	testl	%eax, %eax
	je	.LBB4_101
# %bb.100:                              #   in Loop: Header=BB4_89 Depth=1
	cmpl	$34, %eax
	jne	.LBB4_102
	jmp	.LBB4_566
.LBB4_101:                              #   in Loop: Header=BB4_89 Depth=1
	movl	%r12d, (%r14)
.LBB4_102:                              #   in Loop: Header=BB4_89 Depth=1
	addq	$224, %r13
	movq	152(%rsp), %rax
	movsd	%xmm0, -8(%rax,%rbp,8)
	movq	_Z14particleConfigB5cxx11+8(%rip), %rcx
	movq	_Z14particleConfigB5cxx11(%rip), %rax
	subq	%rax, %rcx
	sarq	$5, %rcx
	cmpq	%rbp, %rcx
	ja	.LBB4_89
.LBB4_103:                              # %._crit_edge1155
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	96(%rax), %r15
	movq	16(%rsp), %r14                  # 8-byte Reload
	movl	(%r14), %ebp
	movl	$0, (%r14)
	leaq	456(%rsp), %r12
	movq	%r15, %rdi
	movq	%r12, %rsi
	callq	strtod
	movsd	%xmm0, 264(%rsp)                # 8-byte Spill
	cmpq	%r15, (%r12)
	je	.LBB4_578
# %bb.104:
	movl	(%r14), %ebx
	testl	%ebx, %ebx
	je	.LBB4_108
# %bb.105:
	cmpl	$34, %ebx
	jne	.LBB4_109
# %bb.106:                              # %.critedge.i.i386
.Ltmp92:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp93:
# %bb.107:
.LBB4_108:
	movl	%ebp, (%r14)
	movl	%ebp, %ebx
.LBB4_109:
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	160(%rax), %r15
	movl	$0, (%r14)
	leaq	456(%rsp), %r12
	movq	%r15, %rdi
	movq	%r12, %rsi
	callq	strtod
	movsd	%xmm0, 360(%rsp)                # 8-byte Spill
	cmpq	%r15, (%r12)
	je	.LBB4_580
# %bb.110:
	movl	(%r14), %ebp
	testl	%ebp, %ebp
	je	.LBB4_114
# %bb.111:
	cmpl	$34, %ebp
	jne	.LBB4_115
# %bb.112:                              # %.critedge.i.i391
.Ltmp94:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp95:
# %bb.113:
.LBB4_114:
	movl	%ebx, (%r14)
	movl	%ebx, %ebp
.LBB4_115:
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	224(%rax), %r15
	movl	$0, (%r14)
	leaq	456(%rsp), %r12
	movq	%r15, %rdi
	movq	%r12, %rsi
	callq	strtod
	cmpq	%r15, (%r12)
	je	.LBB4_582
# %bb.116:
	movl	(%r14), %ebx
	testl	%ebx, %ebx
	je	.LBB4_120
# %bb.117:
	cmpl	$34, %ebx
	jne	.LBB4_121
# %bb.118:                              # %.critedge.i.i396
.Ltmp96:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp97:
# %bb.119:
.LBB4_120:
	movl	%ebp, (%r14)
	movl	%ebp, %ebx
.LBB4_121:
	movsd	%xmm0, 448(%rsp)
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	288(%rax), %r15
	movl	$0, (%r14)
	leaq	456(%rsp), %r12
	movq	%r15, %rdi
	movq	%r12, %rsi
	callq	strtod
	cmpq	%r15, (%r12)
	je	.LBB4_584
# %bb.122:
	movl	(%r14), %eax
	testl	%eax, %eax
	movq	192(%rsp), %r12                 # 8-byte Reload
	je	.LBB4_126
# %bb.123:
	cmpl	$34, %eax
	jne	.LBB4_127
# %bb.124:                              # %.critedge.i.i401
.Ltmp98:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp99:
# %bb.125:
.LBB4_126:
	movl	%ebx, (%r14)
.LBB4_127:
	movsd	%xmm0, 440(%rsp)
	movq	_Z7parFileB5cxx11(%rip), %rax
	leaq	208(%rsp), %rdi
	leaq	224(%rsp), %rcx
	movq	%rcx, (%rdi)
	movq	416(%rax), %rsi
	movq	424(%rax), %rdx
	addq	%rsi, %rdx
.Ltmp100:
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag
.Ltmp101:
# %bb.128:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_.exit
.Ltmp103:
	leaq	336(%rsp), %rdi
	leaq	456(%rsp), %rdx
	movq	136(%rsp), %rbx                 # 8-byte Reload
	movq	%rbx, %rsi
	callq	_ZNSt6vectorIdSaIdEEC2EmRKS0_
.Ltmp104:
# %bb.129:
	movq	%r12, %r15
	shlq	$2, %r15
.Ltmp106:
	leaq	240(%rsp), %rdi
	movq	%r15, %rsi
	callq	hipMalloc
.Ltmp107:
# %bb.130:                              # %_ZL9hipMallocIiE10hipError_tPPT_m.exit
	movq	56(%rsp), %rsi                  # 8-byte Reload
	sarq	$29, %rsi
.Ltmp108:
	leaq	144(%rsp), %rdi
	movq	%rsi, 56(%rsp)                  # 8-byte Spill
	callq	hipMalloc
.Ltmp109:
# %bb.131:                              # %_ZL9hipMallocIdE10hipError_tPPT_m.exit
.Ltmp110:
	leaq	200(%rsp), %rdi
	movq	56(%rsp), %rsi                  # 8-byte Reload
	callq	hipMalloc
.Ltmp111:
# %bb.132:                              # %_ZL9hipMallocIdE10hipError_tPPT_m.exit410
.Ltmp112:
	leaq	104(%rsp), %rdi
	movq	56(%rsp), %rsi                  # 8-byte Reload
	callq	hipMalloc
.Ltmp113:
# %bb.133:                              # %_ZL9hipMallocIdE10hipError_tPPT_m.exit412
.Ltmp114:
	leaq	328(%rsp), %rdi
	movl	$8, %esi
	callq	hipMalloc
.Ltmp115:
# %bb.134:                              # %_ZL9hipMallocIdE10hipError_tPPT_m.exit414
.Ltmp116:
	leaq	320(%rsp), %rdi
	movl	$8, %esi
	callq	hipMalloc
.Ltmp117:
# %bb.135:                              # %_ZL9hipMallocIdE10hipError_tPPT_m.exit416
.Ltmp118:
	leaq	432(%rsp), %rdi
	movl	$8, %esi
	callq	hipMalloc
.Ltmp119:
# %bb.136:                              # %_ZL9hipMallocIdE10hipError_tPPT_m.exit418
	movq	240(%rsp), %rdi
	movq	376(%rsp), %rsi
.Ltmp120:
	movq	%r15, %rdx
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp121:
# %bb.137:
	movq	144(%rsp), %rdi
	movq	112(%rsp), %rsi
.Ltmp122:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp123:
# %bb.138:
	movq	200(%rsp), %rdi
	movq	152(%rsp), %rsi
.Ltmp124:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp125:
# %bb.139:
	movq	104(%rsp), %rdi
	movq	336(%rsp), %rsi
.Ltmp126:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp127:
# %bb.140:
	movq	328(%rsp), %rdi
.Ltmp128:
	leaq	448(%rsp), %rsi
	movl	$8, %edx
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp129:
# %bb.141:
	movq	320(%rsp), %rdi
.Ltmp130:
	leaq	440(%rsp), %rsi
	movl	$8, %edx
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp131:
# %bb.142:
	leaq	432(%rsp), %rsi
	movq	(%rsi), %rdi
.Ltmp132:
	movl	$8, %edx
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp133:
# %bb.143:
	xorpd	%xmm0, %xmm0
	leaq	400(%rsp), %rdi
	movapd	%xmm0, (%rdi)
	movq	$0, 16(%rdi)
.Ltmp135:
	movq	%rbx, %rsi
	callq	_ZNSt6vectorIdSaIdEE6resizeEm
.Ltmp136:
# %bb.144:
.Ltmp138:
	leaq	368(%rsp), %rdi
	movq	56(%rsp), %rsi                  # 8-byte Reload
	callq	hipMalloc
.Ltmp139:
# %bb.145:                              # %_ZL9hipMallocIdE10hipError_tPPT_m.exit420
	movabsq	$4294967296, %rcx               # imm = 0x100000000
	movl	%r12d, %eax
	leaq	1(%rcx), %rdi
	movq	%rax, 272(%rsp)                 # 8-byte Spill
	imulq	%rax, %rdi
.Ltmp141:
	movabsq	$4294967297, %rdx               # imm = 0x100000001
	movq	%rdi, 424(%rsp)                 # 8-byte Spill
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp142:
# %bb.146:
	testl	%eax, %eax
	jne	.LBB4_148
# %bb.147:
	movq	240(%rsp), %rsi
	movq	144(%rsp), %rdx
	movq	200(%rsp), %rcx
	movq	104(%rsp), %r8
	movq	328(%rsp), %r9
	movq	320(%rsp), %rax
.Ltmp143:
	movq	%rax, (%rsp)
	movl	%r12d, %edi
	callq	_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_
.Ltmp144:
.LBB4_148:
	movq	336(%rsp), %rdi
	movq	104(%rsp), %rsi
.Ltmp145:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
.Ltmp146:
# %bb.149:
	movq	336(%rsp), %rbx
	movq	344(%rsp), %r15
	cmpq	%r15, %rbx
	je	.LBB4_157
# %bb.150:
	leaq	456(%rsp), %r14
.LBB4_151:                              # %.lr.ph1160
                                        # =>This Inner Loop Header: Depth=1
	movsd	(%rbx), %xmm0                   # xmm0 = mem[0],zero
	movsd	%xmm0, 64(%rsp)                 # 8-byte Spill
.Ltmp147:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.6, %esi
	movl	$14, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp148:
# %bb.152:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit424
                                        #   in Loop: Header=BB4_151 Depth=1
.Ltmp149:
	movl	$_ZSt4cout, %edi
	movsd	64(%rsp), %xmm0                 # 8-byte Reload
                                        # xmm0 = mem[0],zero
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp150:
# %bb.153:                              # %_ZNSolsEd.exit
                                        #   in Loop: Header=BB4_151 Depth=1
	movb	$9, 456(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_155
# %bb.154:                              #   in Loop: Header=BB4_151 Depth=1
.Ltmp151:
	movl	$1, %edx
	movq	%rax, %rdi
	movq	%r14, %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp152:
	jmp	.LBB4_156
.LBB4_155:                              #   in Loop: Header=BB4_151 Depth=1
.Ltmp153:
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_ZNSo3putEc
.Ltmp154:
.LBB4_156:                              #   in Loop: Header=BB4_151 Depth=1
	addq	$8, %rbx
	cmpq	%r15, %rbx
	jne	.LBB4_151
.LBB4_157:                              # %._crit_edge1161
	movq	_ZSt4cout(%rip), %rax
	movl	$_ZSt4cout, %edi
	addq	-24(%rax), %rdi
.Ltmp156:
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp157:
# %bb.158:                              # %.noexc941
.Ltmp158:
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
.Ltmp159:
# %bb.159:                              # %.noexc942
.Ltmp160:
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
.Ltmp161:
# %bb.160:                              # %_ZNSolsEPFRSoS_E.exit422
.Ltmp163:
	leaq	456(%rsp), %rdi
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev
.Ltmp164:
# %bb.161:
	movq	208(%rsp), %r14
	movq	216(%rsp), %r15
	leaq	88(%rsp), %rax
	movq	%rax, -16(%rax)
	movq	$0, -8(%rax)
	movb	$0, (%rax)
	leaq	1(%r15), %rsi
.Ltmp166:
	leaq	72(%rsp), %rdi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm
.Ltmp167:
# %bb.162:
.Ltmp168:
	leaq	72(%rsp), %rdi
	movq	%r14, %rsi
	movq	%r15, %rdx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm
.Ltmp169:
# %bb.163:
.Ltmp170:
	leaq	72(%rsp), %rdi
	movl	$.L.str.7, %esi
	movl	$1, %edx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm
.Ltmp171:
# %bb.164:                              # %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_.exit
.Ltmp173:
	leaq	72(%rsp), %rdi
	movl	$.L.str.8, %esi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc
.Ltmp174:
# %bb.165:                              # %.noexc432
	movq	%rax, %r14
	leaq	40(%rsp), %rdi
	movq	%rdi, -16(%rdi)
	movq	(%rax), %rsi
	movq	%rax, %rbx
	addq	$16, %rbx
	cmpq	%rbx, %rsi
	je	.LBB4_167
# %bb.166:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i431
	movq	%rsi, 24(%rsp)
	movq	16(%r14), %rax
	movq	%rax, 40(%rsp)
	movq	8(%r14), %r15
	jmp	.LBB4_168
.LBB4_167:
	movq	8(%r14), %r15
	leaq	1(%r15), %rdx
	callq	memcpy@PLT
.LBB4_168:
	leaq	24(%rsp), %rsi
	movq	%r15, 8(%rsi)
	movq	%rbx, (%r14)
	movq	$0, 8(%r14)
	movb	$0, 16(%r14)
.Ltmp176:
	leaq	456(%rsp), %rdi
	movl	$16, %edx
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode
.Ltmp177:
# %bb.169:
	movq	24(%rsp), %rdi
	leaq	40(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_171
# %bb.170:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i433
	callq	_ZdlPv
.LBB4_171:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit435
	movq	72(%rsp), %rdi
	leaq	88(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_173
# %bb.172:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i436
	callq	_ZdlPv
.LBB4_173:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit438
.Ltmp179:
	leaq	456(%rsp), %rdi
	movl	$.L.str.9, %esi
	movl	$83, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp180:
# %bb.174:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit440
.Ltmp181:
	leaq	456(%rsp), %rdi
	movl	$.L.str.10, %esi
	movl	$6, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp182:
# %bb.175:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit442
.Ltmp183:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp184:
# %bb.176:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit444
.Ltmp185:
	leaq	456(%rsp), %rdi
	movl	%r12d, %esi
	callq	_ZNSolsEi
.Ltmp186:
# %bb.177:
.Ltmp187:
	movq	%rax, %r14
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp188:
# %bb.178:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit446
.Ltmp189:
	movl	$.L.str.11, %esi
	movl	$6, %edx
	movq	%r14, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp190:
# %bb.179:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit448
	movb	$10, 24(%rsp)
	movq	(%r14), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 16(%r14,%rax)
	je	.LBB4_181
# %bb.180:
.Ltmp191:
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	movq	%r14, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp192:
	jmp	.LBB4_182
.LBB4_181:
.Ltmp193:
	movq	%r14, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp194:
.LBB4_182:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit453
	testl	%r12d, %r12d
	jle	.LBB4_193
# %bb.183:                              # %.lr.ph1165.preheader
	movl	192(%rsp), %eax                 # 4-byte Reload
	shlq	$3, %rax
	leaq	(%rax,%rax,2), %rbx
	xorl	%r13d, %r13d
	movl	$-261, %ebp                     # imm = 0xFEFB
	leaq	456(%rsp), %r14
	leaq	24(%rsp), %r12
.LBB4_184:                              # %.lr.ph1165
                                        # =>This Inner Loop Header: Depth=1
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	movl	480(%rsp,%rax), %ecx
	andl	%ebp, %ecx
	orl	$4, %ecx
	movl	%ecx, 480(%rsp,%rax)
	movq	112(%rsp), %rax
	movsd	(%rax,%r13), %xmm0              # xmm0 = mem[0],zero
.Ltmp195:
	movq	%r14, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp196:
# %bb.185:                              # %_ZNSolsEd.exit464
                                        #   in Loop: Header=BB4_184 Depth=1
.Ltmp197:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp198:
# %bb.186:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit466
                                        #   in Loop: Header=BB4_184 Depth=1
	movq	112(%rsp), %rax
	movsd	8(%rax,%r13), %xmm0             # xmm0 = mem[0],zero
.Ltmp199:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp200:
# %bb.187:                              # %_ZNSolsEd.exit468
                                        #   in Loop: Header=BB4_184 Depth=1
.Ltmp201:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp202:
# %bb.188:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit470
                                        #   in Loop: Header=BB4_184 Depth=1
	movq	112(%rsp), %rax
	movsd	16(%rax,%r13), %xmm0            # xmm0 = mem[0],zero
.Ltmp203:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp204:
# %bb.189:                              # %_ZNSolsEd.exit472
                                        #   in Loop: Header=BB4_184 Depth=1
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_191
# %bb.190:                              #   in Loop: Header=BB4_184 Depth=1
.Ltmp205:
	movl	$1, %edx
	movq	%r14, %rdi
	movq	%r12, %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp206:
	jmp	.LBB4_192
.LBB4_191:                              #   in Loop: Header=BB4_184 Depth=1
.Ltmp207:
	movq	%r14, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp208:
.LBB4_192:                              #   in Loop: Header=BB4_184 Depth=1
	addq	$24, %r13
	cmpq	%r13, %rbx
	jne	.LBB4_184
.LBB4_193:                              # %._crit_edge1166
.Ltmp210:
	leaq	456(%rsp), %rdi
	movl	$.L.str.12, %esi
	movl	$5, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp211:
	movq	192(%rsp), %rbp                 # 8-byte Reload
# %bb.194:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit455
.Ltmp212:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp213:
# %bb.195:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit479
.Ltmp214:
	leaq	456(%rsp), %rdi
	xorl	%esi, %esi
	callq	_ZNSolsEi
.Ltmp215:
# %bb.196:
.Ltmp216:
	movq	%rax, %r14
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp217:
# %bb.197:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit481
.Ltmp218:
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_ZNSolsEi
.Ltmp219:
# %bb.198:
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_200
# %bb.199:
.Ltmp220:
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp221:
	jmp	.LBB4_201
.LBB4_200:
.Ltmp222:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp223:
.LBB4_201:
.Ltmp224:
	leaq	456(%rsp), %rdi
	movl	$.L.str.13, %esi
	movl	$10, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp225:
# %bb.202:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit488
.Ltmp226:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp227:
# %bb.203:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit490
.Ltmp228:
	leaq	456(%rsp), %rdi
	xorl	%esi, %esi
	callq	_ZNSolsEi
.Ltmp229:
# %bb.204:
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_206
# %bb.205:
.Ltmp230:
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp231:
	jmp	.LBB4_207
.LBB4_206:
.Ltmp232:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp233:
.LBB4_207:
.Ltmp234:
	leaq	456(%rsp), %rdi
	movl	$.L.str.14, %esi
	movl	$10, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp235:
# %bb.208:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit497
.Ltmp236:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp237:
# %bb.209:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit499
.Ltmp238:
	leaq	456(%rsp), %rdi
	movl	%ebp, %esi
	callq	_ZNSolsEi
.Ltmp239:
# %bb.210:
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_212
# %bb.211:
.Ltmp240:
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp241:
	jmp	.LBB4_213
.LBB4_212:
.Ltmp242:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp243:
.LBB4_213:
.Ltmp244:
	leaq	456(%rsp), %rdi
	movl	$.L.str.15, %esi
	movl	$7, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp245:
# %bb.214:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit506
.Ltmp246:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp247:
# %bb.215:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit508
.Ltmp248:
	leaq	456(%rsp), %rdi
	movl	$.L.str.16, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp249:
# %bb.216:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit510
.Ltmp250:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp251:
# %bb.217:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit512
.Ltmp252:
	leaq	456(%rsp), %rdi
	movl	$.L.str.11, %esi
	movl	$6, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp253:
# %bb.218:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit514
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_220
# %bb.219:
.Ltmp254:
	leaq	456(%rsp), %rdi
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp255:
	jmp	.LBB4_221
.LBB4_220:
.Ltmp256:
	leaq	456(%rsp), %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp257:
.LBB4_221:
.Ltmp258:
	leaq	456(%rsp), %rdi
	movl	$.L.str.17, %esi
	movl	$12, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp259:
# %bb.222:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit521
.Ltmp260:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp261:
# %bb.223:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit523
.Ltmp262:
	leaq	456(%rsp), %rdi
	movl	$.L.str.18, %esi
	movl	$7, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp263:
# %bb.224:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit525
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_226
# %bb.225:
.Ltmp264:
	leaq	456(%rsp), %rdi
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp265:
	jmp	.LBB4_227
.LBB4_226:
.Ltmp266:
	leaq	456(%rsp), %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp267:
.LBB4_227:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit530
	testl	%ebp, %ebp
	jle	.LBB4_234
# %bb.228:                              # %.lr.ph1168.preheader
	movl	%ebp, %ebx
	xorl	%r12d, %r12d
	leaq	456(%rsp), %r14
	leaq	24(%rsp), %r15
.LBB4_229:                              # %.lr.ph1168
                                        # =>This Inner Loop Header: Depth=1
	movq	376(%rsp), %rax
	movl	(%rax,%r12,4), %esi
.Ltmp268:
	movq	%r14, %rdi
	callq	_ZNSolsEi
.Ltmp269:
# %bb.230:                              #   in Loop: Header=BB4_229 Depth=1
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_232
# %bb.231:                              #   in Loop: Header=BB4_229 Depth=1
.Ltmp270:
	movl	$1, %edx
	movq	%rax, %rdi
	movq	%r15, %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp271:
	jmp	.LBB4_233
.LBB4_232:                              #   in Loop: Header=BB4_229 Depth=1
.Ltmp272:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp273:
.LBB4_233:                              #   in Loop: Header=BB4_229 Depth=1
	incq	%r12
	cmpq	%r12, %rbx
	jne	.LBB4_229
.LBB4_234:                              # %._crit_edge1169
.Ltmp275:
	leaq	456(%rsp), %rdi
	movl	$.L.str.19, %esi
	movl	$7, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp276:
# %bb.235:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit532
.Ltmp277:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp278:
# %bb.236:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit539
.Ltmp279:
	leaq	456(%rsp), %rdi
	movl	$.L.str.20, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp280:
# %bb.237:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit541
.Ltmp281:
	leaq	456(%rsp), %rdi
	movl	$.L.str.4, %esi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp282:
# %bb.238:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit543
.Ltmp283:
	leaq	456(%rsp), %rdi
	movl	$.L.str.11, %esi
	movl	$6, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp284:
# %bb.239:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit545
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_241
# %bb.240:
.Ltmp285:
	leaq	456(%rsp), %rdi
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp286:
	jmp	.LBB4_242
.LBB4_241:
.Ltmp287:
	leaq	456(%rsp), %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp288:
.LBB4_242:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit550
	testl	%ebp, %ebp
	jle	.LBB4_253
# %bb.243:                              # %.lr.ph1173.preheader
	movl	%ebp, %eax
	shlq	$3, %rax
	leaq	(%rax,%rax,2), %rbx
	xorl	%r13d, %r13d
	leaq	456(%rsp), %r14
	leaq	24(%rsp), %r12
.LBB4_244:                              # %.lr.ph1173
                                        # =>This Inner Loop Header: Depth=1
	movq	152(%rsp), %rax
	movsd	(%rax,%r13), %xmm0              # xmm0 = mem[0],zero
.Ltmp289:
	movq	%r14, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp290:
# %bb.245:                              # %_ZNSolsEd.exit552
                                        #   in Loop: Header=BB4_244 Depth=1
.Ltmp291:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp292:
# %bb.246:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit554
                                        #   in Loop: Header=BB4_244 Depth=1
	movq	152(%rsp), %rax
	movsd	8(%rax,%r13), %xmm0             # xmm0 = mem[0],zero
.Ltmp293:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp294:
# %bb.247:                              # %_ZNSolsEd.exit556
                                        #   in Loop: Header=BB4_244 Depth=1
.Ltmp295:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp296:
# %bb.248:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit558
                                        #   in Loop: Header=BB4_244 Depth=1
	movq	152(%rsp), %rax
	movsd	16(%rax,%r13), %xmm0            # xmm0 = mem[0],zero
.Ltmp297:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp298:
# %bb.249:                              # %_ZNSolsEd.exit560
                                        #   in Loop: Header=BB4_244 Depth=1
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_251
# %bb.250:                              #   in Loop: Header=BB4_244 Depth=1
.Ltmp299:
	movl	$1, %edx
	movq	%r14, %rdi
	movq	%r12, %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp300:
	jmp	.LBB4_252
.LBB4_251:                              #   in Loop: Header=BB4_244 Depth=1
.Ltmp301:
	movq	%r14, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp302:
.LBB4_252:                              #   in Loop: Header=BB4_244 Depth=1
	addq	$24, %r13
	cmpq	%r13, %rbx
	jne	.LBB4_244
.LBB4_253:                              # %._crit_edge1174
.Ltmp304:
	leaq	456(%rsp), %rdi
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv
.Ltmp305:
	leaq	40(%rsp), %rbx
# %bb.254:
	movq	208(%rsp), %r14
	movq	216(%rsp), %r15
	leaq	72(%rsp), %rdi
	leaq	88(%rsp), %rax
	movq	%rax, (%rdi)
	movq	$0, 8(%rdi)
	movb	$0, 16(%rdi)
	leaq	1(%r15), %rsi
.Ltmp306:
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm
.Ltmp307:
# %bb.255:
.Ltmp308:
	leaq	72(%rsp), %rdi
	movq	%r14, %rsi
	movq	%r15, %rdx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm
.Ltmp309:
# %bb.256:
.Ltmp310:
	leaq	72(%rsp), %rdi
	movl	$.L.str.7, %esi
	movl	$1, %edx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm
.Ltmp311:
# %bb.257:                              # %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_.exit571
.Ltmp313:
	leaq	72(%rsp), %rdi
	movl	$.L.str.21, %esi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc
.Ltmp314:
# %bb.258:                              # %.noexc575
	movq	%rax, %r14
	movq	%rbx, 24(%rsp)
	movq	(%rax), %rsi
	movq	%rbx, %rdi
	movq	%rax, %rbx
	addq	$16, %rbx
	cmpq	%rbx, %rsi
	je	.LBB4_260
# %bb.259:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i572
	movq	%rsi, 24(%rsp)
	movq	16(%r14), %rax
	movq	%rax, 40(%rsp)
	movq	8(%r14), %r15
	jmp	.LBB4_261
.LBB4_260:
	movq	8(%r14), %r15
	leaq	1(%r15), %rdx
	callq	memcpy@PLT
.LBB4_261:
	leaq	24(%rsp), %rsi
	movq	%r15, 8(%rsi)
	movq	%rbx, (%r14)
	movq	$0, 8(%r14)
	movb	$0, 16(%r14)
.Ltmp316:
	leaq	456(%rsp), %rdi
	movl	$16, %edx
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode
.Ltmp317:
# %bb.262:
	movq	24(%rsp), %rdi
	leaq	40(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_264
# %bb.263:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i577
	callq	_ZdlPv
.LBB4_264:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit579
	movq	72(%rsp), %rdi
	leaq	88(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_266
# %bb.265:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i580
	callq	_ZdlPv
.LBB4_266:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit582
.Ltmp319:
	leaq	456(%rsp), %rdi
	movl	%ebp, %esi
	callq	_ZNSolsEi
.Ltmp320:
# %bb.267:
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_269
# %bb.268:
.Ltmp321:
	leaq	24(%rsp), %rsi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp322:
	jmp	.LBB4_270
.LBB4_269:
.Ltmp323:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp324:
.LBB4_270:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit587
	testl	%ebp, %ebp
	jle	.LBB4_289
# %bb.271:                              # %.lr.ph1176.preheader
	movl	192(%rsp), %eax                 # 4-byte Reload
	shlq	$3, %rax
	leaq	(%rax,%rax,2), %r13
	xorl	%ebp, %ebp
	leaq	456(%rsp), %r14
	movl	$-261, %ebx                     # imm = 0xFEFB
	xorl	%r12d, %r12d
.LBB4_272:                              # %.lr.ph1176
                                        # =>This Inner Loop Header: Depth=1
	movq	376(%rsp), %rax
	movl	(%rax,%rbp), %esi
.Ltmp325:
	movq	%r14, %rdi
	callq	_ZNSolsEi
.Ltmp326:
# %bb.273:                              #   in Loop: Header=BB4_272 Depth=1
.Ltmp327:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp328:
# %bb.274:                              #   in Loop: Header=BB4_272 Depth=1
	movq	(%r15), %rax
	movq	-24(%rax), %rax
	movl	24(%r15,%rax), %ecx
	andl	%ebx, %ecx
	orl	$4, %ecx
	movl	%ecx, 24(%r15,%rax)
	movq	112(%rsp), %rax
	movsd	(%rax,%r12), %xmm0              # xmm0 = mem[0],zero
.Ltmp329:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp330:
# %bb.275:                              # %_ZNSolsEd.exit599
                                        #   in Loop: Header=BB4_272 Depth=1
.Ltmp331:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp332:
# %bb.276:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit601
                                        #   in Loop: Header=BB4_272 Depth=1
	movq	112(%rsp), %rax
	movsd	8(%rax,%r12), %xmm0             # xmm0 = mem[0],zero
.Ltmp333:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp334:
# %bb.277:                              # %_ZNSolsEd.exit603
                                        #   in Loop: Header=BB4_272 Depth=1
.Ltmp335:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp336:
# %bb.278:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit605
                                        #   in Loop: Header=BB4_272 Depth=1
	movq	112(%rsp), %rax
	movsd	16(%rax,%r12), %xmm0            # xmm0 = mem[0],zero
.Ltmp337:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp338:
# %bb.279:                              # %_ZNSolsEd.exit607
                                        #   in Loop: Header=BB4_272 Depth=1
.Ltmp339:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp340:
# %bb.280:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit609
                                        #   in Loop: Header=BB4_272 Depth=1
	movq	152(%rsp), %rax
	movsd	(%rax,%r12), %xmm0              # xmm0 = mem[0],zero
.Ltmp341:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp342:
# %bb.281:                              # %_ZNSolsEd.exit611
                                        #   in Loop: Header=BB4_272 Depth=1
.Ltmp343:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp344:
# %bb.282:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit613
                                        #   in Loop: Header=BB4_272 Depth=1
	movq	152(%rsp), %rax
	movsd	8(%rax,%r12), %xmm0             # xmm0 = mem[0],zero
.Ltmp345:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp346:
# %bb.283:                              # %_ZNSolsEd.exit615
                                        #   in Loop: Header=BB4_272 Depth=1
.Ltmp347:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp348:
# %bb.284:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit617
                                        #   in Loop: Header=BB4_272 Depth=1
	movq	152(%rsp), %rax
	movsd	16(%rax,%r12), %xmm0            # xmm0 = mem[0],zero
.Ltmp349:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp350:
# %bb.285:                              # %_ZNSolsEd.exit619
                                        #   in Loop: Header=BB4_272 Depth=1
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_287
# %bb.286:                              #   in Loop: Header=BB4_272 Depth=1
.Ltmp351:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp352:
	jmp	.LBB4_288
.LBB4_287:                              #   in Loop: Header=BB4_272 Depth=1
.Ltmp353:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp354:
.LBB4_288:                              #   in Loop: Header=BB4_272 Depth=1
	addq	$24, %r12
	addq	$4, %rbp
	cmpq	%r12, %r13
	jne	.LBB4_272
.LBB4_289:                              # %._crit_edge1177
.Ltmp356:
	leaq	456(%rsp), %rdi
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv
.Ltmp357:
	movq	16(%rsp), %r13                  # 8-byte Reload
	movq	192(%rsp), %rax                 # 8-byte Reload
# %bb.290:                              # %.preheader981
	movsd	360(%rsp), %xmm0                # 8-byte Reload
                                        # xmm0 = mem[0],zero
	ucomisd	.LCPI4_0(%rip), %xmm0
	jbe	.LBB4_517
# %bb.291:                              # %.lr.ph1219
	movabsq	$4294967296, %rcx               # imm = 0x100000000
	orq	%rcx, 272(%rsp)                 # 8-byte Folded Spill
	movl	%eax, %eax
	movq	%rax, 64(%rsp)                  # 8-byte Spill
	leaq	(,%rax,8), %rax
	leaq	(%rax,%rax,2), %r14
	movsd	.LCPI4_0(%rip), %xmm0           # xmm0 = mem[0],zero
	movsd	%xmm0, 280(%rsp)                # 8-byte Spill
	leaq	456(%rsp), %r12
	movl	$-261, %ebx                     # imm = 0xFEFB
	movl	$0, 252(%rsp)                   # 4-byte Folded Spill
	movl	$1, 180(%rsp)                   # 4-byte Folded Spill
	movl	$1, 176(%rsp)                   # 4-byte Folded Spill
	movl	$0, 188(%rsp)                   # 4-byte Folded Spill
	movl	$0, 184(%rsp)                   # 4-byte Folded Spill
	movl	$1, 136(%rsp)                   # 4-byte Folded Spill
	movq	%r14, 256(%rsp)                 # 8-byte Spill
.LBB4_292:                              # =>This Loop Header: Depth=1
                                        #     Child Loop BB4_324 Depth 2
                                        #     Child Loop BB4_328 Depth 2
                                        #     Child Loop BB4_349 Depth 2
                                        #     Child Loop BB4_360 Depth 2
                                        #     Child Loop BB4_394 Depth 2
                                        #     Child Loop BB4_439 Depth 2
                                        #     Child Loop BB4_454 Depth 2
                                        #     Child Loop BB4_468 Depth 2
                                        #     Child Loop BB4_497 Depth 2
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	480(%rax), %r15
	movl	(%r13), %ebp
	movl	$0, (%r13)
	movq	%r15, %rdi
	leaq	24(%rsp), %rsi
	movl	$10, %edx
	callq	__isoc23_strtol
	cmpq	%r15, 24(%rsp)
	je	.LBB4_536
# %bb.293:                              #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %rcx
	addq	$-2147483648, %rax              # imm = 0x80000000
	movabsq	$-4294967296, %rdx              # imm = 0xFFFFFFFF00000000
	cmpq	%rdx, %rax
	jb	.LBB4_538
# %bb.294:                              #   in Loop: Header=BB4_292 Depth=1
	movl	(%r13), %eax
	cmpl	$34, %eax
	je	.LBB4_538
# %bb.295:                              #   in Loop: Header=BB4_292 Depth=1
	testl	%eax, %eax
	jne	.LBB4_297
# %bb.296:                              #   in Loop: Header=BB4_292 Depth=1
	movl	%ebp, (%r13)
.LBB4_297:                              #   in Loop: Header=BB4_292 Depth=1
	movl	136(%rsp), %eax                 # 4-byte Reload
	cltd
	idivl	%ecx
	testl	%edx, %edx
	movq	%r13, %rcx
	movzbl	188(%rsp), %r13d                # 1-byte Folded Reload
	movl	$1, %eax
	cmovel	%eax, %r13d
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	352(%rax), %r15
	movl	(%rcx), %ebp
	movl	$0, (%rcx)
	movq	%r15, %rdi
	leaq	24(%rsp), %rsi
	movl	$10, %edx
	callq	__isoc23_strtol
	cmpq	%r15, 24(%rsp)
	je	.LBB4_540
# %bb.298:                              #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %rcx
	addq	$-2147483648, %rax              # imm = 0x80000000
	movabsq	$-4294967296, %rdx              # imm = 0xFFFFFFFF00000000
	cmpq	%rdx, %rax
	jb	.LBB4_542
# %bb.299:                              #   in Loop: Header=BB4_292 Depth=1
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	(%rax), %eax
	cmpl	$34, %eax
	je	.LBB4_542
# %bb.300:                              #   in Loop: Header=BB4_292 Depth=1
	testl	%eax, %eax
	jne	.LBB4_302
# %bb.301:                              #   in Loop: Header=BB4_292 Depth=1
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%ebp, (%rax)
.LBB4_302:                              #   in Loop: Header=BB4_292 Depth=1
	movl	136(%rsp), %eax                 # 4-byte Reload
	cltd
	idivl	%ecx
	testl	%edx, %edx
	movzbl	184(%rsp), %ebp                 # 1-byte Folded Reload
	movl	$1, %eax
	cmovel	%eax, %ebp
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	480(%rax), %r15
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	(%rax), %r14d
	movl	$0, (%rax)
	movq	%r15, %rdi
	leaq	24(%rsp), %rsi
	movl	$10, %edx
	callq	__isoc23_strtol
	cmpq	%r15, 24(%rsp)
	je	.LBB4_534
# %bb.303:                              #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %rcx
	addq	$-2147483648, %rax              # imm = 0x80000000
	movabsq	$-4294967296, %rdx              # imm = 0xFFFFFFFF00000000
	cmpq	%rdx, %rax
	jb	.LBB4_544
# %bb.304:                              #   in Loop: Header=BB4_292 Depth=1
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	(%rax), %eax
	cmpl	$34, %eax
	je	.LBB4_544
# %bb.305:                              #   in Loop: Header=BB4_292 Depth=1
	testl	%eax, %eax
	jne	.LBB4_307
# %bb.306:                              #   in Loop: Header=BB4_292 Depth=1
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%r14d, (%rax)
.LBB4_307:                              #   in Loop: Header=BB4_292 Depth=1
	movl	136(%rsp), %eax                 # 4-byte Reload
	cltd
	idivl	%ecx
	testl	%edx, %edx
	movzbl	%r13b, %ecx
	movl	$0, %eax
	cmovnel	%eax, %ecx
	movl	%ecx, 188(%rsp)                 # 4-byte Spill
	movq	_Z7parFileB5cxx11(%rip), %rax
	movq	352(%rax), %r15
	movq	16(%rsp), %r13                  # 8-byte Reload
	movl	(%r13), %r14d
	movl	$0, (%r13)
	movq	%r15, %rdi
	leaq	24(%rsp), %rsi
	movl	$10, %edx
	callq	__isoc23_strtol
	cmpq	%r15, 24(%rsp)
	je	.LBB4_546
# %bb.308:                              #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %rcx
	addq	$-2147483648, %rax              # imm = 0x80000000
	movabsq	$-4294967296, %rdx              # imm = 0xFFFFFFFF00000000
	cmpq	%rdx, %rax
	jb	.LBB4_548
# %bb.309:                              #   in Loop: Header=BB4_292 Depth=1
	movl	(%r13), %eax
	cmpl	$34, %eax
	je	.LBB4_548
# %bb.310:                              #   in Loop: Header=BB4_292 Depth=1
	testl	%eax, %eax
	jne	.LBB4_312
# %bb.311:                              #   in Loop: Header=BB4_292 Depth=1
	movl	%r14d, (%r13)
.LBB4_312:                              #   in Loop: Header=BB4_292 Depth=1
	movl	136(%rsp), %eax                 # 4-byte Reload
	cltd
	idivl	%ecx
	testl	%edx, %edx
	movzbl	%bpl, %ecx
	movl	$0, %eax
	cmovnel	%eax, %ecx
	movl	%ecx, 184(%rsp)                 # 4-byte Spill
.Ltmp359:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.22, %esi
	movl	$18, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp360:
	movq	192(%rsp), %rbp                 # 8-byte Reload
# %bb.313:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit650
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp361:
	movl	$_ZSt4cout, %edi
	movl	252(%rsp), %esi                 # 4-byte Reload
	callq	_ZNSolsEi
.Ltmp362:
# %bb.314:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp363:
	movq	%rax, %r15
	movl	$.L.str.23, %esi
	movl	$7, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp364:
# %bb.315:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit652
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp365:
	movq	%r15, %rdi
	movsd	280(%rsp), %xmm0                # 8-byte Reload
                                        # xmm0 = mem[0],zero
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp366:
# %bb.316:                              # %_ZNSolsEd.exit654
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp367:
	movl	$.L.str.24, %esi
	movl	$6, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp368:
# %bb.317:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit656
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp369:
	movq	272(%rsp), %rdi                 # 8-byte Reload
	movl	$1, %esi
	movabsq	$4294967297, %rdx               # imm = 0x100000001
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp370:
# %bb.318:                              #   in Loop: Header=BB4_292 Depth=1
	testl	%eax, %eax
	jne	.LBB4_320
# %bb.319:                              #   in Loop: Header=BB4_292 Depth=1
	movq	144(%rsp), %rdi
	movq	200(%rsp), %rsi
	movq	104(%rsp), %rdx
	movq	240(%rsp), %rcx
.Ltmp371:
	movsd	264(%rsp), %xmm0                # 8-byte Reload
                                        # xmm0 = mem[0],zero
	callq	_Z24__device_stub__updatePosPddS_S_Pi
.Ltmp372:
.LBB4_320:                              #   in Loop: Header=BB4_292 Depth=1
	movq	112(%rsp), %rdi
	movq	144(%rsp), %rsi
.Ltmp373:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
.Ltmp374:
# %bb.321:                              #   in Loop: Header=BB4_292 Depth=1
	movq	336(%rsp), %rdi
	movq	104(%rsp), %rsi
.Ltmp375:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
.Ltmp376:
# %bb.322:                              # %.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	400(%rsp), %rax
	movq	408(%rsp), %rcx
	subq	%rax, %rcx
	je	.LBB4_325
# %bb.323:                              # %.lr.ph1179
                                        #   in Loop: Header=BB4_292 Depth=1
	sarq	$3, %rcx
	movq	336(%rsp), %rdx
	cmpq	$1, %rcx
	adcq	$0, %rcx
	xorl	%esi, %esi
.LBB4_324:                              #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movsd	(%rdx,%rsi,8), %xmm0            # xmm0 = mem[0],zero
	movsd	%xmm0, (%rax,%rsi,8)
	incq	%rsi
	cmpq	%rsi, %rcx
	jne	.LBB4_324
.LBB4_325:                              # %._crit_edge1180
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp377:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.25, %esi
	movl	$13, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp378:
# %bb.326:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit658.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	112(%rsp), %rax
	cmpq	%rax, 120(%rsp)
	je	.LBB4_333
# %bb.327:                              # %.lr.ph1183.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	xorl	%r15d, %r15d
.LBB4_328:                              # %.lr.ph1183
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	_ZSt4cout(%rip), %rcx
	movq	-24(%rcx), %rcx
	movl	_ZSt4cout+24(%rcx), %edx
	andl	%ebx, %edx
	orl	$4, %edx
	movl	%edx, _ZSt4cout+24(%rcx)
	movsd	(%rax,%r15,8), %xmm0            # xmm0 = mem[0],zero
.Ltmp379:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp380:
# %bb.329:                              # %_ZNSolsEd.exit664
                                        #   in Loop: Header=BB4_328 Depth=2
	movb	$9, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_331
# %bb.330:                              #   in Loop: Header=BB4_328 Depth=2
.Ltmp381:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp382:
	jmp	.LBB4_332
.LBB4_331:                              #   in Loop: Header=BB4_328 Depth=2
.Ltmp383:
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_ZNSo3putEc
.Ltmp384:
.LBB4_332:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit658
                                        #   in Loop: Header=BB4_328 Depth=2
	incq	%r15
	movq	112(%rsp), %rax
	movq	120(%rsp), %rcx
	subq	%rax, %rcx
	sarq	$3, %rcx
	cmpq	%r15, %rcx
	ja	.LBB4_328
.LBB4_333:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit658._crit_edge
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rdi
	movl	$_ZSt4cout, %eax
	addq	%rax, %rdi
.Ltmp386:
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp387:
# %bb.334:                              # %.noexc945
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp388:
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
.Ltmp389:
# %bb.335:                              # %.noexc946
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp390:
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
.Ltmp391:
# %bb.336:                              # %_ZNSolsEPFRSoS_E.exit660
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	368(%rsp), %rdi
	movq	400(%rsp), %rsi
.Ltmp392:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp393:
# %bb.337:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp394:
	movq	424(%rsp), %rdi                 # 8-byte Reload
	movl	$1, %esi
	movabsq	$4294967297, %rdx               # imm = 0x100000001
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp395:
# %bb.338:                              #   in Loop: Header=BB4_292 Depth=1
	testl	%eax, %eax
	jne	.LBB4_340
# %bb.339:                              #   in Loop: Header=BB4_292 Depth=1
	movq	240(%rsp), %rsi
	movq	144(%rsp), %rdx
	movq	200(%rsp), %rcx
	movq	104(%rsp), %r8
	movq	328(%rsp), %r9
	movq	320(%rsp), %rax
.Ltmp396:
	movq	%rax, (%rsp)
	movl	%ebp, %edi
	callq	_Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_
.Ltmp397:
.LBB4_340:                              #   in Loop: Header=BB4_292 Depth=1
	movq	336(%rsp), %rdi
	movq	104(%rsp), %rsi
.Ltmp398:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
.Ltmp399:
# %bb.341:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp400:
	movq	272(%rsp), %rdi                 # 8-byte Reload
	movl	$1, %esi
	movabsq	$4294967297, %rdx               # imm = 0x100000001
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp401:
# %bb.342:                              #   in Loop: Header=BB4_292 Depth=1
	testl	%eax, %eax
	jne	.LBB4_344
# %bb.343:                              #   in Loop: Header=BB4_292 Depth=1
	movq	144(%rsp), %rdi
	movq	200(%rsp), %rsi
	movq	104(%rsp), %rdx
	movq	240(%rsp), %rcx
	movq	368(%rsp), %r8
.Ltmp402:
	movsd	264(%rsp), %xmm0                # 8-byte Reload
                                        # xmm0 = mem[0],zero
	callq	_Z24__device_stub__updateVelPddS_S_PiS_
.Ltmp403:
.LBB4_344:                              #   in Loop: Header=BB4_292 Depth=1
	movq	112(%rsp), %rdi
	movq	144(%rsp), %rsi
.Ltmp404:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
.Ltmp405:
# %bb.345:                              #   in Loop: Header=BB4_292 Depth=1
	movq	152(%rsp), %rdi
	movq	200(%rsp), %rsi
.Ltmp406:
	movq	56(%rsp), %rdx                  # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
.Ltmp407:
# %bb.346:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp408:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.26, %esi
	movl	$13, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp409:
# %bb.347:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit671.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	152(%rsp), %rax
	cmpq	%rax, 160(%rsp)
	je	.LBB4_354
# %bb.348:                              # %.lr.ph1186.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	xorl	%r15d, %r15d
.LBB4_349:                              # %.lr.ph1186
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	_ZSt4cout(%rip), %rcx
	movq	-24(%rcx), %rcx
	movl	_ZSt4cout+24(%rcx), %edx
	andl	%ebx, %edx
	orl	$4, %edx
	movl	%edx, _ZSt4cout+24(%rcx)
	movsd	(%rax,%r15,8), %xmm0            # xmm0 = mem[0],zero
.Ltmp410:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp411:
# %bb.350:                              # %_ZNSolsEd.exit677
                                        #   in Loop: Header=BB4_349 Depth=2
	movb	$9, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_352
# %bb.351:                              #   in Loop: Header=BB4_349 Depth=2
.Ltmp412:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp413:
	jmp	.LBB4_353
.LBB4_352:                              #   in Loop: Header=BB4_349 Depth=2
.Ltmp414:
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_ZNSo3putEc
.Ltmp415:
.LBB4_353:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit671
                                        #   in Loop: Header=BB4_349 Depth=2
	incq	%r15
	movq	152(%rsp), %rax
	movq	160(%rsp), %rcx
	subq	%rax, %rcx
	sarq	$3, %rcx
	cmpq	%r15, %rcx
	ja	.LBB4_349
.LBB4_354:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit671._crit_edge
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rdi
	movl	$_ZSt4cout, %eax
	addq	%rax, %rdi
.Ltmp417:
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
.Ltmp418:
# %bb.355:                              # %.noexc949
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp419:
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
.Ltmp420:
# %bb.356:                              # %.noexc950
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp421:
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
.Ltmp422:
# %bb.357:                              # %_ZNSolsEPFRSoS_E.exit673
                                        #   in Loop: Header=BB4_292 Depth=1
	testb	$1, 188(%rsp)                   # 1-byte Folded Reload
	je	.LBB4_465
# %bb.358:                              #   in Loop: Header=BB4_292 Depth=1
	movl	180(%rsp), %eax                 # 4-byte Reload
	movl	%eax, %r15d
	negl	%r15d
	cmovsl	%eax, %r15d
	movl	$1, %r13d
	cmpl	$10, %r15d
	jb	.LBB4_367
# %bb.359:                              # %.lr.ph.i.i.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	movl	$4, %r13d
	movl	%r15d, %eax
	movl	$3518437209, %edx               # imm = 0xD1B71759
.LBB4_360:                              # %.lr.ph.i.i
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	cmpl	$99, %eax
	jbe	.LBB4_365
# %bb.361:                              #   in Loop: Header=BB4_360 Depth=2
	cmpl	$999, %eax                      # imm = 0x3E7
	jbe	.LBB4_366
# %bb.362:                              #   in Loop: Header=BB4_360 Depth=2
	cmpl	$10000, %eax                    # imm = 0x2710
	jb	.LBB4_367
# %bb.363:                              #   in Loop: Header=BB4_360 Depth=2
	movl	%eax, %ecx
	imulq	%rdx, %rcx
	shrq	$45, %rcx
	addl	$4, %r13d
	cmpl	$99999, %eax                    # imm = 0x1869F
	movl	%ecx, %eax
	ja	.LBB4_360
# %bb.364:                              # %_ZNSt8__detail14__to_chars_lenIjEEjT_i.exit.i.loopexit
                                        #   in Loop: Header=BB4_292 Depth=1
	addl	$-3, %r13d
	jmp	.LBB4_367
.LBB4_365:                              #   in Loop: Header=BB4_292 Depth=1
	addl	$-2, %r13d
	jmp	.LBB4_367
.LBB4_366:                              #   in Loop: Header=BB4_292 Depth=1
	decl	%r13d
.LBB4_367:                              # %_ZNSt8__detail14__to_chars_lenIjEEjT_i.exit.i
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rbp, %rbx
	movl	180(%rsp), %eax                 # 4-byte Reload
	movl	%eax, %r14d
	shrl	$31, %r14d
	leal	(%r14,%r13), %esi
	leaq	304(%rsp), %rax
	movq	%rax, 288(%rsp)
.Ltmp423:
	leaq	288(%rsp), %rbp
	movq	%rbp, %rdi
	movl	$45, %edx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc
.Ltmp424:
# %bb.368:                              # %_ZNSt7__cxx119to_stringEi.exit
                                        #   in Loop: Header=BB4_292 Depth=1
	movl	%r14d, %edi
	addq	288(%rsp), %rdi
	movl	%r13d, %esi
	movl	%r15d, %edx
	callq	_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_
	movq	208(%rsp), %rcx
	movq	216(%rsp), %r8
.Ltmp426:
	movq	%rbp, %rdi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm
.Ltmp427:
# %bb.369:                              # %.noexc686
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %r15
	leaq	88(%rsp), %rdi
	movq	%rdi, 72(%rsp)
	movq	(%rax), %rsi
	movq	%rax, %r14
	addq	$16, %r14
	cmpq	%r14, %rsi
	movq	%rbx, %rbp
	je	.LBB4_371
# %bb.370:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i683
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rsi, 72(%rsp)
	movq	16(%r15), %rax
	movq	%rax, 88(%rsp)
	movq	8(%r15), %r13
	jmp	.LBB4_372
.LBB4_371:                              #   in Loop: Header=BB4_292 Depth=1
	movq	8(%r15), %r13
	leaq	1(%r13), %rdx
	callq	memcpy@PLT
.LBB4_372:                              #   in Loop: Header=BB4_292 Depth=1
	movl	$-261, %ebx                     # imm = 0xFEFB
	movq	%r13, 80(%rsp)
	movq	%r14, (%r15)
	movq	$0, 8(%r15)
	movb	$0, 16(%r15)
.Ltmp429:
	movl	$.L.str.8, %esi
	leaq	72(%rsp), %rdi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc
.Ltmp430:
# %bb.373:                              # %.noexc690
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %r15
	leaq	40(%rsp), %rdi
	movq	%rdi, 24(%rsp)
	movq	(%rax), %rsi
	movq	%rax, %r14
	addq	$16, %r14
	cmpq	%r14, %rsi
	je	.LBB4_375
# %bb.374:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i687
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rsi, 24(%rsp)
	movq	16(%r15), %rax
	movq	%rax, 40(%rsp)
	movq	8(%r15), %r13
	jmp	.LBB4_376
.LBB4_375:                              #   in Loop: Header=BB4_292 Depth=1
	movq	8(%r15), %r13
	leaq	1(%r13), %rdx
	callq	memcpy@PLT
.LBB4_376:                              #   in Loop: Header=BB4_292 Depth=1
	movq	%r13, 32(%rsp)
	movq	%r14, (%r15)
	movq	$0, 8(%r15)
	movb	$0, 16(%r15)
.Ltmp432:
	movq	%r12, %rdi
	leaq	24(%rsp), %rsi
	movl	$16, %edx
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode
.Ltmp433:
# %bb.377:                              #   in Loop: Header=BB4_292 Depth=1
	movq	24(%rsp), %rdi
	leaq	40(%rsp), %rax
	cmpq	%rax, %rdi
	movq	256(%rsp), %r14                 # 8-byte Reload
	je	.LBB4_379
# %bb.378:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i692
                                        #   in Loop: Header=BB4_292 Depth=1
	callq	_ZdlPv
.LBB4_379:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit694
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	72(%rsp), %rdi
	leaq	88(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_381
# %bb.380:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i695
                                        #   in Loop: Header=BB4_292 Depth=1
	callq	_ZdlPv
.LBB4_381:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit697
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	288(%rsp), %rdi
	leaq	304(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_383
# %bb.382:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i698
                                        #   in Loop: Header=BB4_292 Depth=1
	callq	_ZdlPv
.LBB4_383:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit700
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp435:
	movl	$.L.str.9, %esi
	movl	$83, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp436:
# %bb.384:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit702
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp437:
	movl	$.L.str.10, %esi
	movl	$6, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp438:
# %bb.385:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit704
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp439:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp440:
# %bb.386:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit706
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp441:
	movq	%r12, %rdi
	movl	%ebp, %esi
	callq	_ZNSolsEi
.Ltmp442:
# %bb.387:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp443:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp444:
# %bb.388:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit708
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp445:
	movl	$.L.str.11, %esi
	movl	$6, %edx
	movq	%r15, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp446:
# %bb.389:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit710
                                        #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	(%r15), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 16(%r15,%rax)
	je	.LBB4_391
# %bb.390:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp447:
	movl	$1, %edx
	movq	%r15, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp448:
	jmp	.LBB4_392
.LBB4_391:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp449:
	movq	%r15, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp450:
.LBB4_392:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit715
                                        #   in Loop: Header=BB4_292 Depth=1
	testl	%ebp, %ebp
	jle	.LBB4_403
# %bb.393:                              # %.lr.ph1192.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	xorl	%r13d, %r13d
.LBB4_394:                              # %.lr.ph1192
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	movl	480(%rsp,%rax), %ecx
	andl	%ebx, %ecx
	orl	$4, %ecx
	movl	%ecx, 480(%rsp,%rax)
	movq	112(%rsp), %rax
	movsd	(%rax,%r13), %xmm0              # xmm0 = mem[0],zero
.Ltmp451:
	movq	%r12, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp452:
# %bb.395:                              # %_ZNSolsEd.exit730
                                        #   in Loop: Header=BB4_394 Depth=2
.Ltmp453:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp454:
# %bb.396:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit732
                                        #   in Loop: Header=BB4_394 Depth=2
	movq	112(%rsp), %rax
	movsd	8(%rax,%r13), %xmm0             # xmm0 = mem[0],zero
.Ltmp455:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp456:
# %bb.397:                              # %_ZNSolsEd.exit734
                                        #   in Loop: Header=BB4_394 Depth=2
.Ltmp457:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp458:
# %bb.398:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit736
                                        #   in Loop: Header=BB4_394 Depth=2
	movq	112(%rsp), %rax
	movsd	16(%rax,%r13), %xmm0            # xmm0 = mem[0],zero
.Ltmp459:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp460:
# %bb.399:                              # %_ZNSolsEd.exit738
                                        #   in Loop: Header=BB4_394 Depth=2
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_401
# %bb.400:                              #   in Loop: Header=BB4_394 Depth=2
.Ltmp461:
	movl	$1, %edx
	movq	%r12, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp462:
	jmp	.LBB4_402
.LBB4_401:                              #   in Loop: Header=BB4_394 Depth=2
.Ltmp463:
	movq	%r12, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp464:
.LBB4_402:                              #   in Loop: Header=BB4_394 Depth=2
	addq	$24, %r13
	cmpq	%r13, %r14
	jne	.LBB4_394
.LBB4_403:                              # %._crit_edge1193
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp466:
	movl	$.L.str.12, %esi
	movl	$5, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp467:
# %bb.404:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit717
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp468:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp469:
# %bb.405:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit745
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp470:
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_ZNSolsEi
.Ltmp471:
# %bb.406:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp472:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp473:
# %bb.407:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit747
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp474:
	movq	%r15, %rdi
	xorl	%esi, %esi
	callq	_ZNSolsEi
.Ltmp475:
# %bb.408:                              #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_410
# %bb.409:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp476:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp477:
	jmp	.LBB4_411
.LBB4_410:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp478:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp479:
.LBB4_411:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp480:
	movl	$.L.str.13, %esi
	movl	$10, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp481:
# %bb.412:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit754
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp482:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp483:
# %bb.413:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit756
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp484:
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_ZNSolsEi
.Ltmp485:
# %bb.414:                              #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_416
# %bb.415:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp486:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp487:
	jmp	.LBB4_417
.LBB4_416:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp488:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp489:
.LBB4_417:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp490:
	movl	$.L.str.14, %esi
	movl	$10, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp491:
# %bb.418:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit763
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp492:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp493:
# %bb.419:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit765
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp494:
	movq	%r12, %rdi
	movl	%ebp, %esi
	callq	_ZNSolsEi
.Ltmp495:
# %bb.420:                              #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_422
# %bb.421:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp496:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp497:
	jmp	.LBB4_423
.LBB4_422:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp498:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp499:
.LBB4_423:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp500:
	movl	$.L.str.15, %esi
	movl	$7, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp501:
# %bb.424:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit772
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp502:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp503:
# %bb.425:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit774
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp504:
	movl	$.L.str.16, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp505:
# %bb.426:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit776
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp506:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp507:
# %bb.427:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit778
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp508:
	movl	$.L.str.11, %esi
	movl	$6, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp509:
# %bb.428:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit780
                                        #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_430
# %bb.429:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp510:
	movl	$1, %edx
	movq	%r12, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp511:
	jmp	.LBB4_431
.LBB4_430:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp512:
	movq	%r12, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp513:
.LBB4_431:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp514:
	movl	$.L.str.17, %esi
	movl	$12, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp515:
# %bb.432:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit787
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp516:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp517:
# %bb.433:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit789
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp518:
	movl	$.L.str.18, %esi
	movl	$7, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp519:
# %bb.434:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit791
                                        #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_436
# %bb.435:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp520:
	movl	$1, %edx
	movq	%r12, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp521:
	jmp	.LBB4_437
.LBB4_436:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp522:
	movq	%r12, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp523:
.LBB4_437:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit796
                                        #   in Loop: Header=BB4_292 Depth=1
	testl	%ebp, %ebp
	jle	.LBB4_444
# %bb.438:                              # %.lr.ph1195.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	xorl	%r14d, %r14d
.LBB4_439:                              # %.lr.ph1195
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	376(%rsp), %rax
	movl	(%rax,%r14,4), %esi
.Ltmp524:
	movq	%r12, %rdi
	callq	_ZNSolsEi
.Ltmp525:
# %bb.440:                              #   in Loop: Header=BB4_439 Depth=2
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_442
# %bb.441:                              #   in Loop: Header=BB4_439 Depth=2
.Ltmp526:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp527:
	jmp	.LBB4_443
.LBB4_442:                              #   in Loop: Header=BB4_439 Depth=2
.Ltmp528:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp529:
.LBB4_443:                              #   in Loop: Header=BB4_439 Depth=2
	incq	%r14
	cmpq	%r14, 64(%rsp)                  # 8-byte Folded Reload
	jne	.LBB4_439
.LBB4_444:                              # %._crit_edge1196
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp531:
	movl	$.L.str.19, %esi
	movl	$7, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp532:
	movq	256(%rsp), %r14                 # 8-byte Reload
# %bb.445:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit798
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp533:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp534:
# %bb.446:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit805
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp535:
	movl	$.L.str.20, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp536:
# %bb.447:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit807
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp537:
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp538:
# %bb.448:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit809
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp539:
	movl	$.L.str.11, %esi
	movl	$6, %edx
	movq	%r12, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp540:
# %bb.449:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit811
                                        #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_451
# %bb.450:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp541:
	movl	$1, %edx
	movq	%r12, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp542:
	jmp	.LBB4_452
.LBB4_451:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp543:
	movq	%r12, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp544:
.LBB4_452:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit816
                                        #   in Loop: Header=BB4_292 Depth=1
	testl	%ebp, %ebp
	jle	.LBB4_463
# %bb.453:                              # %.lr.ph1200.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	xorl	%r13d, %r13d
.LBB4_454:                              # %.lr.ph1200
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	152(%rsp), %rax
	movsd	(%rax,%r13), %xmm0              # xmm0 = mem[0],zero
.Ltmp545:
	movq	%r12, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp546:
# %bb.455:                              # %_ZNSolsEd.exit818
                                        #   in Loop: Header=BB4_454 Depth=2
.Ltmp547:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp548:
# %bb.456:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit820
                                        #   in Loop: Header=BB4_454 Depth=2
	movq	152(%rsp), %rax
	movsd	8(%rax,%r13), %xmm0             # xmm0 = mem[0],zero
.Ltmp549:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp550:
# %bb.457:                              # %_ZNSolsEd.exit822
                                        #   in Loop: Header=BB4_454 Depth=2
.Ltmp551:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp552:
# %bb.458:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit824
                                        #   in Loop: Header=BB4_454 Depth=2
	movq	152(%rsp), %rax
	movsd	16(%rax,%r13), %xmm0            # xmm0 = mem[0],zero
.Ltmp553:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp554:
# %bb.459:                              # %_ZNSolsEd.exit826
                                        #   in Loop: Header=BB4_454 Depth=2
	movb	$10, 24(%rsp)
	movq	456(%rsp), %rax
	movq	-24(%rax), %rax
	cmpq	$0, 472(%rsp,%rax)
	je	.LBB4_461
# %bb.460:                              #   in Loop: Header=BB4_454 Depth=2
.Ltmp555:
	movl	$1, %edx
	movq	%r12, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp556:
	jmp	.LBB4_462
.LBB4_461:                              #   in Loop: Header=BB4_454 Depth=2
.Ltmp557:
	movq	%r12, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp558:
.LBB4_462:                              #   in Loop: Header=BB4_454 Depth=2
	addq	$24, %r13
	cmpq	%r13, %r14
	jne	.LBB4_454
.LBB4_463:                              # %._crit_edge1201
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp560:
	movq	%r12, %rdi
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv
.Ltmp561:
	movq	16(%rsp), %r13                  # 8-byte Reload
# %bb.464:                              #   in Loop: Header=BB4_292 Depth=1
	incl	180(%rsp)                       # 4-byte Folded Spill
.LBB4_465:                              #   in Loop: Header=BB4_292 Depth=1
	testb	$1, 184(%rsp)                   # 1-byte Folded Reload
	je	.LBB4_516
# %bb.466:                              #   in Loop: Header=BB4_292 Depth=1
	movl	176(%rsp), %eax                 # 4-byte Reload
	movl	%eax, %r15d
	negl	%r15d
	cmovsl	%eax, %r15d
	movl	$1, %r13d
	cmpl	$10, %r15d
	jb	.LBB4_475
# %bb.467:                              # %.lr.ph.i.i832.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	movl	$4, %r13d
	movl	%r15d, %eax
	movl	$3518437209, %edx               # imm = 0xD1B71759
.LBB4_468:                              # %.lr.ph.i.i832
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	cmpl	$99, %eax
	jbe	.LBB4_473
# %bb.469:                              #   in Loop: Header=BB4_468 Depth=2
	cmpl	$999, %eax                      # imm = 0x3E7
	jbe	.LBB4_474
# %bb.470:                              #   in Loop: Header=BB4_468 Depth=2
	cmpl	$10000, %eax                    # imm = 0x2710
	jb	.LBB4_475
# %bb.471:                              #   in Loop: Header=BB4_468 Depth=2
	movl	%eax, %ecx
	imulq	%rdx, %rcx
	shrq	$45, %rcx
	addl	$4, %r13d
	cmpl	$99999, %eax                    # imm = 0x1869F
	movl	%ecx, %eax
	ja	.LBB4_468
# %bb.472:                              # %_ZNSt8__detail14__to_chars_lenIjEEjT_i.exit.i835.loopexit
                                        #   in Loop: Header=BB4_292 Depth=1
	addl	$-3, %r13d
	jmp	.LBB4_475
.LBB4_473:                              #   in Loop: Header=BB4_292 Depth=1
	addl	$-2, %r13d
	jmp	.LBB4_475
.LBB4_474:                              #   in Loop: Header=BB4_292 Depth=1
	decl	%r13d
.LBB4_475:                              # %_ZNSt8__detail14__to_chars_lenIjEEjT_i.exit.i835
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rbp, %rbx
	movl	176(%rsp), %eax                 # 4-byte Reload
	movl	%eax, %r14d
	shrl	$31, %r14d
	leal	(%r14,%r13), %esi
	leaq	304(%rsp), %rax
	movq	%rax, 288(%rsp)
.Ltmp562:
	leaq	288(%rsp), %rbp
	movq	%rbp, %rdi
	movl	$45, %edx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc
.Ltmp563:
# %bb.476:                              # %_ZNSt7__cxx119to_stringEi.exit838
                                        #   in Loop: Header=BB4_292 Depth=1
	movl	%r14d, %edi
	addq	288(%rsp), %rdi
	movl	%r13d, %esi
	movl	%r15d, %edx
	callq	_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_
	movq	208(%rsp), %rcx
	movq	216(%rsp), %r8
.Ltmp565:
	movq	%rbp, %rdi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm
.Ltmp566:
# %bb.477:                              # %.noexc842
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %r15
	leaq	88(%rsp), %rdi
	movq	%rdi, 72(%rsp)
	movq	(%rax), %rsi
	movq	%rax, %r14
	addq	$16, %r14
	cmpq	%r14, %rsi
	movq	%rbx, %rbp
	je	.LBB4_479
# %bb.478:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i839
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rsi, 72(%rsp)
	movq	16(%r15), %rax
	movq	%rax, 88(%rsp)
	movq	8(%r15), %r13
	jmp	.LBB4_480
.LBB4_479:                              #   in Loop: Header=BB4_292 Depth=1
	movq	8(%r15), %r13
	leaq	1(%r13), %rdx
	callq	memcpy@PLT
.LBB4_480:                              #   in Loop: Header=BB4_292 Depth=1
	movl	$-261, %ebx                     # imm = 0xFEFB
	movq	%r13, 80(%rsp)
	movq	%r14, (%r15)
	movq	$0, 8(%r15)
	movb	$0, 16(%r15)
.Ltmp568:
	movl	$.L.str.21, %esi
	leaq	72(%rsp), %rdi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc
.Ltmp569:
# %bb.481:                              # %.noexc847
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rax, %r15
	leaq	40(%rsp), %rdi
	movq	%rdi, 24(%rsp)
	movq	(%rax), %rsi
	movq	%rax, %r14
	addq	$16, %r14
	cmpq	%r14, %rsi
	je	.LBB4_483
# %bb.482:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i844
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	%rsi, 24(%rsp)
	movq	16(%r15), %rax
	movq	%rax, 40(%rsp)
	movq	8(%r15), %r13
	jmp	.LBB4_484
.LBB4_483:                              #   in Loop: Header=BB4_292 Depth=1
	movq	8(%r15), %r13
	leaq	1(%r13), %rdx
	callq	memcpy@PLT
.LBB4_484:                              #   in Loop: Header=BB4_292 Depth=1
	movq	%r13, 32(%rsp)
	movq	%r14, (%r15)
	movq	$0, 8(%r15)
	movb	$0, 16(%r15)
.Ltmp571:
	movq	%r12, %rdi
	leaq	24(%rsp), %rsi
	movl	$16, %edx
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode
.Ltmp572:
# %bb.485:                              #   in Loop: Header=BB4_292 Depth=1
	movq	24(%rsp), %rdi
	leaq	40(%rsp), %rax
	cmpq	%rax, %rdi
	movq	256(%rsp), %r14                 # 8-byte Reload
	je	.LBB4_487
# %bb.486:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i849
                                        #   in Loop: Header=BB4_292 Depth=1
	callq	_ZdlPv
.LBB4_487:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit851
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	72(%rsp), %rdi
	leaq	88(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_489
# %bb.488:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i852
                                        #   in Loop: Header=BB4_292 Depth=1
	callq	_ZdlPv
.LBB4_489:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit854
                                        #   in Loop: Header=BB4_292 Depth=1
	movq	288(%rsp), %rdi
	leaq	304(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_491
# %bb.490:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i855
                                        #   in Loop: Header=BB4_292 Depth=1
	callq	_ZdlPv
.LBB4_491:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit857
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp574:
	movq	%r12, %rdi
	movl	%ebp, %esi
	callq	_ZNSolsEi
.Ltmp575:
# %bb.492:                              #   in Loop: Header=BB4_292 Depth=1
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_494
# %bb.493:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp576:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp577:
	jmp	.LBB4_495
.LBB4_494:                              #   in Loop: Header=BB4_292 Depth=1
.Ltmp578:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp579:
.LBB4_495:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit862
                                        #   in Loop: Header=BB4_292 Depth=1
	testl	%ebp, %ebp
	jle	.LBB4_514
# %bb.496:                              # %.lr.ph1203.preheader
                                        #   in Loop: Header=BB4_292 Depth=1
	xorl	%r13d, %r13d
	xorl	%ebp, %ebp
.LBB4_497:                              # %.lr.ph1203
                                        #   Parent Loop BB4_292 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	376(%rsp), %rax
	movl	(%rax,%r13), %esi
.Ltmp580:
	movq	%r12, %rdi
	callq	_ZNSolsEi
.Ltmp581:
# %bb.498:                              #   in Loop: Header=BB4_497 Depth=2
.Ltmp582:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp583:
# %bb.499:                              #   in Loop: Header=BB4_497 Depth=2
	movq	(%r15), %rax
	movq	-24(%rax), %rax
	movl	24(%r15,%rax), %ecx
	andl	%ebx, %ecx
	orl	$4, %ecx
	movl	%ecx, 24(%r15,%rax)
	movq	112(%rsp), %rax
	movsd	(%rax,%rbp), %xmm0              # xmm0 = mem[0],zero
.Ltmp584:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp585:
# %bb.500:                              # %_ZNSolsEd.exit877
                                        #   in Loop: Header=BB4_497 Depth=2
.Ltmp586:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp587:
# %bb.501:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit879
                                        #   in Loop: Header=BB4_497 Depth=2
	movq	112(%rsp), %rax
	movsd	8(%rax,%rbp), %xmm0             # xmm0 = mem[0],zero
.Ltmp588:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp589:
# %bb.502:                              # %_ZNSolsEd.exit881
                                        #   in Loop: Header=BB4_497 Depth=2
.Ltmp590:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp591:
# %bb.503:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit883
                                        #   in Loop: Header=BB4_497 Depth=2
	movq	112(%rsp), %rax
	movsd	16(%rax,%rbp), %xmm0            # xmm0 = mem[0],zero
.Ltmp592:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp593:
# %bb.504:                              # %_ZNSolsEd.exit885
                                        #   in Loop: Header=BB4_497 Depth=2
.Ltmp594:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp595:
# %bb.505:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit887
                                        #   in Loop: Header=BB4_497 Depth=2
	movq	152(%rsp), %rax
	movsd	(%rax,%rbp), %xmm0              # xmm0 = mem[0],zero
.Ltmp596:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp597:
# %bb.506:                              # %_ZNSolsEd.exit889
                                        #   in Loop: Header=BB4_497 Depth=2
.Ltmp598:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp599:
# %bb.507:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit891
                                        #   in Loop: Header=BB4_497 Depth=2
	movq	152(%rsp), %rax
	movsd	8(%rax,%rbp), %xmm0             # xmm0 = mem[0],zero
.Ltmp600:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp601:
# %bb.508:                              # %_ZNSolsEd.exit893
                                        #   in Loop: Header=BB4_497 Depth=2
.Ltmp602:
	movq	%rax, %r15
	movl	$.L.str.4, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp603:
# %bb.509:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit895
                                        #   in Loop: Header=BB4_497 Depth=2
	movq	152(%rsp), %rax
	movsd	16(%rax,%rbp), %xmm0            # xmm0 = mem[0],zero
.Ltmp604:
	movq	%r15, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp605:
# %bb.510:                              # %_ZNSolsEd.exit897
                                        #   in Loop: Header=BB4_497 Depth=2
	movb	$10, 24(%rsp)
	movq	(%rax), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	.LBB4_512
# %bb.511:                              #   in Loop: Header=BB4_497 Depth=2
.Ltmp606:
	movl	$1, %edx
	movq	%rax, %rdi
	leaq	24(%rsp), %rsi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp607:
	jmp	.LBB4_513
.LBB4_512:                              #   in Loop: Header=BB4_497 Depth=2
.Ltmp608:
	movq	%rax, %rdi
	movl	$10, %esi
	callq	_ZNSo3putEc
.Ltmp609:
.LBB4_513:                              #   in Loop: Header=BB4_497 Depth=2
	addq	$24, %rbp
	addq	$4, %r13
	cmpq	%rbp, %r14
	jne	.LBB4_497
.LBB4_514:                              # %._crit_edge1204
                                        #   in Loop: Header=BB4_292 Depth=1
.Ltmp611:
	movq	%r12, %rdi
	callq	_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv
.Ltmp612:
	movq	16(%rsp), %r13                  # 8-byte Reload
# %bb.515:                              #   in Loop: Header=BB4_292 Depth=1
	incl	176(%rsp)                       # 4-byte Folded Spill
.LBB4_516:                              #   in Loop: Header=BB4_292 Depth=1
	incl	136(%rsp)                       # 4-byte Folded Spill
	movsd	280(%rsp), %xmm1                # 8-byte Reload
                                        # xmm1 = mem[0],zero
	addsd	264(%rsp), %xmm1                # 8-byte Folded Reload
	incl	252(%rsp)                       # 4-byte Folded Spill
	movsd	360(%rsp), %xmm0                # 8-byte Reload
                                        # xmm0 = mem[0],zero
	movsd	%xmm1, 280(%rsp)                # 8-byte Spill
	ucomisd	%xmm1, %xmm0
	ja	.LBB4_292
.LBB4_517:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit
	movq	_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE(%rip), %rax
	leaq	464(%rsp), %rdi
	movq	%rax, -8(%rdi)
	movq	_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE+24(%rip), %rcx
	movq	-24(%rax), %rax
	movq	%rcx, 456(%rsp,%rax)
	callq	_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev
	leaq	704(%rsp), %rdi
	callq	_ZNSt8ios_baseD2Ev
	movq	400(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_519
# %bb.518:
	callq	_ZdlPv
.LBB4_519:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit904
	movq	336(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_521
# %bb.520:
	callq	_ZdlPv
.LBB4_521:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit906
	movq	208(%rsp), %rdi
	leaq	224(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_523
# %bb.522:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i907
	callq	_ZdlPv
.LBB4_523:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit909
	movq	152(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_525
# %bb.524:
	callq	_ZdlPv
.LBB4_525:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit911
	movq	112(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_527
# %bb.526:
	callq	_ZdlPv
.LBB4_527:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit913
	movq	376(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_529
# %bb.528:
	callq	_ZdlPv
.LBB4_529:                              # %_ZNSt6vectorIiSaIiEED2Ev.exit
	leaq	968(%rsp), %rdi
	callq	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev
	leaq	1488(%rsp), %rdi
	callq	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev
	xorl	%eax, %eax
	addq	$2008, %rsp                     # imm = 0x7D8
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.LBB4_530:
	.cfi_def_cfa_offset 2064
.Ltmp648:
	movl	$.L.str.27, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp649:
# %bb.531:
.LBB4_532:                              # %.critedge.i.i353
.Ltmp646:
	movl	$.L.str.27, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp647:
# %bb.533:
.LBB4_534:
.Ltmp621:
	movl	$.L.str.27, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp622:
# %bb.535:
.LBB4_536:
.Ltmp631:
	movl	$.L.str.27, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp632:
# %bb.537:
.LBB4_538:                              # %.critedge.i.i626
.Ltmp629:
	movl	$.L.str.27, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp630:
# %bb.539:
.LBB4_540:
.Ltmp626:
	movl	$.L.str.27, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp627:
# %bb.541:
.LBB4_542:                              # %.critedge.i.i632
.Ltmp624:
	movl	$.L.str.27, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp625:
# %bb.543:
.LBB4_544:                              # %.critedge.i.i638
.Ltmp619:
	movl	$.L.str.27, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp620:
# %bb.545:
.LBB4_546:
.Ltmp616:
	movl	$.L.str.27, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp617:
# %bb.547:
.LBB4_548:                              # %.critedge.i.i644
.Ltmp614:
	movl	$.L.str.27, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp615:
# %bb.549:
.LBB4_550:
.Ltmp86:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp87:
# %bb.551:
.LBB4_552:
.Ltmp89:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp90:
# %bb.553:
.LBB4_554:
.Ltmp83:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp84:
# %bb.555:
.LBB4_556:
.Ltmp68:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp69:
# %bb.557:
.LBB4_558:
.Ltmp74:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp75:
# %bb.559:
.LBB4_560:
.Ltmp71:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp72:
# %bb.561:
.LBB4_562:                              # %.critedge.i.i371
.Ltmp77:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp78:
# %bb.563:
.LBB4_564:                              # %.critedge.i.i376
.Ltmp79:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp80:
# %bb.565:
.LBB4_566:                              # %.critedge.i.i381
.Ltmp81:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp82:
# %bb.567:
.LBB4_568:                              # %.critedge.i.i358
.Ltmp62:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp63:
# %bb.569:
.LBB4_570:                              # %.critedge.i.i361
.Ltmp64:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp65:
# %bb.571:
.LBB4_572:                              # %.critedge.i.i366
.Ltmp66:
	movl	$.L.str.28, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp67:
# %bb.573:
.LBB4_574:
.Ltmp653:
	movl	$.L.str.27, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp654:
# %bb.575:
.LBB4_576:                              # %.critedge.i.i
.Ltmp651:
	movl	$.L.str.27, %edi
	callq	_ZSt20__throw_out_of_rangePKc
.Ltmp652:
# %bb.577:
.LBB4_578:
.Ltmp643:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp644:
# %bb.579:
.LBB4_580:
.Ltmp640:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp641:
# %bb.581:
.LBB4_582:
.Ltmp637:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp638:
# %bb.583:
.LBB4_584:
.Ltmp634:
	movl	$.L.str.28, %edi
	callq	_ZSt24__throw_invalid_argumentPKc
.Ltmp635:
# %bb.585:
.LBB4_586:
.Ltmp318:
	jmp	.LBB4_589
.LBB4_587:
.Ltmp315:
	jmp	.LBB4_617
.LBB4_588:
.Ltmp178:
.LBB4_589:
	movq	%rax, %r13
	movq	24(%rsp), %rdi
	leaq	40(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_618
# %bb.590:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i456
	callq	_ZdlPv
	jmp	.LBB4_618
.LBB4_591:
.Ltmp175:
	jmp	.LBB4_617
.LBB4_592:
.Ltmp165:
	jmp	.LBB4_595
.LBB4_593:
.Ltmp140:
	jmp	.LBB4_595
.LBB4_594:
.Ltmp137:
	jmp	.LBB4_595
.LBB4_596:
.Ltmp105:
	movq	%rax, %r13
	jmp	.LBB4_695
.LBB4_597:
.Ltmp102:
	movq	%rax, %r13
	jmp	.LBB4_697
.LBB4_598:
.Ltmp61:
	movq	%rax, %r13
	jmp	.LBB4_699
.LBB4_599:
.Ltmp58:
	movq	%rax, %r13
	jmp	.LBB4_701
.LBB4_600:
.Ltmp55:
	jmp	.LBB4_612
.LBB4_601:
.Ltmp52:
	jmp	.LBB4_612
.LBB4_602:
.Ltmp16:
	jmp	.LBB4_614
.LBB4_603:
.Ltmp636:
	jmp	.LBB4_665
.LBB4_604:
.Ltmp639:
	jmp	.LBB4_607
.LBB4_605:
.Ltmp642:
	jmp	.LBB4_665
.LBB4_606:
.Ltmp645:
.LBB4_607:
	movq	%rax, %r13
	movq	16(%rsp), %rax                  # 8-byte Reload
	cmpl	$0, (%rax)
	jne	.LBB4_697
# %bb.608:
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%ebp, (%rax)
	jmp	.LBB4_697
.LBB4_609:
.Ltmp655:
	movq	%rax, %r13
	movq	16(%rsp), %rax                  # 8-byte Reload
	cmpl	$0, (%rax)
	jne	.LBB4_703
# %bb.610:
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%ebx, (%rax)
	jmp	.LBB4_703
.LBB4_611:
.Ltmp25:
	jmp	.LBB4_612
.LBB4_613:
.Ltmp8:
.LBB4_614:
	movq	%rax, %r13
	jmp	.LBB4_704
.LBB4_615:
.Ltmp312:
	jmp	.LBB4_617
.LBB4_616:
.Ltmp172:
.LBB4_617:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit458
	movq	%rax, %r13
.LBB4_618:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit458
	movq	72(%rsp), %rdi
	leaq	88(%rsp), %rax
	jmp	.LBB4_639
.LBB4_619:
.Ltmp162:
	jmp	.LBB4_595
.LBB4_620:
.Ltmp73:
	jmp	.LBB4_646
.LBB4_621:
.Ltmp70:
	jmp	.LBB4_643
.LBB4_622:
.Ltmp76:
	jmp	.LBB4_643
.LBB4_623:
.Ltmp564:
	jmp	.LBB4_633
.LBB4_624:
.Ltmp570:
	jmp	.LBB4_635
.LBB4_625:
.Ltmp567:
	jmp	.LBB4_628
.LBB4_626:
.Ltmp573:
	jmp	.LBB4_630
.LBB4_627:
.Ltmp428:
.LBB4_628:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit723
	movq	%rax, %r13
	jmp	.LBB4_638
.LBB4_629:
.Ltmp434:
.LBB4_630:
	movq	%rax, %r13
	movq	24(%rsp), %rdi
	leaq	40(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_636
# %bb.631:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i718
	callq	_ZdlPv
	jmp	.LBB4_636
.LBB4_632:
.Ltmp425:
.LBB4_633:
	movq	%rax, %rdi
	callq	__clang_call_terminate
.LBB4_634:
.Ltmp431:
.LBB4_635:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit720
	movq	%rax, %r13
.LBB4_636:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit720
	movq	72(%rsp), %rdi
	leaq	88(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_638
# %bb.637:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i721
	callq	_ZdlPv
.LBB4_638:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit723
	movq	288(%rsp), %rdi
	leaq	304(%rsp), %rax
.LBB4_639:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit458
	cmpq	%rax, %rdi
	je	.LBB4_690
# %bb.640:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i459
	callq	_ZdlPv
	jmp	.LBB4_690
.LBB4_641:
.Ltmp85:
	jmp	.LBB4_643
.LBB4_642:
.Ltmp91:
.LBB4_643:
	movq	%rax, %r13
	movq	16(%rsp), %rax                  # 8-byte Reload
	cmpl	$0, (%rax)
	jne	.LBB4_697
# %bb.644:
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%r12d, (%rax)
	jmp	.LBB4_697
.LBB4_645:
.Ltmp88:
.LBB4_646:
	movq	%rax, %r13
	movq	16(%rsp), %rax                  # 8-byte Reload
	cmpl	$0, (%rax)
	jne	.LBB4_697
# %bb.647:
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	64(%rsp), %ecx                  # 4-byte Reload
	movl	%ecx, (%rax)
	jmp	.LBB4_697
.LBB4_648:
.Ltmp134:
	movq	%rax, %r13
	jmp	.LBB4_693
.LBB4_649:
.Ltmp658:
	jmp	.LBB4_660
.LBB4_650:
.Ltmp666:
	jmp	.LBB4_662
.LBB4_651:
.Ltmp618:
	jmp	.LBB4_654
.LBB4_652:
.Ltmp633:
	jmp	.LBB4_657
.LBB4_653:
.Ltmp623:
.LBB4_654:
	movq	%rax, %r13
	movq	16(%rsp), %rax                  # 8-byte Reload
	cmpl	$0, (%rax)
	jne	.LBB4_690
# %bb.655:
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%r14d, (%rax)
	jmp	.LBB4_690
.LBB4_656:
.Ltmp628:
.LBB4_657:
	movq	%rax, %r13
	movq	16(%rsp), %rax                  # 8-byte Reload
	cmpl	$0, (%rax)
	jne	.LBB4_690
# %bb.658:
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%ebp, (%rax)
	jmp	.LBB4_690
.LBB4_659:
.Ltmp30:
.LBB4_660:
	movq	%rax, %r13
	jmp	.LBB4_682
.LBB4_661:
.Ltmp13:
.LBB4_662:
	movq	%rax, %r13
	jmp	.LBB4_686
.LBB4_663:
.Ltmp274:
	jmp	.LBB4_689
.LBB4_664:
.Ltmp650:
.LBB4_665:
	movq	%rax, %r13
	movq	16(%rsp), %rax                  # 8-byte Reload
	cmpl	$0, (%rax)
	jne	.LBB4_697
# %bb.666:
	movq	16(%rsp), %rax                  # 8-byte Reload
	movl	%ebx, (%rax)
	jmp	.LBB4_697
.LBB4_667:                              # %.loopexit.split-lp
.Ltmp358:
	jmp	.LBB4_689
.LBB4_668:
.Ltmp155:
.LBB4_595:
	movq	%rax, %r13
	jmp	.LBB4_691
.LBB4_669:
.Ltmp303:
	jmp	.LBB4_689
.LBB4_670:
.Ltmp209:
	jmp	.LBB4_689
.LBB4_671:
.Ltmp49:
.LBB4_612:                              # %.body
	movq	%rax, %r13
	jmp	.LBB4_703
.LBB4_672:
.Ltmp355:
	jmp	.LBB4_689
.LBB4_673:
.Ltmp530:
	jmp	.LBB4_689
.LBB4_674:
.Ltmp416:
	jmp	.LBB4_689
.LBB4_675:
.Ltmp385:
	jmp	.LBB4_689
.LBB4_676:                              # %.loopexit
.Ltmp613:
	jmp	.LBB4_689
.LBB4_677:
.Ltmp559:
	jmp	.LBB4_689
.LBB4_678:
.Ltmp465:
	jmp	.LBB4_689
.LBB4_679:
.Ltmp663:
	movq	%rax, %r13
	movq	24(%rsp), %rdi
	cmpq	%rbp, %rdi
	je	.LBB4_681
# %bb.680:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i325
	callq	_ZdlPv
.LBB4_681:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit327
	leaq	456(%rsp), %rdi
	movl	$_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, %esi
	callq	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev
	movq	%r15, %rdi
	callq	_ZNSt8ios_baseD2Ev
.LBB4_682:
	movq	208(%rsp), %rdi
	leaq	224(%rsp), %rax
	cmpq	%rax, %rdi
	jne	.LBB4_702
	jmp	.LBB4_703
.LBB4_683:
.Ltmp671:
	movq	%rax, %r13
	movq	208(%rsp), %rdi
	cmpq	%rbp, %rdi
	je	.LBB4_685
# %bb.684:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i
	callq	_ZdlPv
.LBB4_685:                              # %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit
	leaq	968(%rsp), %rdi
	movl	$_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, %esi
	callq	_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev
	movq	%rbx, %rdi
	callq	_ZNSt8ios_baseD2Ev
.LBB4_686:
	movq	456(%rsp), %rdi
	leaq	472(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_704
# %bb.687:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i315
	callq	_ZdlPv
	jmp	.LBB4_704
.LBB4_688:
.Ltmp610:
.LBB4_689:                              # %.body628
	movq	%rax, %r13
.LBB4_690:                              # %.body628
	movq	_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE(%rip), %rax
	leaq	464(%rsp), %rdi
	movq	%rax, -8(%rdi)
	movq	_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE+24(%rip), %rcx
	movq	-24(%rax), %rax
	movq	%rcx, 456(%rsp,%rax)
	callq	_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev
	leaq	704(%rsp), %rdi
	callq	_ZNSt8ios_baseD2Ev
.LBB4_691:
	movq	400(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_693
# %bb.692:
	callq	_ZdlPv
.LBB4_693:
	movq	336(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_695
# %bb.694:
	callq	_ZdlPv
.LBB4_695:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit920
	movq	208(%rsp), %rdi
	leaq	224(%rsp), %rax
	cmpq	%rax, %rdi
	je	.LBB4_697
# %bb.696:                              # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i921
	callq	_ZdlPv
.LBB4_697:                              # %.body355
	movq	152(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_699
# %bb.698:
	callq	_ZdlPv
.LBB4_699:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit925
	movq	112(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_701
# %bb.700:
	callq	_ZdlPv
.LBB4_701:                              # %_ZNSt6vectorIdSaIdEED2Ev.exit927
	movq	376(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB4_703
.LBB4_702:
	callq	_ZdlPv
.LBB4_703:                              # %.body
	leaq	968(%rsp), %rdi
	callq	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev
.LBB4_704:
	leaq	1488(%rsp), %rdi
	callq	_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev
	movq	%r13, %rdi
	callq	_Unwind_Resume@PLT
.Lfunc_end4:
	.size	main, .Lfunc_end4-main
	.cfi_endproc
	.section	.gcc_except_table,"a",@progbits
	.p2align	2, 0x0
GCC_except_table4:
.Lexception0:
	.byte	255                             # @LPStart Encoding = omit
	.byte	3                               # @TType Encoding = udata4
	.uleb128 .Lttbase0-.Lttbaseref0
.Lttbaseref0:
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end0-.Lcst_begin0
.Lcst_begin0:
	.uleb128 .Lfunc_begin0-.Lfunc_begin0    # >> Call Site 1 <<
	.uleb128 .Ltmp9-.Lfunc_begin0           #   Call between .Lfunc_begin0 and .Ltmp9
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp9-.Lfunc_begin0           # >> Call Site 2 <<
	.uleb128 .Ltmp12-.Ltmp9                 #   Call between .Ltmp9 and .Ltmp12
	.uleb128 .Ltmp13-.Lfunc_begin0          #     jumps to .Ltmp13
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp664-.Lfunc_begin0         # >> Call Site 3 <<
	.uleb128 .Ltmp665-.Ltmp664              #   Call between .Ltmp664 and .Ltmp665
	.uleb128 .Ltmp666-.Lfunc_begin0         #     jumps to .Ltmp666
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp667-.Lfunc_begin0         # >> Call Site 4 <<
	.uleb128 .Ltmp670-.Ltmp667              #   Call between .Ltmp667 and .Ltmp670
	.uleb128 .Ltmp671-.Lfunc_begin0         #     jumps to .Ltmp671
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp0-.Lfunc_begin0           # >> Call Site 5 <<
	.uleb128 .Ltmp7-.Ltmp0                  #   Call between .Ltmp0 and .Ltmp7
	.uleb128 .Ltmp8-.Lfunc_begin0           #     jumps to .Ltmp8
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp14-.Lfunc_begin0          # >> Call Site 6 <<
	.uleb128 .Ltmp15-.Ltmp14                #   Call between .Ltmp14 and .Ltmp15
	.uleb128 .Ltmp16-.Lfunc_begin0          #     jumps to .Ltmp16
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp26-.Lfunc_begin0          # >> Call Site 7 <<
	.uleb128 .Ltmp29-.Ltmp26                #   Call between .Ltmp26 and .Ltmp29
	.uleb128 .Ltmp30-.Lfunc_begin0          #     jumps to .Ltmp30
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp656-.Lfunc_begin0         # >> Call Site 8 <<
	.uleb128 .Ltmp657-.Ltmp656              #   Call between .Ltmp656 and .Ltmp657
	.uleb128 .Ltmp658-.Lfunc_begin0         #     jumps to .Ltmp658
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp659-.Lfunc_begin0         # >> Call Site 9 <<
	.uleb128 .Ltmp662-.Ltmp659              #   Call between .Ltmp659 and .Ltmp662
	.uleb128 .Ltmp663-.Lfunc_begin0         #     jumps to .Ltmp663
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp17-.Lfunc_begin0          # >> Call Site 10 <<
	.uleb128 .Ltmp24-.Ltmp17                #   Call between .Ltmp17 and .Ltmp24
	.uleb128 .Ltmp25-.Lfunc_begin0          #     jumps to .Ltmp25
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp31-.Lfunc_begin0          # >> Call Site 11 <<
	.uleb128 .Ltmp48-.Ltmp31                #   Call between .Ltmp31 and .Ltmp48
	.uleb128 .Ltmp49-.Lfunc_begin0          #     jumps to .Ltmp49
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp50-.Lfunc_begin0          # >> Call Site 12 <<
	.uleb128 .Ltmp51-.Ltmp50                #   Call between .Ltmp50 and .Ltmp51
	.uleb128 .Ltmp52-.Lfunc_begin0          #     jumps to .Ltmp52
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp53-.Lfunc_begin0          # >> Call Site 13 <<
	.uleb128 .Ltmp54-.Ltmp53                #   Call between .Ltmp53 and .Ltmp54
	.uleb128 .Ltmp55-.Lfunc_begin0          #     jumps to .Ltmp55
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp56-.Lfunc_begin0          # >> Call Site 14 <<
	.uleb128 .Ltmp57-.Ltmp56                #   Call between .Ltmp56 and .Ltmp57
	.uleb128 .Ltmp58-.Lfunc_begin0          #     jumps to .Ltmp58
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp59-.Lfunc_begin0          # >> Call Site 15 <<
	.uleb128 .Ltmp60-.Ltmp59                #   Call between .Ltmp59 and .Ltmp60
	.uleb128 .Ltmp61-.Lfunc_begin0          #     jumps to .Ltmp61
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp92-.Lfunc_begin0          # >> Call Site 16 <<
	.uleb128 .Ltmp93-.Ltmp92                #   Call between .Ltmp92 and .Ltmp93
	.uleb128 .Ltmp645-.Lfunc_begin0         #     jumps to .Ltmp645
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp94-.Lfunc_begin0          # >> Call Site 17 <<
	.uleb128 .Ltmp95-.Ltmp94                #   Call between .Ltmp94 and .Ltmp95
	.uleb128 .Ltmp642-.Lfunc_begin0         #     jumps to .Ltmp642
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp96-.Lfunc_begin0          # >> Call Site 18 <<
	.uleb128 .Ltmp97-.Ltmp96                #   Call between .Ltmp96 and .Ltmp97
	.uleb128 .Ltmp639-.Lfunc_begin0         #     jumps to .Ltmp639
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp98-.Lfunc_begin0          # >> Call Site 19 <<
	.uleb128 .Ltmp99-.Ltmp98                #   Call between .Ltmp98 and .Ltmp99
	.uleb128 .Ltmp636-.Lfunc_begin0         #     jumps to .Ltmp636
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp100-.Lfunc_begin0         # >> Call Site 20 <<
	.uleb128 .Ltmp101-.Ltmp100              #   Call between .Ltmp100 and .Ltmp101
	.uleb128 .Ltmp102-.Lfunc_begin0         #     jumps to .Ltmp102
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp103-.Lfunc_begin0         # >> Call Site 21 <<
	.uleb128 .Ltmp104-.Ltmp103              #   Call between .Ltmp103 and .Ltmp104
	.uleb128 .Ltmp105-.Lfunc_begin0         #     jumps to .Ltmp105
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp106-.Lfunc_begin0         # >> Call Site 22 <<
	.uleb128 .Ltmp133-.Ltmp106              #   Call between .Ltmp106 and .Ltmp133
	.uleb128 .Ltmp134-.Lfunc_begin0         #     jumps to .Ltmp134
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp135-.Lfunc_begin0         # >> Call Site 23 <<
	.uleb128 .Ltmp136-.Ltmp135              #   Call between .Ltmp135 and .Ltmp136
	.uleb128 .Ltmp137-.Lfunc_begin0         #     jumps to .Ltmp137
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp138-.Lfunc_begin0         # >> Call Site 24 <<
	.uleb128 .Ltmp139-.Ltmp138              #   Call between .Ltmp138 and .Ltmp139
	.uleb128 .Ltmp140-.Lfunc_begin0         #     jumps to .Ltmp140
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp141-.Lfunc_begin0         # >> Call Site 25 <<
	.uleb128 .Ltmp146-.Ltmp141              #   Call between .Ltmp141 and .Ltmp146
	.uleb128 .Ltmp162-.Lfunc_begin0         #     jumps to .Ltmp162
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp147-.Lfunc_begin0         # >> Call Site 26 <<
	.uleb128 .Ltmp154-.Ltmp147              #   Call between .Ltmp147 and .Ltmp154
	.uleb128 .Ltmp155-.Lfunc_begin0         #     jumps to .Ltmp155
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp156-.Lfunc_begin0         # >> Call Site 27 <<
	.uleb128 .Ltmp161-.Ltmp156              #   Call between .Ltmp156 and .Ltmp161
	.uleb128 .Ltmp162-.Lfunc_begin0         #     jumps to .Ltmp162
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp163-.Lfunc_begin0         # >> Call Site 28 <<
	.uleb128 .Ltmp164-.Ltmp163              #   Call between .Ltmp163 and .Ltmp164
	.uleb128 .Ltmp165-.Lfunc_begin0         #     jumps to .Ltmp165
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp166-.Lfunc_begin0         # >> Call Site 29 <<
	.uleb128 .Ltmp171-.Ltmp166              #   Call between .Ltmp166 and .Ltmp171
	.uleb128 .Ltmp172-.Lfunc_begin0         #     jumps to .Ltmp172
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp173-.Lfunc_begin0         # >> Call Site 30 <<
	.uleb128 .Ltmp174-.Ltmp173              #   Call between .Ltmp173 and .Ltmp174
	.uleb128 .Ltmp175-.Lfunc_begin0         #     jumps to .Ltmp175
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp174-.Lfunc_begin0         # >> Call Site 31 <<
	.uleb128 .Ltmp176-.Ltmp174              #   Call between .Ltmp174 and .Ltmp176
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp176-.Lfunc_begin0         # >> Call Site 32 <<
	.uleb128 .Ltmp177-.Ltmp176              #   Call between .Ltmp176 and .Ltmp177
	.uleb128 .Ltmp178-.Lfunc_begin0         #     jumps to .Ltmp178
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp179-.Lfunc_begin0         # >> Call Site 33 <<
	.uleb128 .Ltmp194-.Ltmp179              #   Call between .Ltmp179 and .Ltmp194
	.uleb128 .Ltmp358-.Lfunc_begin0         #     jumps to .Ltmp358
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp195-.Lfunc_begin0         # >> Call Site 34 <<
	.uleb128 .Ltmp208-.Ltmp195              #   Call between .Ltmp195 and .Ltmp208
	.uleb128 .Ltmp209-.Lfunc_begin0         #     jumps to .Ltmp209
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp210-.Lfunc_begin0         # >> Call Site 35 <<
	.uleb128 .Ltmp267-.Ltmp210              #   Call between .Ltmp210 and .Ltmp267
	.uleb128 .Ltmp358-.Lfunc_begin0         #     jumps to .Ltmp358
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp268-.Lfunc_begin0         # >> Call Site 36 <<
	.uleb128 .Ltmp273-.Ltmp268              #   Call between .Ltmp268 and .Ltmp273
	.uleb128 .Ltmp274-.Lfunc_begin0         #     jumps to .Ltmp274
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp275-.Lfunc_begin0         # >> Call Site 37 <<
	.uleb128 .Ltmp288-.Ltmp275              #   Call between .Ltmp275 and .Ltmp288
	.uleb128 .Ltmp358-.Lfunc_begin0         #     jumps to .Ltmp358
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp289-.Lfunc_begin0         # >> Call Site 38 <<
	.uleb128 .Ltmp302-.Ltmp289              #   Call between .Ltmp289 and .Ltmp302
	.uleb128 .Ltmp303-.Lfunc_begin0         #     jumps to .Ltmp303
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp304-.Lfunc_begin0         # >> Call Site 39 <<
	.uleb128 .Ltmp305-.Ltmp304              #   Call between .Ltmp304 and .Ltmp305
	.uleb128 .Ltmp358-.Lfunc_begin0         #     jumps to .Ltmp358
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp306-.Lfunc_begin0         # >> Call Site 40 <<
	.uleb128 .Ltmp311-.Ltmp306              #   Call between .Ltmp306 and .Ltmp311
	.uleb128 .Ltmp312-.Lfunc_begin0         #     jumps to .Ltmp312
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp313-.Lfunc_begin0         # >> Call Site 41 <<
	.uleb128 .Ltmp314-.Ltmp313              #   Call between .Ltmp313 and .Ltmp314
	.uleb128 .Ltmp315-.Lfunc_begin0         #     jumps to .Ltmp315
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp314-.Lfunc_begin0         # >> Call Site 42 <<
	.uleb128 .Ltmp316-.Ltmp314              #   Call between .Ltmp314 and .Ltmp316
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp316-.Lfunc_begin0         # >> Call Site 43 <<
	.uleb128 .Ltmp317-.Ltmp316              #   Call between .Ltmp316 and .Ltmp317
	.uleb128 .Ltmp318-.Lfunc_begin0         #     jumps to .Ltmp318
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp319-.Lfunc_begin0         # >> Call Site 44 <<
	.uleb128 .Ltmp324-.Ltmp319              #   Call between .Ltmp319 and .Ltmp324
	.uleb128 .Ltmp358-.Lfunc_begin0         #     jumps to .Ltmp358
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp325-.Lfunc_begin0         # >> Call Site 45 <<
	.uleb128 .Ltmp354-.Ltmp325              #   Call between .Ltmp325 and .Ltmp354
	.uleb128 .Ltmp355-.Lfunc_begin0         #     jumps to .Ltmp355
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp356-.Lfunc_begin0         # >> Call Site 46 <<
	.uleb128 .Ltmp357-.Ltmp356              #   Call between .Ltmp356 and .Ltmp357
	.uleb128 .Ltmp358-.Lfunc_begin0         #     jumps to .Ltmp358
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp359-.Lfunc_begin0         # >> Call Site 47 <<
	.uleb128 .Ltmp378-.Ltmp359              #   Call between .Ltmp359 and .Ltmp378
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp379-.Lfunc_begin0         # >> Call Site 48 <<
	.uleb128 .Ltmp384-.Ltmp379              #   Call between .Ltmp379 and .Ltmp384
	.uleb128 .Ltmp385-.Lfunc_begin0         #     jumps to .Ltmp385
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp386-.Lfunc_begin0         # >> Call Site 49 <<
	.uleb128 .Ltmp409-.Ltmp386              #   Call between .Ltmp386 and .Ltmp409
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp410-.Lfunc_begin0         # >> Call Site 50 <<
	.uleb128 .Ltmp415-.Ltmp410              #   Call between .Ltmp410 and .Ltmp415
	.uleb128 .Ltmp416-.Lfunc_begin0         #     jumps to .Ltmp416
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp417-.Lfunc_begin0         # >> Call Site 51 <<
	.uleb128 .Ltmp422-.Ltmp417              #   Call between .Ltmp417 and .Ltmp422
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp423-.Lfunc_begin0         # >> Call Site 52 <<
	.uleb128 .Ltmp424-.Ltmp423              #   Call between .Ltmp423 and .Ltmp424
	.uleb128 .Ltmp425-.Lfunc_begin0         #     jumps to .Ltmp425
	.byte	1                               #   On action: 1
	.uleb128 .Ltmp426-.Lfunc_begin0         # >> Call Site 53 <<
	.uleb128 .Ltmp427-.Ltmp426              #   Call between .Ltmp426 and .Ltmp427
	.uleb128 .Ltmp428-.Lfunc_begin0         #     jumps to .Ltmp428
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp427-.Lfunc_begin0         # >> Call Site 54 <<
	.uleb128 .Ltmp429-.Ltmp427              #   Call between .Ltmp427 and .Ltmp429
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp429-.Lfunc_begin0         # >> Call Site 55 <<
	.uleb128 .Ltmp430-.Ltmp429              #   Call between .Ltmp429 and .Ltmp430
	.uleb128 .Ltmp431-.Lfunc_begin0         #     jumps to .Ltmp431
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp430-.Lfunc_begin0         # >> Call Site 56 <<
	.uleb128 .Ltmp432-.Ltmp430              #   Call between .Ltmp430 and .Ltmp432
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp432-.Lfunc_begin0         # >> Call Site 57 <<
	.uleb128 .Ltmp433-.Ltmp432              #   Call between .Ltmp432 and .Ltmp433
	.uleb128 .Ltmp434-.Lfunc_begin0         #     jumps to .Ltmp434
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp435-.Lfunc_begin0         # >> Call Site 58 <<
	.uleb128 .Ltmp450-.Ltmp435              #   Call between .Ltmp435 and .Ltmp450
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp451-.Lfunc_begin0         # >> Call Site 59 <<
	.uleb128 .Ltmp464-.Ltmp451              #   Call between .Ltmp451 and .Ltmp464
	.uleb128 .Ltmp465-.Lfunc_begin0         #     jumps to .Ltmp465
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp466-.Lfunc_begin0         # >> Call Site 60 <<
	.uleb128 .Ltmp523-.Ltmp466              #   Call between .Ltmp466 and .Ltmp523
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp524-.Lfunc_begin0         # >> Call Site 61 <<
	.uleb128 .Ltmp529-.Ltmp524              #   Call between .Ltmp524 and .Ltmp529
	.uleb128 .Ltmp530-.Lfunc_begin0         #     jumps to .Ltmp530
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp531-.Lfunc_begin0         # >> Call Site 62 <<
	.uleb128 .Ltmp544-.Ltmp531              #   Call between .Ltmp531 and .Ltmp544
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp545-.Lfunc_begin0         # >> Call Site 63 <<
	.uleb128 .Ltmp558-.Ltmp545              #   Call between .Ltmp545 and .Ltmp558
	.uleb128 .Ltmp559-.Lfunc_begin0         #     jumps to .Ltmp559
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp560-.Lfunc_begin0         # >> Call Site 64 <<
	.uleb128 .Ltmp561-.Ltmp560              #   Call between .Ltmp560 and .Ltmp561
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp562-.Lfunc_begin0         # >> Call Site 65 <<
	.uleb128 .Ltmp563-.Ltmp562              #   Call between .Ltmp562 and .Ltmp563
	.uleb128 .Ltmp564-.Lfunc_begin0         #     jumps to .Ltmp564
	.byte	1                               #   On action: 1
	.uleb128 .Ltmp565-.Lfunc_begin0         # >> Call Site 66 <<
	.uleb128 .Ltmp566-.Ltmp565              #   Call between .Ltmp565 and .Ltmp566
	.uleb128 .Ltmp567-.Lfunc_begin0         #     jumps to .Ltmp567
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp566-.Lfunc_begin0         # >> Call Site 67 <<
	.uleb128 .Ltmp568-.Ltmp566              #   Call between .Ltmp566 and .Ltmp568
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp568-.Lfunc_begin0         # >> Call Site 68 <<
	.uleb128 .Ltmp569-.Ltmp568              #   Call between .Ltmp568 and .Ltmp569
	.uleb128 .Ltmp570-.Lfunc_begin0         #     jumps to .Ltmp570
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp569-.Lfunc_begin0         # >> Call Site 69 <<
	.uleb128 .Ltmp571-.Ltmp569              #   Call between .Ltmp569 and .Ltmp571
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp571-.Lfunc_begin0         # >> Call Site 70 <<
	.uleb128 .Ltmp572-.Ltmp571              #   Call between .Ltmp571 and .Ltmp572
	.uleb128 .Ltmp573-.Lfunc_begin0         #     jumps to .Ltmp573
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp574-.Lfunc_begin0         # >> Call Site 71 <<
	.uleb128 .Ltmp579-.Ltmp574              #   Call between .Ltmp574 and .Ltmp579
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp580-.Lfunc_begin0         # >> Call Site 72 <<
	.uleb128 .Ltmp609-.Ltmp580              #   Call between .Ltmp580 and .Ltmp609
	.uleb128 .Ltmp610-.Lfunc_begin0         #     jumps to .Ltmp610
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp611-.Lfunc_begin0         # >> Call Site 73 <<
	.uleb128 .Ltmp612-.Ltmp611              #   Call between .Ltmp611 and .Ltmp612
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp648-.Lfunc_begin0         # >> Call Site 74 <<
	.uleb128 .Ltmp647-.Ltmp648              #   Call between .Ltmp648 and .Ltmp647
	.uleb128 .Ltmp650-.Lfunc_begin0         #     jumps to .Ltmp650
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp621-.Lfunc_begin0         # >> Call Site 75 <<
	.uleb128 .Ltmp622-.Ltmp621              #   Call between .Ltmp621 and .Ltmp622
	.uleb128 .Ltmp623-.Lfunc_begin0         #     jumps to .Ltmp623
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp631-.Lfunc_begin0         # >> Call Site 76 <<
	.uleb128 .Ltmp630-.Ltmp631              #   Call between .Ltmp631 and .Ltmp630
	.uleb128 .Ltmp633-.Lfunc_begin0         #     jumps to .Ltmp633
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp626-.Lfunc_begin0         # >> Call Site 77 <<
	.uleb128 .Ltmp625-.Ltmp626              #   Call between .Ltmp626 and .Ltmp625
	.uleb128 .Ltmp628-.Lfunc_begin0         #     jumps to .Ltmp628
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp619-.Lfunc_begin0         # >> Call Site 78 <<
	.uleb128 .Ltmp620-.Ltmp619              #   Call between .Ltmp619 and .Ltmp620
	.uleb128 .Ltmp623-.Lfunc_begin0         #     jumps to .Ltmp623
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp616-.Lfunc_begin0         # >> Call Site 79 <<
	.uleb128 .Ltmp615-.Ltmp616              #   Call between .Ltmp616 and .Ltmp615
	.uleb128 .Ltmp618-.Lfunc_begin0         #     jumps to .Ltmp618
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp86-.Lfunc_begin0          # >> Call Site 80 <<
	.uleb128 .Ltmp87-.Ltmp86                #   Call between .Ltmp86 and .Ltmp87
	.uleb128 .Ltmp88-.Lfunc_begin0          #     jumps to .Ltmp88
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp89-.Lfunc_begin0          # >> Call Site 81 <<
	.uleb128 .Ltmp90-.Ltmp89                #   Call between .Ltmp89 and .Ltmp90
	.uleb128 .Ltmp91-.Lfunc_begin0          #     jumps to .Ltmp91
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp83-.Lfunc_begin0          # >> Call Site 82 <<
	.uleb128 .Ltmp84-.Ltmp83                #   Call between .Ltmp83 and .Ltmp84
	.uleb128 .Ltmp85-.Lfunc_begin0          #     jumps to .Ltmp85
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp68-.Lfunc_begin0          # >> Call Site 83 <<
	.uleb128 .Ltmp69-.Ltmp68                #   Call between .Ltmp68 and .Ltmp69
	.uleb128 .Ltmp70-.Lfunc_begin0          #     jumps to .Ltmp70
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp74-.Lfunc_begin0          # >> Call Site 84 <<
	.uleb128 .Ltmp75-.Ltmp74                #   Call between .Ltmp74 and .Ltmp75
	.uleb128 .Ltmp76-.Lfunc_begin0          #     jumps to .Ltmp76
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp71-.Lfunc_begin0          # >> Call Site 85 <<
	.uleb128 .Ltmp72-.Ltmp71                #   Call between .Ltmp71 and .Ltmp72
	.uleb128 .Ltmp73-.Lfunc_begin0          #     jumps to .Ltmp73
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp77-.Lfunc_begin0          # >> Call Site 86 <<
	.uleb128 .Ltmp78-.Ltmp77                #   Call between .Ltmp77 and .Ltmp78
	.uleb128 .Ltmp91-.Lfunc_begin0          #     jumps to .Ltmp91
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp79-.Lfunc_begin0          # >> Call Site 87 <<
	.uleb128 .Ltmp80-.Ltmp79                #   Call between .Ltmp79 and .Ltmp80
	.uleb128 .Ltmp88-.Lfunc_begin0          #     jumps to .Ltmp88
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp81-.Lfunc_begin0          # >> Call Site 88 <<
	.uleb128 .Ltmp82-.Ltmp81                #   Call between .Ltmp81 and .Ltmp82
	.uleb128 .Ltmp85-.Lfunc_begin0          #     jumps to .Ltmp85
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp62-.Lfunc_begin0          # >> Call Site 89 <<
	.uleb128 .Ltmp63-.Ltmp62                #   Call between .Ltmp62 and .Ltmp63
	.uleb128 .Ltmp76-.Lfunc_begin0          #     jumps to .Ltmp76
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp64-.Lfunc_begin0          # >> Call Site 90 <<
	.uleb128 .Ltmp65-.Ltmp64                #   Call between .Ltmp64 and .Ltmp65
	.uleb128 .Ltmp73-.Lfunc_begin0          #     jumps to .Ltmp73
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp66-.Lfunc_begin0          # >> Call Site 91 <<
	.uleb128 .Ltmp67-.Ltmp66                #   Call between .Ltmp66 and .Ltmp67
	.uleb128 .Ltmp70-.Lfunc_begin0          #     jumps to .Ltmp70
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp653-.Lfunc_begin0         # >> Call Site 92 <<
	.uleb128 .Ltmp652-.Ltmp653              #   Call between .Ltmp653 and .Ltmp652
	.uleb128 .Ltmp655-.Lfunc_begin0         #     jumps to .Ltmp655
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp643-.Lfunc_begin0         # >> Call Site 93 <<
	.uleb128 .Ltmp644-.Ltmp643              #   Call between .Ltmp643 and .Ltmp644
	.uleb128 .Ltmp645-.Lfunc_begin0         #     jumps to .Ltmp645
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp640-.Lfunc_begin0         # >> Call Site 94 <<
	.uleb128 .Ltmp641-.Ltmp640              #   Call between .Ltmp640 and .Ltmp641
	.uleb128 .Ltmp642-.Lfunc_begin0         #     jumps to .Ltmp642
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp637-.Lfunc_begin0         # >> Call Site 95 <<
	.uleb128 .Ltmp638-.Ltmp637              #   Call between .Ltmp637 and .Ltmp638
	.uleb128 .Ltmp639-.Lfunc_begin0         #     jumps to .Ltmp639
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp634-.Lfunc_begin0         # >> Call Site 96 <<
	.uleb128 .Ltmp635-.Ltmp634              #   Call between .Ltmp634 and .Ltmp635
	.uleb128 .Ltmp636-.Lfunc_begin0         #     jumps to .Ltmp636
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp635-.Lfunc_begin0         # >> Call Site 97 <<
	.uleb128 .Lfunc_end4-.Ltmp635           #   Call between .Ltmp635 and .Lfunc_end4
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
.Lcst_end0:
	.byte	1                               # >> Action Record 1 <<
                                        #   Catch TypeInfo 1
	.byte	0                               #   No further actions
	.p2align	2, 0x0
                                        # >> Catch TypeInfos <<
	.long	0                               # TypeInfo 1
.Lttbase0:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_,comdat
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_ # -- Begin function _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
	.p2align	1, 0x90
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_,@function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_: # @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	movq	%rsi, %rdx
	movq	%rdi, %rbx
	movq	8(%rdi), %rax
	cmpq	16(%rdi), %rax
	je	.LBB5_2
# %bb.1:
	leaq	16(%rax), %rcx
	movq	%rcx, (%rax)
	movq	(%rdx), %rsi
	movq	8(%rdx), %rdx
	addq	%rsi, %rdx
	movq	%rax, %rdi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag
	addq	$32, 8(%rbx)
	popq	%rbx
	.cfi_def_cfa_offset 8
	retq
.LBB5_2:
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	movq	%rax, %rsi
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_ # TAILCALL
.Lfunc_end5:
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_, .Lfunc_end5-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIiSaIiEEC2EmRKS0_,"axG",@progbits,_ZNSt6vectorIiSaIiEEC2EmRKS0_,comdat
	.weak	_ZNSt6vectorIiSaIiEEC2EmRKS0_   # -- Begin function _ZNSt6vectorIiSaIiEEC2EmRKS0_
	.p2align	1, 0x90
	.type	_ZNSt6vectorIiSaIiEEC2EmRKS0_,@function
_ZNSt6vectorIiSaIiEEC2EmRKS0_:          # @_ZNSt6vectorIiSaIiEEC2EmRKS0_
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rsi, %rax
	shrq	$61, %rax
	jne	.LBB6_7
# %bb.1:                                # %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit
	movq	%rsi, %r14
	movq	%rdi, %rbx
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%rdi)
	movq	$0, 16(%rdi)
	testq	%rsi, %rsi
	je	.LBB6_2
# %bb.3:
	movq	%rbx, %rdi
	movq	%r14, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorIiE8allocateEmPKv
	movq	%rax, (%rbx)
	leaq	(%rax,%r14,4), %r15
	movq	%r15, 16(%rbx)
	movl	$0, (%rax)
	addq	$4, %rax
	cmpq	$1, %r14
	jne	.LBB6_5
# %bb.4:
	movq	%rax, %r15
	jmp	.LBB6_6
.LBB6_2:                                # %_ZNSt12_Vector_baseIiSaIiEEC2EmRKS0_.exit.thread
	movups	%xmm0, (%rbx)
	movq	$0, 16(%rbx)
	xorl	%r15d, %r15d
	jmp	.LBB6_6
.LBB6_5:                                # %_ZSt6fill_nIPimiET_S1_T0_RKT1_.exit.loopexit.i.i.i.i
	leaq	-4(,%r14,4), %rdx
	movq	%rax, %rdi
	xorl	%esi, %esi
	callq	memset@PLT
.LBB6_6:
	movq	%r15, 8(%rbx)
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.LBB6_7:
	.cfi_def_cfa_offset 32
	movl	$.L.str.33, %edi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end6:
	.size	_ZNSt6vectorIiSaIiEEC2EmRKS0_, .Lfunc_end6-_ZNSt6vectorIiSaIiEEC2EmRKS0_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIdSaIdEEC2EmRKS0_,"axG",@progbits,_ZNSt6vectorIdSaIdEEC2EmRKS0_,comdat
	.weak	_ZNSt6vectorIdSaIdEEC2EmRKS0_   # -- Begin function _ZNSt6vectorIdSaIdEEC2EmRKS0_
	.p2align	1, 0x90
	.type	_ZNSt6vectorIdSaIdEEC2EmRKS0_,@function
_ZNSt6vectorIdSaIdEEC2EmRKS0_:          # @_ZNSt6vectorIdSaIdEEC2EmRKS0_
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rsi, %rax
	shrq	$60, %rax
	jne	.LBB7_7
# %bb.1:                                # %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit
	movq	%rsi, %r14
	movq	%rdi, %rbx
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%rdi)
	movq	$0, 16(%rdi)
	testq	%rsi, %rsi
	je	.LBB7_2
# %bb.3:
	movq	%rbx, %rdi
	movq	%r14, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorIdE8allocateEmPKv
	movq	%rax, (%rbx)
	leaq	(%rax,%r14,8), %r15
	movq	%r15, 16(%rbx)
	movq	$0, (%rax)
	addq	$8, %rax
	cmpq	$1, %r14
	jne	.LBB7_5
# %bb.4:
	movq	%rax, %r15
	jmp	.LBB7_6
.LBB7_2:                                # %_ZNSt12_Vector_baseIdSaIdEEC2EmRKS0_.exit.thread
	movups	%xmm0, (%rbx)
	movq	$0, 16(%rbx)
	xorl	%r15d, %r15d
	jmp	.LBB7_6
.LBB7_5:                                # %_ZSt6fill_nIPdmdET_S1_T0_RKT1_.exit.loopexit.i.i.i.i
	leaq	-8(,%r14,8), %rdx
	movq	%rax, %rdi
	xorl	%esi, %esi
	callq	memset@PLT
.LBB7_6:
	movq	%r15, 8(%rbx)
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.LBB7_7:
	.cfi_def_cfa_offset 32
	movl	$.L.str.33, %edi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end7:
	.size	_ZNSt6vectorIdSaIdEEC2EmRKS0_, .Lfunc_end7-_ZNSt6vectorIdSaIdEEC2EmRKS0_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIdSaIdEE6resizeEm,"axG",@progbits,_ZNSt6vectorIdSaIdEE6resizeEm,comdat
	.weak	_ZNSt6vectorIdSaIdEE6resizeEm   # -- Begin function _ZNSt6vectorIdSaIdEE6resizeEm
	.p2align	1, 0x90
	.type	_ZNSt6vectorIdSaIdEE6resizeEm,@function
_ZNSt6vectorIdSaIdEE6resizeEm:          # @_ZNSt6vectorIdSaIdEE6resizeEm
	.cfi_startproc
# %bb.0:
	movq	(%rdi), %rdx
	movq	8(%rdi), %rcx
	movq	%rcx, %r8
	subq	%rdx, %r8
	sarq	$3, %r8
	movq	%rsi, %rax
	subq	%r8, %rax
	jbe	.LBB8_1
# %bb.5:
	movq	%rax, %rsi
	jmp	_ZNSt6vectorIdSaIdEE17_M_default_appendEm # TAILCALL
.LBB8_1:
	jae	.LBB8_4
# %bb.2:
	leaq	(%rdx,%rsi,8), %rax
	cmpq	%rax, %rcx
	je	.LBB8_4
# %bb.3:
	movq	%rax, 8(%rdi)
.LBB8_4:                                # %_ZNSt6vectorIdSaIdEE15_M_erase_at_endEPd.exit
	retq
.Lfunc_end8:
	.size	_ZNSt6vectorIdSaIdEE6resizeEm, .Lfunc_end8-_ZNSt6vectorIdSaIdEE6resizeEm
	.cfi_endproc
                                        # -- End function
	.section	.text.__clang_call_terminate,"axG",@progbits,__clang_call_terminate,comdat
	.hidden	__clang_call_terminate          # -- Begin function __clang_call_terminate
	.weak	__clang_call_terminate
	.type	__clang_call_terminate,@function
__clang_call_terminate:                 # @__clang_call_terminate
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	callq	__cxa_begin_catch
	callq	_ZSt9terminatev
.Lfunc_end9:
	.size	__clang_call_terminate, .Lfunc_end9-__clang_call_terminate
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_,"axG",@progbits,_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_,comdat
	.weak	_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_ # -- Begin function _ZNSt8__detail18__to_chars_10_implIjEEvPcjT_
	.type	_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_,@function
_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_: # @_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_
	.cfi_startproc
# %bb.0:
                                        # kill: def $esi killed $esi def $rsi
	cmpl	$100, %edx
	jb	.LBB10_1
# %bb.2:                                # %.lr.ph.preheader
	decl	%esi
.LBB10_3:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movl	%edx, %eax
	imulq	$1374389535, %rax, %rax         # imm = 0x51EB851F
	shrq	$37, %rax
	imull	$100, %eax, %ecx
	movl	%edx, %r8d
	subl	%ecx, %r8d
	movb	.L__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits+1(%r8,%r8), %cl
	movl	%esi, %r9d
	movb	%cl, (%rdi,%r9)
	movb	.L__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits(%r8,%r8), %cl
	leal	-1(%rsi), %r8d
	movb	%cl, (%rdi,%r8)
	addl	$-2, %esi
	cmpl	$9999, %edx                     # imm = 0x270F
	movl	%eax, %edx
	ja	.LBB10_3
	jmp	.LBB10_4
.LBB10_1:
	movl	%edx, %eax
.LBB10_4:                               # %._crit_edge
	cmpl	$10, %eax
	jb	.LBB10_6
# %bb.5:
	movl	%eax, %eax
	leaq	(%rax,%rax), %rcx
	movl	%ecx, %ecx
	movb	.L__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits+1(%rcx), %cl
	movb	%cl, 1(%rdi)
	movb	.L__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits(%rax,%rax), %al
	jmp	.LBB10_7
.LBB10_6:
	orb	$48, %al
.LBB10_7:
	movb	%al, (%rdi)
	retq
.Lfunc_end10:
	.size	_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_, .Lfunc_end10-_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,comdat
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_ # -- Begin function _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
	.p2align	1, 0x90
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,@function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_: # @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
.Lfunc_begin1:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception1
# %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	$24, %rsp
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rdx, %rbp
	movq	%rsi, %r13
	movq	%rdi, %rbx
	movl	$1, %esi
	movl	$.L.str.32, %edx
	callq	_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc
	movq	%rax, %r14
	movq	(%rbx), %rax
	movq	8(%rbx), %r15
	movq	%r13, %r12
	movq	%rax, (%rsp)                    # 8-byte Spill
	subq	%rax, %r12
	sarq	$5, %r12
	testq	%r14, %r14
	je	.LBB11_1
# %bb.2:
	movq	%rbx, %rdi
	movq	%r14, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv
	jmp	.LBB11_3
.LBB11_1:
	xorl	%eax, %eax
.LBB11_3:                               # %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit
	shlq	$5, %r12
	leaq	(%rax,%r12), %rdi
	leaq	(%rax,%r12), %rcx
	addq	$16, %rcx
	movq	%rcx, -16(%rcx)
	movq	(%rbp), %rsi
	movq	8(%rbp), %rdx
	addq	%rsi, %rdx
.Ltmp672:
	movq	%rax, %r12
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag
.Ltmp673:
# %bb.4:                                # %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JRKS5_EEEvRS6_PT_DpOT0_.exit
	movq	%r12, %rbp
	movq	(%rsp), %rdi                    # 8-byte Reload
	cmpq	%r13, %rdi
	movq	%r12, 8(%rsp)                   # 8-byte Spill
	je	.LBB11_11
# %bb.5:                                # %.lr.ph.i.i.i.preheader
	movq	%rbx, 16(%rsp)                  # 8-byte Spill
	leaq	16(%r12), %rbp
	leaq	16(%rdi), %r12
.LBB11_6:                               # %.lr.ph.i.i.i
                                        # =>This Inner Loop Header: Depth=1
	movq	%rbp, -16(%rbp)
	movq	-16(%r12), %rsi
	cmpq	%rsi, %r12
	je	.LBB11_7
# %bb.8:                                # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i
                                        #   in Loop: Header=BB11_6 Depth=1
	movq	%rsi, -16(%rbp)
	movq	(%r12), %rax
	movq	%rax, (%rbp)
	movq	-8(%r12), %rbx
	jmp	.LBB11_9
.LBB11_7:                               #   in Loop: Header=BB11_6 Depth=1
	movq	-8(%r12), %rbx
	leaq	1(%rbx), %rdx
	movq	%rbp, %rdi
	callq	memcpy@PLT
.LBB11_9:                               # %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i
                                        #   in Loop: Header=BB11_6 Depth=1
	movq	%rbx, -8(%rbp)
	movq	%r12, -16(%r12)
	movq	$0, -8(%r12)
	movb	$0, (%r12)
	addq	$32, %rbp
	leaq	32(%r12), %rax
	addq	$16, %r12
	cmpq	%r13, %r12
	movq	%rax, %r12
	jne	.LBB11_6
# %bb.10:                               # %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit.loopexit
	addq	$-16, %rbp
	movq	16(%rsp), %rbx                  # 8-byte Reload
	movq	(%rsp), %rdi                    # 8-byte Reload
	movq	8(%rsp), %r12                   # 8-byte Reload
.LBB11_11:                              # %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit
	cmpq	%r13, %r15
	je	.LBB11_12
# %bb.13:                               # %.lr.ph.i.i.i27.preheader
	movq	%rbx, %r12
	addq	$48, %rbp
	addq	$16, %r13
.LBB11_14:                              # %.lr.ph.i.i.i27
                                        # =>This Inner Loop Header: Depth=1
	movq	%rbp, -16(%rbp)
	movq	-16(%r13), %rsi
	cmpq	%rsi, %r13
	je	.LBB11_15
# %bb.16:                               # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i30
                                        #   in Loop: Header=BB11_14 Depth=1
	movq	%rsi, -16(%rbp)
	movq	(%r13), %rax
	movq	%rax, (%rbp)
	movq	-8(%r13), %rbx
	jmp	.LBB11_17
.LBB11_15:                              #   in Loop: Header=BB11_14 Depth=1
	movq	-8(%r13), %rbx
	leaq	1(%rbx), %rdx
	movq	%rbp, %rdi
	callq	memcpy@PLT
.LBB11_17:                              # %_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_.exit.i.i.i33
                                        #   in Loop: Header=BB11_14 Depth=1
	movq	%rbx, -8(%rbp)
	movq	%r13, -16(%r13)
	movq	$0, -8(%r13)
	movb	$0, (%r13)
	addq	$32, %rbp
	leaq	32(%r13), %rax
	addq	$16, %r13
	cmpq	%r15, %r13
	movq	%rax, %r13
	jne	.LBB11_14
# %bb.18:                               # %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit36.loopexit
	addq	$-16, %rbp
	movq	%r12, %rbx
	movq	(%rsp), %rdi                    # 8-byte Reload
	movq	8(%rsp), %r12                   # 8-byte Reload
	jmp	.LBB11_19
.LBB11_12:
	addq	$32, %rbp
.LBB11_19:                              # %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit36
	testq	%rdi, %rdi
	je	.LBB11_21
# %bb.20:
	callq	_ZdlPv
.LBB11_21:                              # %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit
	movq	%r12, (%rbx)
	movq	%rbp, 8(%rbx)
	shlq	$5, %r14
	addq	%r12, %r14
	movq	%r14, 16(%rbx)
	addq	$24, %rsp
	.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
.LBB11_25:
	.cfi_def_cfa_offset 80
.Ltmp674:
	movq	%rax, %rdi
	callq	__cxa_begin_catch
	movq	%r12, %rdi
	callq	_ZdlPv
.Ltmp675:
	callq	__cxa_rethrow
.Ltmp676:
# %bb.26:
.LBB11_22:
.Ltmp677:
	movq	%rax, %rbx
.Ltmp678:
	callq	__cxa_end_catch
.Ltmp679:
# %bb.23:
	movq	%rbx, %rdi
	callq	_Unwind_Resume@PLT
.LBB11_24:
.Ltmp680:
	movq	%rax, %rdi
	callq	__clang_call_terminate
.Lfunc_end11:
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_, .Lfunc_end11-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
	.cfi_endproc
	.section	.gcc_except_table._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,"aG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_,comdat
	.p2align	2, 0x0
GCC_except_table11:
.Lexception1:
	.byte	255                             # @LPStart Encoding = omit
	.byte	3                               # @TType Encoding = udata4
	.uleb128 .Lttbase1-.Lttbaseref1
.Lttbaseref1:
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end1-.Lcst_begin1
.Lcst_begin1:
	.uleb128 .Lfunc_begin1-.Lfunc_begin1    # >> Call Site 1 <<
	.uleb128 .Ltmp672-.Lfunc_begin1         #   Call between .Lfunc_begin1 and .Ltmp672
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp672-.Lfunc_begin1         # >> Call Site 2 <<
	.uleb128 .Ltmp673-.Ltmp672              #   Call between .Ltmp672 and .Ltmp673
	.uleb128 .Ltmp674-.Lfunc_begin1         #     jumps to .Ltmp674
	.byte	1                               #   On action: 1
	.uleb128 .Ltmp673-.Lfunc_begin1         # >> Call Site 3 <<
	.uleb128 .Ltmp675-.Ltmp673              #   Call between .Ltmp673 and .Ltmp675
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp675-.Lfunc_begin1         # >> Call Site 4 <<
	.uleb128 .Ltmp676-.Ltmp675              #   Call between .Ltmp675 and .Ltmp676
	.uleb128 .Ltmp677-.Lfunc_begin1         #     jumps to .Ltmp677
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp678-.Lfunc_begin1         # >> Call Site 5 <<
	.uleb128 .Ltmp679-.Ltmp678              #   Call between .Ltmp678 and .Ltmp679
	.uleb128 .Ltmp680-.Lfunc_begin1         #     jumps to .Ltmp680
	.byte	1                               #   On action: 1
	.uleb128 .Ltmp679-.Lfunc_begin1         # >> Call Site 6 <<
	.uleb128 .Lfunc_end11-.Ltmp679          #   Call between .Ltmp679 and .Lfunc_end11
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
.Lcst_end1:
	.byte	1                               # >> Action Record 1 <<
                                        #   Catch TypeInfo 1
	.byte	0                               #   No further actions
	.p2align	2, 0x0
                                        # >> Catch TypeInfos <<
	.long	0                               # TypeInfo 1
.Lttbase1:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text._ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc,comdat
	.weak	_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc # -- Begin function _ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc
	.p2align	1, 0x90
	.type	_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc,@function
_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc: # @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc
	.cfi_startproc
# %bb.0:
	movabsq	$288230376151711743, %rcx       # imm = 0x3FFFFFFFFFFFFFF
	movq	8(%rdi), %r8
	subq	(%rdi), %r8
	sarq	$5, %r8
	movq	%rcx, %rax
	subq	%r8, %rax
	cmpq	%rsi, %rax
	jb	.LBB12_2
# %bb.1:
	cmpq	%rsi, %r8
	cmovaq	%r8, %rsi
	leaq	(%rsi,%r8), %rax
	cmpq	%rcx, %rax
	cmovaeq	%rcx, %rax
	addq	%r8, %rsi
	cmovbq	%rcx, %rax
	retq
.LBB12_2:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdx, %rdi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end12:
	.size	_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc, .Lfunc_end12-_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv,@function
_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv: # @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rsi, %rax
	shrq	$58, %rax
	jne	.LBB13_1
# %bb.3:
	shlq	$5, %rsi
	movq	%rsi, %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB13_1:
	.cfi_def_cfa_offset 16
	shrq	$59, %rsi
	je	.LBB13_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB13_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end13:
	.size	_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv, .Lfunc_end13-_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag,"axG",@progbits,_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag,comdat
	.weak	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag # -- Begin function _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag
	.p2align	1, 0x90
	.type	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag,@function
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag: # @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r12
	.cfi_def_cfa_offset 32
	pushq	%rbx
	.cfi_def_cfa_offset 40
	pushq	%rax
	.cfi_def_cfa_offset 48
	.cfi_offset %rbx, -40
	.cfi_offset %r12, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rdx, %r14
	movq	%rsi, %r15
	movq	%rdi, %rbx
	subq	%rsi, %r14
	movq	%r14, (%rsp)
	cmpq	$15, %r14
	jbe	.LBB14_1
# %bb.2:
	movq	%rsp, %r12
	movq	%rbx, %rdi
	movq	%r12, %rsi
	xorl	%edx, %edx
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm
	movq	%rax, (%rbx)
	movq	(%r12), %rcx
	movq	%rcx, 16(%rbx)
	jmp	.LBB14_3
.LBB14_1:                               # %._crit_edge
	movq	(%rbx), %rax
.LBB14_3:
	testq	%r14, %r14
	je	.LBB14_7
# %bb.4:
	cmpq	$1, %r14
	jne	.LBB14_6
# %bb.5:
	movb	(%r15), %cl
	movb	%cl, (%rax)
	jmp	.LBB14_7
.LBB14_6:
	movq	%rax, %rdi
	movq	%r15, %rsi
	movq	%r14, %rdx
	callq	memcpy@PLT
.LBB14_7:                               # %_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardD2Ev.exit
	movq	(%rsp), %rax
	movq	%rax, 8(%rbx)
	movq	(%rbx), %rcx
	movb	$0, (%rcx,%rax)
	addq	$8, %rsp
	.cfi_def_cfa_offset 40
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end14:
	.size	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag, .Lfunc_end14-_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE,"axG",@progbits,_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE,comdat
	.weak	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE # -- Begin function _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE
	.p2align	1, 0x90
	.type	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE,@function
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE: # @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r12
	.cfi_def_cfa_offset 32
	pushq	%rbx
	.cfi_def_cfa_offset 40
	pushq	%rax
	.cfi_def_cfa_offset 48
	.cfi_offset %rbx, -40
	.cfi_offset %r12, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rsi, %rbx
	movq	%rdi, %r14
	leaq	32(%rsi), %rcx
	movq	8(%rdi), %rax
	cmpq	%rax, %rcx
	je	.LBB15_1
# %bb.2:
	movq	%rax, %r12
	subq	%rcx, %r12
	sarq	$5, %r12
	testq	%r12, %r12
	jle	.LBB15_6
# %bb.3:                                # %.lr.ph.i.i.i.i.i.preheader
	incq	%r12
	movq	%rbx, %rdi
.LBB15_4:                               # %.lr.ph.i.i.i.i.i
                                        # =>This Inner Loop Header: Depth=1
	leaq	32(%rdi), %r15
	movq	%r15, %rsi
	callq	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_
	decq	%r12
	movq	%r15, %rdi
	cmpq	$1, %r12
	ja	.LBB15_4
# %bb.5:                                # %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEESC_ET0_T_SE_SD_.exit.loopexit
	movq	8(%r14), %rax
	jmp	.LBB15_6
.LBB15_1:
	movq	%rcx, %rax
.LBB15_6:                               # %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEESC_ET0_T_SE_SD_.exit
	leaq	-32(%rax), %rcx
	movq	%rcx, 8(%r14)
	movq	-32(%rax), %rdi
	addq	$-16, %rax
	cmpq	%rax, %rdi
	je	.LBB15_8
# %bb.7:                                # %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i
	callq	_ZdlPv
.LBB15_8:                               # %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7destroyIS5_EEvRS6_PT_.exit
	movq	%rbx, %rax
	addq	$8, %rsp
	.cfi_def_cfa_offset 40
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end15:
	.size	_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE, .Lfunc_end15-_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorIiE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorIiE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorIiE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorIiE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorIiE8allocateEmPKv,@function
_ZNSt15__new_allocatorIiE8allocateEmPKv: # @_ZNSt15__new_allocatorIiE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rsi, %rax
	shrq	$61, %rax
	jne	.LBB16_1
# %bb.3:
	shlq	$2, %rsi
	movq	%rsi, %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB16_1:
	.cfi_def_cfa_offset 16
	shrq	$62, %rsi
	je	.LBB16_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB16_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end16:
	.size	_ZNSt15__new_allocatorIiE8allocateEmPKv, .Lfunc_end16-_ZNSt15__new_allocatorIiE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorIdE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorIdE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorIdE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorIdE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorIdE8allocateEmPKv,@function
_ZNSt15__new_allocatorIdE8allocateEmPKv: # @_ZNSt15__new_allocatorIdE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rsi, %rax
	shrq	$60, %rax
	jne	.LBB17_1
# %bb.3:
	shlq	$3, %rsi
	movq	%rsi, %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB17_1:
	.cfi_def_cfa_offset 16
	shrq	$61, %rsi
	je	.LBB17_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB17_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end17:
	.size	_ZNSt15__new_allocatorIdE8allocateEmPKv, .Lfunc_end17-_ZNSt15__new_allocatorIdE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIdSaIdEE17_M_default_appendEm,"axG",@progbits,_ZNSt6vectorIdSaIdEE17_M_default_appendEm,comdat
	.weak	_ZNSt6vectorIdSaIdEE17_M_default_appendEm # -- Begin function _ZNSt6vectorIdSaIdEE17_M_default_appendEm
	.p2align	1, 0x90
	.type	_ZNSt6vectorIdSaIdEE17_M_default_appendEm,@function
_ZNSt6vectorIdSaIdEE17_M_default_appendEm: # @_ZNSt6vectorIdSaIdEE17_M_default_appendEm
	.cfi_startproc
# %bb.0:
	testq	%rsi, %rsi
	je	.LBB18_16
# %bb.1:
	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
	pushq	%rax
	.cfi_def_cfa_offset 64
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rsi, %r14
	movq	%rdi, %rbx
	movq	8(%rdi), %r15
	movq	16(%rdi), %rax
	subq	%r15, %rax
	sarq	$3, %rax
	cmpq	%rsi, %rax
	jae	.LBB18_2
# %bb.5:
	movq	(%rbx), %r12
	subq	%r12, %r15
	movq	%r15, %r13
	sarq	$3, %r13
	movl	$.L.str.34, %edx
	movq	%rbx, %rdi
	movq	%r14, %rsi
	callq	_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc
	testq	%rax, %rax
	movq	%rax, (%rsp)                    # 8-byte Spill
	je	.LBB18_6
# %bb.7:
	movq	%rbx, %rdi
	movq	%rax, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorIdE8allocateEmPKv
	movq	%rax, %rbp
	jmp	.LBB18_8
.LBB18_2:
	movq	$0, (%r15)
	leaq	8(%r15), %rdi
	cmpq	$1, %r14
	je	.LBB18_4
# %bb.3:                                # %_ZSt6fill_nIPdmdET_S1_T0_RKT1_.exit.loopexit.i.i.i
	leaq	-8(,%r14,8), %rdx
	xorl	%esi, %esi
	callq	memset@PLT
	leaq	(%r15,%r14,8), %rdi
.LBB18_4:                               # %_ZSt27__uninitialized_default_n_aIPdmdET_S1_T0_RSaIT1_E.exit
	movq	%rdi, 8(%rbx)
	jmp	.LBB18_15
.LBB18_6:
	xorl	%ebp, %ebp
.LBB18_8:
	leaq	(,%r13,8), %r13
	addq	%rbp, %r13
	movq	$0, (%r13)
	cmpq	$1, %r14
	je	.LBB18_10
# %bb.9:                                # %_ZSt6fill_nIPdmdET_S1_T0_RKT1_.exit.loopexit.i.i.i30
	leaq	8(%r13), %rdi
	leaq	-8(,%r14,8), %rdx
	xorl	%esi, %esi
	callq	memset@PLT
.LBB18_10:                              # %_ZSt27__uninitialized_default_n_aIPdmdET_S1_T0_RSaIT1_E.exit32
	testq	%r15, %r15
	jle	.LBB18_12
# %bb.11:
	movq	%rbp, %rdi
	movq	%r12, %rsi
	movq	%r15, %rdx
	callq	memmove@PLT
.LBB18_12:                              # %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit
	testq	%r12, %r12
	je	.LBB18_14
# %bb.13:
	movq	%r12, %rdi
	callq	_ZdlPv
.LBB18_14:                              # %_ZNSt12_Vector_baseIdSaIdEE13_M_deallocateEPdm.exit35
	movq	%rbp, (%rbx)
	leaq	(,%r14,8), %rax
	addq	%r13, %rax
	movq	%rax, 8(%rbx)
	movq	(%rsp), %rax                    # 8-byte Reload
	leaq	(,%rax,8), %rax
	addq	%rbp, %rax
	movq	%rax, 16(%rbx)
.LBB18_15:
	addq	$8, %rsp
	.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
	.cfi_restore %rbx
	.cfi_restore %r12
	.cfi_restore %r13
	.cfi_restore %r14
	.cfi_restore %r15
	.cfi_restore %rbp
.LBB18_16:
	retq
.Lfunc_end18:
	.size	_ZNSt6vectorIdSaIdEE17_M_default_appendEm, .Lfunc_end18-_ZNSt6vectorIdSaIdEE17_M_default_appendEm
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc,comdat
	.weak	_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc # -- Begin function _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc
	.p2align	1, 0x90
	.type	_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc,@function
_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc: # @_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc
	.cfi_startproc
# %bb.0:
	movabsq	$1152921504606846975, %rcx      # imm = 0xFFFFFFFFFFFFFFF
	movq	8(%rdi), %r8
	subq	(%rdi), %r8
	sarq	$3, %r8
	movq	%rcx, %rax
	subq	%r8, %rax
	cmpq	%rsi, %rax
	jb	.LBB19_2
# %bb.1:
	cmpq	%rsi, %r8
	cmovaq	%r8, %rsi
	leaq	(%rsi,%r8), %rax
	cmpq	%rcx, %rax
	cmovaeq	%rcx, %rax
	addq	%r8, %rsi
	cmovbq	%rcx, %rax
	retq
.LBB19_2:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdx, %rdi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end19:
	.size	_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc, .Lfunc_end19-_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst16,"aM",@progbits,16
	.p2align	4, 0x0                          # -- Begin function _GLOBAL__sub_I_UPDATED_GPU.hip
.LCPI20_0:
	.zero	16
	.section	.text.startup,"ax",@progbits
	.type	_GLOBAL__sub_I_UPDATED_GPU.hip,@function
_GLOBAL__sub_I_UPDATED_GPU.hip:         # @_GLOBAL__sub_I_UPDATED_GPU.hip
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	xorps	%xmm0, %xmm0
	movups	%xmm0, _Z7parFileB5cxx11(%rip)
	xorl	%ebx, %ebx
	movq	%rbx, _Z7parFileB5cxx11+16(%rip)
	movl	$_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev, %edi
	movl	$_Z7parFileB5cxx11, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	xorps	%xmm0, %xmm0
	movups	%xmm0, _Z14particleConfigB5cxx11(%rip)
	movq	%rbx, _Z14particleConfigB5cxx11+16(%rip)
	movl	$_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev, %edi
	movl	$_Z14particleConfigB5cxx11, %esi
	movl	$__dso_handle, %edx
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	__cxa_atexit                    # TAILCALL
.Lfunc_end20:
	.size	_GLOBAL__sub_I_UPDATED_GPU.hip, .Lfunc_end20-_GLOBAL__sub_I_UPDATED_GPU.hip
	.cfi_endproc
                                        # -- End function
	.text
	.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	.LBB21_2
# %bb.1:
	movl	$__hip_fatbin_wrapper, %edi
	callq	__hipRegisterFatBinary
	movq	%rax, %rbx
	movq	%rax, __hip_gpubin_handle(%rip)
.LBB21_2:
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z9updateVelPddS_S_PiS_, %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	$_Z9updatePosPddS_S_Pi, %esi
	movl	$.L__unnamed_2, %edx
	movl	$.L__unnamed_2, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_, %esi
	movl	$.L__unnamed_3, %edx
	movl	$.L__unnamed_3, %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_end21:
	.size	__hip_module_ctor, .Lfunc_end21-__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	.LBB22_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
.LBB22_2:
	retq
.Lfunc_end22:
	.size	__hip_module_dtor, .Lfunc_end22-__hip_module_dtor
	.cfi_endproc
                                        # -- End function
	.type	_Z7parFileB5cxx11,@object       # @_Z7parFileB5cxx11
	.bss
	.globl	_Z7parFileB5cxx11
	.p2align	3, 0x0
_Z7parFileB5cxx11:
	.zero	24
	.size	_Z7parFileB5cxx11, 24

	.hidden	__dso_handle
	.type	_Z14particleConfigB5cxx11,@object # @_Z14particleConfigB5cxx11
	.globl	_Z14particleConfigB5cxx11
	.p2align	3, 0x0
_Z14particleConfigB5cxx11:
	.zero	24
	.size	_Z14particleConfigB5cxx11, 24

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

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

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

	.type	.L.str,@object                  # @.str
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str:
	.asciz	"*.par file not found"
	.size	.L.str, 21

	.type	.L.str.2,@object                # @.str.2
.L.str.2:
	.asciz	"*.in file not found"
	.size	.L.str.2, 20

	.type	.L.str.3,@object                # @.str.3
.L.str.3:
	.asciz	"i: "
	.size	.L.str.3, 4

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

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

	.type	.L.str.6,@object                # @.str.6
.L.str.6:
	.asciz	"initialForce: "
	.size	.L.str.6, 15

	.type	.L.str.7,@object                # @.str.7
.L.str.7:
	.asciz	"0"
	.size	.L.str.7, 2

	.type	.L.str.8,@object                # @.str.8
.L.str.8:
	.asciz	".vtk"
	.size	.L.str.8, 5

	.type	.L.str.9,@object                # @.str.9
.L.str.9:
	.asciz	"# vtk DataFile Version 4.0\nhesp visualization file\nASCII\nDATASET UNSTRUCTURED_GRID\n"
	.size	.L.str.9, 84

	.type	.L.str.10,@object               # @.str.10
.L.str.10:
	.asciz	"POINTS"
	.size	.L.str.10, 7

	.type	.L.str.11,@object               # @.str.11
.L.str.11:
	.asciz	"double"
	.size	.L.str.11, 7

	.type	.L.str.12,@object               # @.str.12
.L.str.12:
	.asciz	"CELLS"
	.size	.L.str.12, 6

	.type	.L.str.13,@object               # @.str.13
.L.str.13:
	.asciz	"CELL_TYPES"
	.size	.L.str.13, 11

	.type	.L.str.14,@object               # @.str.14
.L.str.14:
	.asciz	"POINT_DATA"
	.size	.L.str.14, 11

	.type	.L.str.15,@object               # @.str.15
.L.str.15:
	.asciz	"SCALARS"
	.size	.L.str.15, 8

	.type	.L.str.16,@object               # @.str.16
.L.str.16:
	.asciz	"m"
	.size	.L.str.16, 2

	.type	.L.str.17,@object               # @.str.17
.L.str.17:
	.asciz	"LOOKUP_TABLE"
	.size	.L.str.17, 13

	.type	.L.str.18,@object               # @.str.18
.L.str.18:
	.asciz	"default"
	.size	.L.str.18, 8

	.type	.L.str.19,@object               # @.str.19
.L.str.19:
	.asciz	"VECTORS"
	.size	.L.str.19, 8

	.type	.L.str.20,@object               # @.str.20
.L.str.20:
	.asciz	"v"
	.size	.L.str.20, 2

	.type	.L.str.21,@object               # @.str.21
.L.str.21:
	.asciz	".out"
	.size	.L.str.21, 5

	.type	.L.str.22,@object               # @.str.22
.L.str.22:
	.asciz	"\n####\tIteration:  "
	.size	.L.str.22, 19

	.type	.L.str.23,@object               # @.str.23
.L.str.23:
	.asciz	"\tTime: "
	.size	.L.str.23, 8

	.type	.L.str.24,@object               # @.str.24
.L.str.24:
	.asciz	"\t####\n"
	.size	.L.str.24, 7

	.type	.L.str.25,@object               # @.str.25
.L.str.25:
	.asciz	"updated POS: "
	.size	.L.str.25, 14

	.type	.L.str.26,@object               # @.str.26
.L.str.26:
	.asciz	"updated VEL: "
	.size	.L.str.26, 14

	.type	.L.str.27,@object               # @.str.27
.L.str.27:
	.asciz	"stoi"
	.size	.L.str.27, 5

	.type	.L.str.28,@object               # @.str.28
.L.str.28:
	.asciz	"stod"
	.size	.L.str.28, 5

	.type	.L__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits,@object # @__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits
	.section	.rodata.str1.16,"aMS",@progbits,1
	.p2align	4, 0x0
.L__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits:
	.asciz	"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899"
	.size	.L__const._ZNSt8__detail18__to_chars_10_implIjEEvPcjT_.__digits, 201

	.type	.L.str.32,@object               # @.str.32
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.32:
	.asciz	"vector::_M_realloc_insert"
	.size	.L.str.32, 26

	.type	.L.str.33,@object               # @.str.33
.L.str.33:
	.asciz	"cannot create std::vector larger than max_size()"
	.size	.L.str.33, 49

	.type	.L.str.34,@object               # @.str.34
.L.str.34:
	.asciz	"vector::_M_default_append"
	.size	.L.str.34, 26

	.type	.L__unnamed_1,@object           # @0
.L__unnamed_1:
	.asciz	"_Z9updateVelPddS_S_PiS_"
	.size	.L__unnamed_1, 24

	.type	.L__unnamed_2,@object           # @1
.L__unnamed_2:
	.asciz	"_Z9updatePosPddS_S_Pi"
	.size	.L__unnamed_2, 22

	.type	.L__unnamed_3,@object           # @2
.L__unnamed_3:
	.asciz	"_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_"
	.size	.L__unnamed_3, 39

	.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	_GLOBAL__sub_I_UPDATED_GPU.hip
	.quad	__hip_module_ctor
	.type	__hip_cuid_,@object             # @__hip_cuid_
	.bss
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               # 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym _Z24__device_stub__updateVelPddS_S_PiS_
	.addrsig_sym _Z24__device_stub__updatePosPddS_S_Pi
	.addrsig_sym _Z32__device_stub__forceTwoParticlesiPiPdS0_S0_S0_S0_
	.addrsig_sym __gxx_personality_v0
	.addrsig_sym _GLOBAL__sub_I_UPDATED_GPU.hip
	.addrsig_sym __hip_module_ctor
	.addrsig_sym __hip_module_dtor
	.addrsig_sym _Unwind_Resume
	.addrsig_sym _Z7parFileB5cxx11
	.addrsig_sym __dso_handle
	.addrsig_sym _Z14particleConfigB5cxx11
	.addrsig_sym _Z9updateVelPddS_S_PiS_
	.addrsig_sym _Z9updatePosPddS_S_Pi
	.addrsig_sym _Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
	.addrsig_sym _ZSt4cout
	.addrsig_sym __hip_fatbin
	.addrsig_sym __hip_fatbin_wrapper
	.addrsig_sym __hip_cuid_

	.text
	.amdgcn_target "amdgcn-amd-amdhsa--gfx1100"
	.protected	_Z9updateVelPddS_S_PiS_ ; -- Begin function _Z9updateVelPddS_S_PiS_
	.globl	_Z9updateVelPddS_S_PiS_
	.p2align	8
	.type	_Z9updateVelPddS_S_PiS_,@function
_Z9updateVelPddS_S_PiS_:                ; @_Z9updateVelPddS_S_PiS_
; %bb.0:
	s_clause 0x1
	s_load_b64 s[10:11], s[0:1], 0x28
	s_load_b256 s[0:7], s[0:1], 0x8
	s_mul_i32 s12, s15, 3
	s_mov_b32 s8, s15
	s_ashr_i32 s13, s12, 31
	v_mov_b32_e32 v12, 0
	s_lshl_b64 s[12:13], s[12:13], 3
	s_waitcnt lgkmcnt(0)
	s_add_u32 s10, s10, s12
	s_addc_u32 s11, s11, s13
	s_add_u32 s14, s4, s12
	s_addc_u32 s15, s5, s13
	s_ashr_i32 s9, s8, 31
	s_delay_alu instid0(SALU_CYCLE_1)
	s_lshl_b64 s[4:5], s[8:9], 2
	s_load_b64 s[8:9], s[10:11], 0x0
	s_add_u32 s4, s6, s4
	s_addc_u32 s5, s7, s5
	s_load_b64 s[6:7], s[14:15], 0x0
	s_load_b32 s4, s[4:5], 0x0
	s_add_u32 s2, s2, s12
	s_addc_u32 s3, s3, s13
	s_waitcnt lgkmcnt(0)
	v_add_f64 v[0:1], s[8:9], s[6:7]
	v_cvt_f64_i32_e32 v[2:3], s4
	s_clause 0x1
	s_load_b128 s[4:7], s[2:3], 0x0
	s_load_b64 s[8:9], s[2:3], 0x10
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_mul_f64 v[0:1], v[0:1], s[0:1]
	v_add_f64 v[2:3], v[2:3], v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_div_scale_f64 v[4:5], null, v[2:3], v[2:3], v[0:1]
	v_div_scale_f64 v[10:11], vcc_lo, v[0:1], v[2:3], v[0:1]
	v_rcp_f64_e32 v[6:7], v[4:5]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[8:9], -v[4:5], v[6:7], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[6:7], v[6:7], v[8:9], v[6:7]
	v_fma_f64 v[8:9], -v[4:5], v[6:7], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[6:7], v[6:7], v[8:9], v[6:7]
	v_mul_f64 v[8:9], v[10:11], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[4:5], -v[4:5], v[8:9], v[10:11]
	v_div_fmas_f64 v[4:5], v[4:5], v[6:7], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_div_fixup_f64 v[0:1], v[4:5], v[2:3], v[0:1]
	s_waitcnt lgkmcnt(0)
	v_add_f64 v[0:1], s[4:5], v[0:1]
	global_store_b64 v12, v[0:1], s[2:3]
	s_clause 0x1
	global_load_b64 v[0:1], v12, s[10:11] offset:8
	global_load_b64 v[4:5], v12, s[14:15] offset:8
	s_waitcnt vmcnt(0)
	v_add_f64 v[0:1], v[0:1], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[0:1], v[0:1], s[0:1]
	v_div_scale_f64 v[4:5], null, v[2:3], v[2:3], v[0:1]
	v_div_scale_f64 v[10:11], vcc_lo, v[0:1], v[2:3], v[0:1]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_rcp_f64_e32 v[6:7], v[4:5]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[8:9], -v[4:5], v[6:7], 1.0
	v_fma_f64 v[6:7], v[6:7], v[8:9], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], -v[4:5], v[6:7], 1.0
	v_fma_f64 v[6:7], v[6:7], v[8:9], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[8:9], v[10:11], v[6:7]
	v_fma_f64 v[4:5], -v[4:5], v[8:9], v[10:11]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fmas_f64 v[4:5], v[4:5], v[6:7], v[8:9]
	v_div_fixup_f64 v[0:1], v[4:5], v[2:3], v[0:1]
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f64 v[0:1], s[6:7], v[0:1]
	global_store_b64 v12, v[0:1], s[2:3] offset:8
	s_clause 0x1
	global_load_b64 v[0:1], v12, s[10:11] offset:16
	global_load_b64 v[4:5], v12, s[14:15] offset:16
	s_waitcnt vmcnt(0)
	v_add_f64 v[0:1], v[0:1], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[0:1], v[0:1], s[0:1]
	v_div_scale_f64 v[4:5], null, v[2:3], v[2:3], v[0:1]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_rcp_f64_e32 v[6:7], v[4:5]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[8:9], -v[4:5], v[6:7], 1.0
	v_fma_f64 v[6:7], v[6:7], v[8:9], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], -v[4:5], v[6:7], 1.0
	v_fma_f64 v[6:7], v[6:7], v[8:9], v[6:7]
	v_div_scale_f64 v[8:9], vcc_lo, v[0:1], v[2:3], v[0:1]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[10:11], v[8:9], v[6:7]
	v_fma_f64 v[4:5], -v[4:5], v[10:11], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fmas_f64 v[4:5], v[4:5], v[6:7], v[10:11]
	v_div_fixup_f64 v[0:1], v[4:5], v[2:3], v[0:1]
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f64 v[0:1], s[8:9], v[0:1]
	global_store_b64 v12, v[0:1], s[2:3] offset:16
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z9updateVelPddS_S_PiS_
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 48
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 13
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end0:
	.size	_Z9updateVelPddS_S_PiS_, .Lfunc_end0-_Z9updateVelPddS_S_PiS_
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 644
; NumSgprs: 18
; NumVgprs: 13
; ScratchSize: 0
; MemoryBound: 1
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 1
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 13
; 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: 0
	.text
	.protected	_Z9updatePosPddS_S_Pi   ; -- Begin function _Z9updatePosPddS_S_Pi
	.globl	_Z9updatePosPddS_S_Pi
	.p2align	8
	.type	_Z9updatePosPddS_S_Pi,@function
_Z9updatePosPddS_S_Pi:                  ; @_Z9updatePosPddS_S_Pi
; %bb.0:
	s_load_b256 s[4:11], s[0:1], 0x0
	s_mov_b32 s3, 0x3fe55555
	s_mov_b32 s2, 0x55555555
	s_mov_b32 s12, s15
	s_mov_b32 s14, 0x968915a9
	s_mov_b32 s16, 0x4222de17
	s_mov_b32 s15, 0x3fba6564
	s_mov_b32 s17, 0x3fbdee67
	s_load_b64 s[0:1], s[0:1], 0x20
	s_waitcnt lgkmcnt(0)
	v_frexp_mant_f64_e64 v[0:1], |s[6:7]|
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_cmp_gt_f64_e32 vcc_lo, s[2:3], v[0:1]
	v_cndmask_b32_e64 v2, 0, 1, vcc_lo
	v_ldexp_f64 v[0:1], v[0:1], v2
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[2:3], v[0:1], 1.0
	v_add_f64 v[8:9], v[0:1], -1.0
	v_rcp_f64_e32 v[4:5], v[2:3]
	v_add_f64 v[10:11], v[2:3], -1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_add_f64 v[0:1], v[0:1], -v[10:11]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[6:7], -v[2:3], v[4:5], 1.0
	v_fma_f64 v[4:5], v[6:7], v[4:5], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[6:7], -v[2:3], v[4:5], 1.0
	v_fma_f64 v[4:5], v[6:7], v[4:5], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[6:7], v[8:9], v[4:5]
	v_mul_f64 v[12:13], v[2:3], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[2:3], v[6:7], v[2:3], -v[12:13]
	v_fma_f64 v[0:1], v[6:7], v[0:1], v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[12:13], v[0:1]
	v_add_f64 v[10:11], v[8:9], -v[2:3]
	v_add_f64 v[12:13], v[2:3], -v[12:13]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[8:9], v[8:9], -v[10:11]
	v_add_f64 v[0:1], v[12:13], -v[0:1]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[8:9], -v[2:3]
	v_add_f64 v[0:1], v[0:1], v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[0:1], v[10:11], v[0:1]
	v_mul_f64 v[0:1], v[4:5], v[0:1]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[6:7], v[0:1]
	v_add_f64 v[4:5], v[2:3], -v[6:7]
	v_mul_f64 v[6:7], v[2:3], v[2:3]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[0:1], v[0:1], -v[4:5]
	v_fma_f64 v[4:5], v[2:3], v[2:3], -v[6:7]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[8:9], v[0:1], v[0:1]
	v_fma_f64 v[4:5], v[2:3], v[8:9], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[8:9], v[6:7], v[4:5]
	v_fma_f64 v[10:11], v[8:9], s[16:17], s[14:15]
	s_mov_b32 s14, 0x3abe935a
	s_mov_b32 s15, 0x3fbe25e4
	v_add_f64 v[6:7], v[8:9], -v[6:7]
	v_mul_f64 v[16:17], v[2:3], v[8:9]
	s_mov_b32 s16, 0x652b82fe
	s_mov_b32 s17, 0x3ff71547
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_2) | instid1(VALU_DEP_3)
	v_fma_f64 v[10:11], v[8:9], v[10:11], s[14:15]
	s_mov_b32 s14, 0x47e6c9c2
	s_mov_b32 s15, 0x3fc110ef
	v_add_f64 v[4:5], v[4:5], -v[6:7]
	s_delay_alu instid0(VALU_DEP_2)
	v_fma_f64 v[10:11], v[8:9], v[10:11], s[14:15]
	s_mov_b32 s14, 0xcfa74449
	s_mov_b32 s15, 0x3fc3b13b
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[10:11], v[8:9], v[10:11], s[14:15]
	s_mov_b32 s14, 0x71bf3c30
	s_mov_b32 s15, 0x3fc745d1
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[10:11], v[8:9], v[10:11], s[14:15]
	s_mov_b32 s14, 0x1c7792ce
	s_mov_b32 s15, 0x3fcc71c7
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[10:11], v[8:9], v[10:11], s[14:15]
	s_mov_b32 s14, 0x924920da
	s_mov_b32 s15, 0x3fd24924
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[10:11], v[8:9], v[10:11], s[14:15]
	s_mov_b32 s14, 0x9999999c
	s_mov_b32 s15, 0x3fd99999
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[10:11], v[8:9], v[10:11], s[14:15]
	s_mov_b32 s15, 0x3c7abc9e
	s_mov_b32 s14, 0x3b39803f
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[12:13], v[8:9], v[10:11]
	v_fma_f64 v[6:7], v[8:9], v[10:11], -v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[6:7], v[4:5], v[10:11], v[6:7]
	v_add_f64 v[10:11], v[12:13], v[6:7]
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f64 v[14:15], v[10:11], s[2:3]
	v_add_f64 v[12:13], v[10:11], -v[12:13]
	s_mov_b32 s3, 0xbfe55555
	s_delay_alu instid0(VALU_DEP_2) | instid1(SALU_CYCLE_1)
	v_add_f64 v[18:19], v[14:15], s[2:3]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_3) | instid1(VALU_DEP_3)
	v_add_f64 v[6:7], v[6:7], -v[12:13]
	v_fma_f64 v[12:13], v[8:9], v[2:3], -v[16:17]
	s_mov_b32 s2, 0xd5df274d
	s_mov_b32 s3, 0x3c8543b0
	v_add_f64 v[10:11], v[10:11], -v[18:19]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[6:7], v[6:7], s[2:3]
	v_fma_f64 v[8:9], v[8:9], v[0:1], v[12:13]
	s_mov_b32 s3, 0x3fe62e42
	s_mov_b32 s2, 0xfefa39ef
	v_ldexp_f64 v[0:1], v[0:1], 1
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[6:7], v[6:7], v[10:11]
	v_fma_f64 v[4:5], v[4:5], v[2:3], v[8:9]
	v_ldexp_f64 v[2:3], v[2:3], 1
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[8:9], v[14:15], v[6:7]
	v_add_f64 v[10:11], v[16:17], v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[12:13], v[14:15], -v[8:9]
	v_mul_f64 v[14:15], v[10:11], v[8:9]
	v_add_f64 v[16:17], v[10:11], -v[16:17]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[6:7], v[6:7], v[12:13]
	v_fma_f64 v[12:13], v[10:11], v[8:9], -v[14:15]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[4:5], v[4:5], -v[16:17]
	v_fma_f64 v[6:7], v[10:11], v[6:7], v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[4:5], v[4:5], v[8:9], v[6:7]
	v_frexp_exp_i32_f64_e32 v8, s[6:7]
	v_add_f64 v[6:7], v[14:15], v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_subrev_co_ci_u32_e32 v8, vcc_lo, 0, v8, vcc_lo
	v_cvt_f64_i32_e32 v[8:9], v8
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[10:11], v[2:3], v[6:7]
	v_add_f64 v[12:13], v[6:7], -v[14:15]
	v_mul_f64 v[14:15], v[8:9], s[2:3]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[2:3], v[10:11], -v[2:3]
	v_add_f64 v[4:5], v[4:5], -v[12:13]
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_fma_f64 v[12:13], v[8:9], s[2:3], -v[14:15]
	s_mov_b32 s3, 0xbfe62e42
	v_add_f64 v[2:3], v[6:7], -v[2:3]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[0:1], v[0:1], v[4:5]
	v_fma_f64 v[4:5], v[8:9], s[14:15], v[12:13]
	s_mov_b32 s15, 0xbc7abc9e
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[0:1], v[0:1], v[2:3]
	v_add_f64 v[2:3], v[14:15], v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[6:7], v[10:11], v[0:1]
	v_add_f64 v[14:15], v[2:3], -v[14:15]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[8:9], v[2:3], v[6:7]
	v_add_f64 v[10:11], v[6:7], -v[10:11]
	v_add_f64 v[4:5], v[4:5], -v[14:15]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[12:13], v[8:9], -v[2:3]
	v_add_f64 v[0:1], v[0:1], -v[10:11]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[8:9], -v[12:13]
	v_add_f64 v[6:7], v[6:7], -v[12:13]
	v_add_f64 v[10:11], v[4:5], v[0:1]
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[2:3], v[2:3], -v[16:17]
	v_mov_b32_e32 v16, 0
	v_add_f64 v[2:3], v[6:7], v[2:3]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[6:7], v[10:11], -v[4:5]
	v_add_f64 v[2:3], v[10:11], v[2:3]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[10:11], v[10:11], -v[6:7]
	v_add_f64 v[0:1], v[0:1], -v[6:7]
	v_add_f64 v[12:13], v[8:9], v[2:3]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[4:5], v[4:5], -v[10:11]
	v_add_f64 v[6:7], v[12:13], -v[8:9]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[0:1], v[0:1], v[4:5]
	v_add_f64 v[2:3], v[2:3], -v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[0:1], v[0:1], v[2:3]
	v_add_f64 v[2:3], v[12:13], v[0:1]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[4:5], v[2:3], -v[12:13]
	v_add_f64 v[6:7], v[2:3], v[2:3]
	v_add_f64 v[0:1], v[0:1], -v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[2:3], v[2:3], 2.0, -v[6:7]
	v_cmp_class_f64_e64 vcc_lo, v[6:7], 0x204
	v_fma_f64 v[0:1], v[0:1], 2.0, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[6:7], v[0:1]
	v_dual_cndmask_b32 v5, v3, v7 :: v_dual_cndmask_b32 v4, v2, v6
	v_add_f64 v[2:3], v[2:3], -v[6:7]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_mul_f64 v[8:9], v[4:5], s[16:17]
	v_cmp_neq_f64_e64 vcc_lo, 0x7ff00000, |v[4:5]|
	v_add_f64 v[0:1], v[0:1], -v[2:3]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_rndne_f64_e32 v[8:9], v[8:9]
	v_dual_cndmask_b32 v1, 0, v1 :: v_dual_cndmask_b32 v0, 0, v0
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_3) | instid1(VALU_DEP_2)
	v_fma_f64 v[10:11], v[8:9], s[2:3], v[4:5]
	s_mov_b32 s2, 0xfca7ab0c
	s_mov_b32 s3, 0x3e928af3
	v_cvt_i32_f64_e32 v14, v[8:9]
	v_fma_f64 v[10:11], v[8:9], s[14:15], v[10:11]
	s_mov_b32 s14, 0x6a5dcb37
	s_mov_b32 s15, 0x3e5ade15
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], s[14:15], s[2:3]
	s_mov_b32 s2, 0x623fde64
	s_mov_b32 s3, 0x3ec71dee
	s_mul_i32 s14, s12, 3
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
	s_ashr_i32 s15, s14, 31
	s_lshl_b64 s[14:15], s[14:15], 3
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_4) | instid1(SALU_CYCLE_1)
	s_add_u32 s8, s8, s14
	s_addc_u32 s9, s9, s15
	s_add_u32 s10, s10, s14
	s_addc_u32 s11, s11, s15
	s_ashr_i32 s13, s12, 31
	s_lshl_b64 s[12:13], s[12:13], 2
	s_delay_alu instid0(VALU_DEP_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	s_mov_b32 s2, 0x7c89e6b0
	s_mov_b32 s3, 0x3efa0199
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	s_mov_b32 s2, 0x14761f6e
	s_mov_b32 s3, 0x3f2a01a0
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	s_mov_b32 s2, 0x1852b7b0
	s_mov_b32 s3, 0x3f56c16c
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	s_mov_b32 s2, 0x11122322
	s_mov_b32 s3, 0x3f811111
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	s_mov_b32 s2, 0x555502a1
	s_mov_b32 s3, 0x3fa55555
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	s_mov_b32 s2, 0x55555511
	s_mov_b32 s3, 0x3fc55555
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	s_mov_b32 s2, 11
	s_mov_b32 s3, 0x3fe00000
	s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)
	v_fma_f64 v[12:13], v[10:11], v[12:13], s[2:3]
	v_cmp_nlt_f64_e64 s2, 0x40900000, v[4:5]
	v_cmp_ngt_f64_e64 s3, 0xc090cc00, v[4:5]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fma_f64 v[12:13], v[10:11], v[12:13], 1.0
	s_and_b32 vcc_lo, s3, s2
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], v[10:11], v[12:13], 1.0
	v_ldexp_f64 v[6:7], v[8:9], v14
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_cndmask_b32_e64 v2, 0x7ff00000, v7, s2
	v_cmp_neq_f64_e64 s2, 0x7ff00000, |s[6:7]|
	v_cndmask_b32_e64 v3, 0, v2, s3
	s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_cndmask_b32_e32 v2, 0, v6, vcc_lo
	v_cmp_neq_f64_e64 s3, s[6:7], 0
	v_fma_f64 v[0:1], v[2:3], v[0:1], v[2:3]
	v_cmp_class_f64_e64 vcc_lo, v[2:3], 0x204
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_dual_cndmask_b32 v1, v1, v3 :: v_dual_cndmask_b32 v0, v0, v2
	s_and_b32 vcc_lo, s3, s2
	s_add_u32 s0, s0, s12
	s_addc_u32 s1, s1, s13
	s_delay_alu instid0(VALU_DEP_1)
	v_and_b32_e32 v1, 0x7fffffff, v1
	s_load_b32 s0, s[0:1], 0x0
	v_cndmask_b32_e32 v0, 0, v0, vcc_lo
	s_add_u32 s4, s4, s14
	s_addc_u32 s5, s5, s15
	v_cndmask_b32_e64 v1, 0x7ff00000, v1, s2
	s_delay_alu instid0(VALU_DEP_1)
	v_cndmask_b32_e64 v1, 0, v1, s3
	s_waitcnt lgkmcnt(0)
	v_cvt_f64_i32_e32 v[2:3], s0
	s_load_b64 s[0:1], s[10:11], 0x0
	s_waitcnt lgkmcnt(0)
	v_mul_f64 v[4:5], v[0:1], s[0:1]
	s_load_b64 s[0:1], s[8:9], 0x0
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[2:3], v[2:3], v[2:3]
	v_div_scale_f64 v[6:7], null, v[2:3], v[2:3], v[4:5]
	v_div_scale_f64 v[12:13], vcc_lo, v[4:5], v[2:3], v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_rcp_f64_e32 v[8:9], v[6:7]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[10:11], -v[6:7], v[8:9], 1.0
	v_fma_f64 v[8:9], v[8:9], v[10:11], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[10:11], -v[6:7], v[8:9], 1.0
	v_fma_f64 v[8:9], v[8:9], v[10:11], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[10:11], v[12:13], v[8:9]
	v_fma_f64 v[6:7], -v[6:7], v[10:11], v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fmas_f64 v[6:7], v[6:7], v[8:9], v[10:11]
	v_div_fixup_f64 v[4:5], v[6:7], v[2:3], v[4:5]
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_4) | instid1(VALU_DEP_1)
	v_fma_f64 v[4:5], s[0:1], s[6:7], v[4:5]
	s_clause 0x1
	s_load_b128 s[0:3], s[4:5], 0x0
	s_load_b64 s[12:13], s[4:5], 0x10
	s_waitcnt lgkmcnt(0)
	v_add_f64 v[4:5], s[0:1], v[4:5]
	global_store_b64 v16, v[4:5], s[4:5]
	s_clause 0x1
	global_load_b64 v[4:5], v16, s[10:11] offset:8
	global_load_b64 v[10:11], v16, s[8:9] offset:8
	s_waitcnt vmcnt(1)
	v_mul_f64 v[4:5], v[0:1], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_div_scale_f64 v[6:7], null, v[2:3], v[2:3], v[4:5]
	v_div_scale_f64 v[14:15], vcc_lo, v[4:5], v[2:3], v[4:5]
	v_rcp_f64_e32 v[8:9], v[6:7]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[12:13], -v[6:7], v[8:9], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], v[8:9], v[12:13], v[8:9]
	v_fma_f64 v[12:13], -v[6:7], v[8:9], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], v[8:9], v[12:13], v[8:9]
	v_mul_f64 v[12:13], v[14:15], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[6:7], -v[6:7], v[12:13], v[14:15]
	v_div_fmas_f64 v[6:7], v[6:7], v[8:9], v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_div_fixup_f64 v[4:5], v[6:7], v[2:3], v[4:5]
	s_waitcnt vmcnt(0)
	v_fma_f64 v[4:5], v[10:11], s[6:7], v[4:5]
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f64 v[4:5], s[2:3], v[4:5]
	global_store_b64 v16, v[4:5], s[4:5] offset:8
	s_clause 0x1
	global_load_b64 v[4:5], v16, s[10:11] offset:16
	global_load_b64 v[8:9], v16, s[8:9] offset:16
	s_waitcnt vmcnt(1)
	v_mul_f64 v[0:1], v[0:1], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_scale_f64 v[4:5], null, v[2:3], v[2:3], v[0:1]
	v_rcp_f64_e32 v[6:7], v[4:5]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[10:11], -v[4:5], v[6:7], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[6:7], v[6:7], v[10:11], v[6:7]
	v_fma_f64 v[10:11], -v[4:5], v[6:7], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_fma_f64 v[6:7], v[6:7], v[10:11], v[6:7]
	v_div_scale_f64 v[10:11], vcc_lo, v[0:1], v[2:3], v[0:1]
	v_mul_f64 v[12:13], v[10:11], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[4:5], -v[4:5], v[12:13], v[10:11]
	v_div_fmas_f64 v[4:5], v[4:5], v[6:7], v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_div_fixup_f64 v[0:1], v[4:5], v[2:3], v[0:1]
	s_waitcnt vmcnt(0)
	v_fma_f64 v[0:1], v[8:9], s[6:7], v[0:1]
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f64 v[0:1], s[12:13], v[0:1]
	global_store_b64 v16, v[0:1], s[4:5] offset:16
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z9updatePosPddS_S_Pi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 40
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 20
		.amdhsa_next_free_sgpr 18
		.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	_Z9updatePosPddS_S_Pi, .Lfunc_end1-_Z9updatePosPddS_S_Pi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 2572
; NumSgprs: 20
; NumVgprs: 20
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 2
; NumSGPRsForWavesPerEU: 20
; NumVGPRsForWavesPerEU: 20
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_ ; -- Begin function _Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
	.globl	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
	.p2align	8
	.type	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_,@function
_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_: ; @_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
; %bb.0:
	s_cmp_eq_u32 s14, s15
	s_cbranch_scc1 .LBB2_2
; %bb.1:
	s_clause 0x1
	s_load_b64 s[2:3], s[0:1], 0x10
	s_load_b128 s[8:11], s[0:1], 0x20
	s_mul_i32 s4, s14, 3
	s_mov_b32 s24, 0x3abe935a
	s_ashr_i32 s5, s4, 31
	s_mov_b32 s25, 0x3fbe25e4
	s_lshl_b64 s[12:13], s[4:5], 3
	s_mul_i32 s4, s15, 3
	s_mov_b32 s26, 0x47e6c9c2
	s_mov_b32 s27, 0x3fc110ef
	s_mov_b32 s28, 0xcfa74449
	s_mov_b32 s29, 0x3fc3b13b
	s_mov_b32 s30, 0x71bf3c30
	s_mov_b32 s31, 0x3fc745d1
	s_mov_b32 s34, 0x1c7792ce
	s_mov_b32 s35, 0x3fcc71c7
	s_mov_b32 s36, 0x924920da
	s_mov_b32 s37, 0x3fd24924
	s_mov_b32 s38, 0x9999999c
	s_mov_b32 s39, 0x3fd99999
	s_waitcnt lgkmcnt(0)
	s_add_u32 s14, s2, s12
	s_addc_u32 s15, s3, s13
	s_ashr_i32 s5, s4, 31
	s_mov_b32 s41, 0xbfe55555
	s_lshl_b64 s[4:5], s[4:5], 3
	s_mov_b32 s42, 0xd5df274d
	s_add_u32 s16, s2, s4
	s_addc_u32 s17, s3, s5
	s_clause 0x3
	s_load_b128 s[4:7], s[16:17], 0x0
	s_load_b128 s[20:23], s[14:15], 0x0
	s_load_b64 s[2:3], s[14:15], 0x10
	s_load_b64 s[18:19], s[16:17], 0x10
	s_mov_b32 s43, 0x3c8543b0
	s_mov_b32 s44, 0xfefa39ef
	s_mov_b32 s45, 0x3fe62e42
	s_mov_b32 s46, 0x3b39803f
	s_mov_b32 s47, 0x3c7abc9e
	s_mov_b32 s48, 0x652b82fe
	s_mov_b32 s49, 0x3ff71547
	s_mov_b32 s51, 0xbfe62e42
	s_mov_b32 s50, s44
	s_mov_b32 s53, 0xbc7abc9e
	s_mov_b32 s52, s46
	s_mov_b32 s54, 0xfca7ab0c
	s_mov_b32 s56, 0x6a5dcb37
	s_mov_b32 s55, 0x3e928af3
	s_mov_b32 s57, 0x3e5ade15
	s_mov_b32 s58, 0x623fde64
	s_mov_b32 s59, 0x3ec71dee
	s_waitcnt lgkmcnt(0)
	v_add_f64 v[0:1], s[20:21], -s[4:5]
	v_add_f64 v[4:5], s[22:23], -s[6:7]
	v_add_f64 v[2:3], s[2:3], -s[18:19]
	s_mov_b32 s18, 0x55555555
	s_mov_b32 s19, 0x3fe55555
	s_mov_b32 s20, 0x968915a9
	s_mov_b32 s22, 0x4222de17
	s_mov_b32 s21, 0x3fba6564
	s_mov_b32 s23, 0x3fbdee67
	s_mov_b32 s40, s18
	s_mov_b32 s60, 0x7c89e6b0
	s_mov_b32 s61, 0x3efa0199
	s_mov_b32 s62, 0x14761f6e
	s_mov_b32 s63, 0x3f2a01a0
	s_mov_b32 s64, 0x1852b7b0
	s_mov_b32 s65, 0x3f56c16c
	s_mov_b32 s66, 0x11122322
	s_mov_b32 s67, 0x3f811111
	s_mov_b32 s68, 0x555502a1
	s_mov_b32 s69, 0x3fa55555
	s_mov_b32 s70, 0x55555511
	s_mov_b32 s71, 0x3fc55555
	s_mov_b32 s72, 11
	s_mov_b32 s73, 0x3fe00000
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_frexp_mant_f64_e64 v[6:7], |v[0:1]|
	v_frexp_mant_f64_e64 v[8:9], |v[4:5]|
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_frexp_mant_f64_e64 v[10:11], |v[2:3]|
	v_cmp_gt_f64_e64 s2, s[18:19], v[6:7]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cmp_gt_f64_e64 s3, s[18:19], v[8:9]
	v_cmp_gt_f64_e32 vcc_lo, s[18:19], v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cndmask_b32_e64 v12, 0, 1, s2
	v_cndmask_b32_e64 v13, 0, 1, s3
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_ldexp_f64 v[6:7], v[6:7], v12
	v_cndmask_b32_e64 v12, 0, 1, vcc_lo
	v_ldexp_f64 v[8:9], v[8:9], v13
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_ldexp_f64 v[10:11], v[10:11], v12
	v_add_f64 v[12:13], v[6:7], 1.0
	v_add_f64 v[30:31], v[6:7], -1.0
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_add_f64 v[14:15], v[8:9], 1.0
	v_add_f64 v[16:17], v[10:11], 1.0
	s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_rcp_f64_e32 v[18:19], v[12:13]
	v_add_f64 v[36:37], v[12:13], -1.0
	v_rcp_f64_e32 v[20:21], v[14:15]
	v_add_f64 v[40:41], v[14:15], -1.0
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_rcp_f64_e32 v[22:23], v[16:17]
	v_add_f64 v[44:45], v[16:17], -1.0
	v_add_f64 v[6:7], v[6:7], -v[36:37]
	s_delay_alu instid0(TRANS32_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_3)
	v_fma_f64 v[24:25], -v[12:13], v[18:19], 1.0
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[26:27], -v[14:15], v[20:21], 1.0
	v_fma_f64 v[28:29], -v[16:17], v[22:23], 1.0
	v_fma_f64 v[18:19], v[24:25], v[18:19], v[18:19]
	v_fma_f64 v[20:21], v[26:27], v[20:21], v[20:21]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[22:23], v[28:29], v[22:23], v[22:23]
	v_fma_f64 v[24:25], -v[12:13], v[18:19], 1.0
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[26:27], -v[14:15], v[20:21], 1.0
	v_fma_f64 v[28:29], -v[16:17], v[22:23], 1.0
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_fma_f64 v[18:19], v[24:25], v[18:19], v[18:19]
	v_add_f64 v[24:25], v[8:9], -1.0
	v_fma_f64 v[20:21], v[26:27], v[20:21], v[20:21]
	v_add_f64 v[26:27], v[10:11], -1.0
	v_add_f64 v[8:9], v[8:9], -v[40:41]
	v_add_f64 v[10:11], v[10:11], -v[44:45]
	v_fma_f64 v[22:23], v[28:29], v[22:23], v[22:23]
	v_mul_f64 v[28:29], v[30:31], v[18:19]
	v_mul_f64 v[32:33], v[24:25], v[20:21]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f64 v[34:35], v[26:27], v[22:23]
	v_mul_f64 v[38:39], v[12:13], v[28:29]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f64 v[42:43], v[14:15], v[32:33]
	v_mul_f64 v[46:47], v[16:17], v[34:35]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[12:13], v[28:29], v[12:13], -v[38:39]
	v_fma_f64 v[14:15], v[32:33], v[14:15], -v[42:43]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[16:17], v[34:35], v[16:17], -v[46:47]
	v_fma_f64 v[6:7], v[28:29], v[6:7], v[12:13]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[8:9], v[32:33], v[8:9], v[14:15]
	v_fma_f64 v[10:11], v[34:35], v[10:11], v[16:17]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[12:13], v[38:39], v[6:7]
	v_add_f64 v[14:15], v[42:43], v[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[46:47], v[10:11]
	v_add_f64 v[36:37], v[30:31], -v[12:13]
	v_add_f64 v[38:39], v[12:13], -v[38:39]
	s_delay_alu instid0(VALU_DEP_4)
	v_add_f64 v[40:41], v[24:25], -v[14:15]
	v_add_f64 v[42:43], v[14:15], -v[42:43]
	v_add_f64 v[44:45], v[26:27], -v[16:17]
	v_add_f64 v[46:47], v[16:17], -v[46:47]
	v_add_f64 v[30:31], v[30:31], -v[36:37]
	v_add_f64 v[6:7], v[38:39], -v[6:7]
	v_add_f64 v[24:25], v[24:25], -v[40:41]
	v_add_f64 v[8:9], v[42:43], -v[8:9]
	v_add_f64 v[26:27], v[26:27], -v[44:45]
	v_add_f64 v[10:11], v[46:47], -v[10:11]
	v_add_f64 v[12:13], v[30:31], -v[12:13]
	v_add_f64 v[14:15], v[24:25], -v[14:15]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[26:27], -v[16:17]
	v_add_f64 v[6:7], v[6:7], v[12:13]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[8:9], v[8:9], v[14:15]
	v_add_f64 v[10:11], v[10:11], v[16:17]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[6:7], v[36:37], v[6:7]
	v_add_f64 v[8:9], v[40:41], v[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[10:11], v[44:45], v[10:11]
	v_mul_f64 v[6:7], v[18:19], v[6:7]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f64 v[8:9], v[20:21], v[8:9]
	v_mul_f64 v[10:11], v[22:23], v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[12:13], v[28:29], v[6:7]
	v_add_f64 v[14:15], v[32:33], v[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[34:35], v[10:11]
	v_add_f64 v[18:19], v[12:13], -v[28:29]
	v_mul_f64 v[24:25], v[12:13], v[12:13]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_add_f64 v[20:21], v[14:15], -v[32:33]
	v_add_f64 v[22:23], v[16:17], -v[34:35]
	s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_add_f64 v[6:7], v[6:7], -v[18:19]
	v_mul_f64 v[18:19], v[14:15], v[14:15]
	v_add_f64 v[8:9], v[8:9], -v[20:21]
	v_mul_f64 v[20:21], v[16:17], v[16:17]
	v_add_f64 v[10:11], v[10:11], -v[22:23]
	v_fma_f64 v[22:23], v[12:13], v[12:13], -v[24:25]
	v_add_f64 v[26:27], v[6:7], v[6:7]
	v_fma_f64 v[28:29], v[14:15], v[14:15], -v[18:19]
	v_add_f64 v[30:31], v[8:9], v[8:9]
	v_fma_f64 v[32:33], v[16:17], v[16:17], -v[20:21]
	v_add_f64 v[34:35], v[10:11], v[10:11]
	v_fma_f64 v[22:23], v[12:13], v[26:27], v[22:23]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[26:27], v[14:15], v[30:31], v[28:29]
	v_fma_f64 v[28:29], v[16:17], v[34:35], v[32:33]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[30:31], v[24:25], v[22:23]
	v_add_f64 v[32:33], v[18:19], v[26:27]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[34:35], v[20:21], v[28:29]
	v_fma_f64 v[36:37], v[30:31], s[22:23], s[20:21]
	v_add_f64 v[24:25], v[30:31], -v[24:25]
	s_delay_alu instid0(VALU_DEP_4)
	v_fma_f64 v[38:39], v[32:33], s[22:23], s[20:21]
	v_add_f64 v[18:19], v[32:33], -v[18:19]
	v_mul_f64 v[50:51], v[12:13], v[30:31]
	v_mul_f64 v[54:55], v[14:15], v[32:33]
	v_fma_f64 v[40:41], v[34:35], s[22:23], s[20:21]
	v_add_f64 v[20:21], v[34:35], -v[20:21]
	v_mul_f64 v[56:57], v[16:17], v[34:35]
	v_fma_f64 v[36:37], v[30:31], v[36:37], s[24:25]
	v_add_f64 v[22:23], v[22:23], -v[24:25]
	v_fma_f64 v[38:39], v[32:33], v[38:39], s[24:25]
	v_add_f64 v[18:19], v[26:27], -v[18:19]
	v_fma_f64 v[40:41], v[34:35], v[40:41], s[24:25]
	v_add_f64 v[20:21], v[28:29], -v[20:21]
	v_fma_f64 v[64:65], v[34:35], v[16:17], -v[56:57]
	v_fma_f64 v[36:37], v[30:31], v[36:37], s[26:27]
	v_fma_f64 v[38:39], v[32:33], v[38:39], s[26:27]
	v_fma_f64 v[40:41], v[34:35], v[40:41], s[26:27]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[36:37], v[30:31], v[36:37], s[28:29]
	v_fma_f64 v[38:39], v[32:33], v[38:39], s[28:29]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[40:41], v[34:35], v[40:41], s[28:29]
	v_fma_f64 v[36:37], v[30:31], v[36:37], s[30:31]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[38:39], v[32:33], v[38:39], s[30:31]
	v_fma_f64 v[40:41], v[34:35], v[40:41], s[30:31]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[36:37], v[30:31], v[36:37], s[34:35]
	v_fma_f64 v[38:39], v[32:33], v[38:39], s[34:35]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[40:41], v[34:35], v[40:41], s[34:35]
	v_fma_f64 v[36:37], v[30:31], v[36:37], s[36:37]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[38:39], v[32:33], v[38:39], s[36:37]
	v_fma_f64 v[40:41], v[34:35], v[40:41], s[36:37]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[36:37], v[30:31], v[36:37], s[38:39]
	v_fma_f64 v[38:39], v[32:33], v[38:39], s[38:39]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[40:41], v[34:35], v[40:41], s[38:39]
	v_mul_f64 v[42:43], v[30:31], v[36:37]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f64 v[44:45], v[32:33], v[38:39]
	v_mul_f64 v[46:47], v[34:35], v[40:41]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[24:25], v[30:31], v[36:37], -v[42:43]
	v_fma_f64 v[26:27], v[32:33], v[38:39], -v[44:45]
	s_delay_alu instid0(VALU_DEP_3)
	v_fma_f64 v[28:29], v[34:35], v[40:41], -v[46:47]
	v_fma_f64 v[34:35], v[34:35], v[10:11], v[64:65]
	v_ldexp_f64 v[10:11], v[10:11], 1
	v_fma_f64 v[24:25], v[22:23], v[36:37], v[24:25]
	v_fma_f64 v[26:27], v[18:19], v[38:39], v[26:27]
	v_fma_f64 v[28:29], v[20:21], v[40:41], v[28:29]
	v_fma_f64 v[20:21], v[20:21], v[16:17], v[34:35]
	v_ldexp_f64 v[16:17], v[16:17], 1
	v_add_f64 v[36:37], v[42:43], v[24:25]
	v_add_f64 v[38:39], v[44:45], v[26:27]
	v_add_f64 v[40:41], v[46:47], v[28:29]
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_add_f64 v[48:49], v[36:37], s[18:19]
	v_add_f64 v[42:43], v[36:37], -v[42:43]
	v_add_f64 v[52:53], v[38:39], s[18:19]
	v_add_f64 v[44:45], v[38:39], -v[44:45]
	v_add_f64 v[58:59], v[40:41], s[18:19]
	v_add_f64 v[46:47], v[40:41], -v[46:47]
	v_add_f64 v[60:61], v[48:49], s[40:41]
	v_add_f64 v[24:25], v[24:25], -v[42:43]
	v_fma_f64 v[42:43], v[30:31], v[12:13], -v[50:51]
	v_add_f64 v[62:63], v[52:53], s[40:41]
	v_add_f64 v[26:27], v[26:27], -v[44:45]
	v_fma_f64 v[44:45], v[32:33], v[14:15], -v[54:55]
	v_add_f64 v[66:67], v[58:59], s[40:41]
	v_add_f64 v[28:29], v[28:29], -v[46:47]
	v_add_f64 v[36:37], v[36:37], -v[60:61]
	v_add_f64 v[24:25], v[24:25], s[42:43]
	v_fma_f64 v[30:31], v[30:31], v[6:7], v[42:43]
	v_add_f64 v[38:39], v[38:39], -v[62:63]
	v_add_f64 v[26:27], v[26:27], s[42:43]
	v_fma_f64 v[32:33], v[32:33], v[8:9], v[44:45]
	v_add_f64 v[40:41], v[40:41], -v[66:67]
	v_add_f64 v[28:29], v[28:29], s[42:43]
	v_ldexp_f64 v[6:7], v[6:7], 1
	v_ldexp_f64 v[8:9], v[8:9], 1
	v_add_f64 v[24:25], v[24:25], v[36:37]
	v_fma_f64 v[22:23], v[22:23], v[12:13], v[30:31]
	v_ldexp_f64 v[12:13], v[12:13], 1
	v_add_f64 v[26:27], v[26:27], v[38:39]
	v_fma_f64 v[18:19], v[18:19], v[14:15], v[32:33]
	v_ldexp_f64 v[14:15], v[14:15], 1
	v_add_f64 v[28:29], v[28:29], v[40:41]
	v_add_f64 v[40:41], v[56:57], v[20:21]
	v_add_f64 v[30:31], v[48:49], v[24:25]
	v_add_f64 v[32:33], v[50:51], v[22:23]
	v_add_f64 v[34:35], v[52:53], v[26:27]
	v_add_f64 v[36:37], v[54:55], v[18:19]
	v_add_f64 v[38:39], v[58:59], v[28:29]
	v_add_f64 v[56:57], v[40:41], -v[56:57]
	v_add_f64 v[42:43], v[48:49], -v[30:31]
	v_mul_f64 v[44:45], v[32:33], v[30:31]
	v_add_f64 v[50:51], v[32:33], -v[50:51]
	v_add_f64 v[46:47], v[52:53], -v[34:35]
	v_mul_f64 v[48:49], v[36:37], v[34:35]
	v_add_f64 v[54:55], v[36:37], -v[54:55]
	v_add_f64 v[52:53], v[58:59], -v[38:39]
	v_mul_f64 v[58:59], v[40:41], v[38:39]
	v_add_f64 v[20:21], v[20:21], -v[56:57]
	v_add_f64 v[24:25], v[24:25], v[42:43]
	v_fma_f64 v[42:43], v[32:33], v[30:31], -v[44:45]
	v_add_f64 v[22:23], v[22:23], -v[50:51]
	v_add_f64 v[26:27], v[26:27], v[46:47]
	v_fma_f64 v[46:47], v[36:37], v[34:35], -v[48:49]
	v_add_f64 v[18:19], v[18:19], -v[54:55]
	v_add_f64 v[28:29], v[28:29], v[52:53]
	v_fma_f64 v[52:53], v[40:41], v[38:39], -v[58:59]
	v_fma_f64 v[24:25], v[32:33], v[24:25], v[42:43]
	v_frexp_exp_i32_f64_e32 v42, v[2:3]
	v_fma_f64 v[26:27], v[36:37], v[26:27], v[46:47]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_fma_f64 v[28:29], v[40:41], v[28:29], v[52:53]
	v_fma_f64 v[22:23], v[22:23], v[30:31], v[24:25]
	v_frexp_exp_i32_f64_e32 v30, v[0:1]
	v_frexp_exp_i32_f64_e32 v31, v[4:5]
	v_fma_f64 v[18:19], v[18:19], v[34:35], v[26:27]
	v_subrev_co_ci_u32_e32 v42, vcc_lo, 0, v42, vcc_lo
	v_fma_f64 v[20:21], v[20:21], v[38:39], v[28:29]
	s_delay_alu instid0(VALU_DEP_2)
	v_cvt_f64_i32_e32 v[42:43], v42
	v_add_f64 v[24:25], v[44:45], v[22:23]
	v_subrev_co_ci_u32_e64 v28, s2, 0, v30, s2
	v_add_f64 v[26:27], v[48:49], v[18:19]
	v_subrev_co_ci_u32_e64 v36, s2, 0, v31, s3
	v_add_f64 v[30:31], v[58:59], v[20:21]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cvt_f64_i32_e32 v[28:29], v28
	v_cvt_f64_i32_e32 v[36:37], v36
	v_add_f64 v[32:33], v[12:13], v[24:25]
	v_add_f64 v[34:35], v[24:25], -v[44:45]
	v_add_f64 v[38:39], v[14:15], v[26:27]
	v_add_f64 v[40:41], v[26:27], -v[48:49]
	v_add_f64 v[46:47], v[16:17], v[30:31]
	v_add_f64 v[48:49], v[30:31], -v[58:59]
	v_mul_f64 v[44:45], v[28:29], s[44:45]
	v_add_f64 v[12:13], v[32:33], -v[12:13]
	v_add_f64 v[22:23], v[22:23], -v[34:35]
	v_mul_f64 v[34:35], v[36:37], s[44:45]
	v_add_f64 v[14:15], v[38:39], -v[14:15]
	v_add_f64 v[18:19], v[18:19], -v[40:41]
	v_mul_f64 v[40:41], v[42:43], s[44:45]
	v_add_f64 v[16:17], v[46:47], -v[16:17]
	v_add_f64 v[20:21], v[20:21], -v[48:49]
	v_fma_f64 v[50:51], v[28:29], s[44:45], -v[44:45]
	v_add_f64 v[12:13], v[24:25], -v[12:13]
	v_add_f64 v[6:7], v[6:7], v[22:23]
	v_fma_f64 v[22:23], v[36:37], s[44:45], -v[34:35]
	v_add_f64 v[14:15], v[26:27], -v[14:15]
	v_add_f64 v[8:9], v[8:9], v[18:19]
	v_fma_f64 v[18:19], v[42:43], s[44:45], -v[40:41]
	v_add_f64 v[16:17], v[30:31], -v[16:17]
	v_add_f64 v[10:11], v[10:11], v[20:21]
	v_fma_f64 v[20:21], v[28:29], s[46:47], v[50:51]
	v_add_f64 v[6:7], v[6:7], v[12:13]
	v_fma_f64 v[12:13], v[36:37], s[46:47], v[22:23]
	v_add_f64 v[8:9], v[8:9], v[14:15]
	v_fma_f64 v[14:15], v[42:43], s[46:47], v[18:19]
	v_add_f64 v[10:11], v[10:11], v[16:17]
	v_add_f64 v[16:17], v[44:45], v[20:21]
	v_add_f64 v[18:19], v[32:33], v[6:7]
	v_add_f64 v[22:23], v[34:35], v[12:13]
	v_add_f64 v[24:25], v[38:39], v[8:9]
	v_add_f64 v[26:27], v[40:41], v[14:15]
	v_add_f64 v[28:29], v[46:47], v[10:11]
	v_add_f64 v[44:45], v[16:17], -v[44:45]
	v_add_f64 v[30:31], v[16:17], v[18:19]
	v_add_f64 v[32:33], v[18:19], -v[32:33]
	v_add_f64 v[34:35], v[22:23], -v[34:35]
	v_add_f64 v[36:37], v[22:23], v[24:25]
	v_add_f64 v[40:41], v[26:27], -v[40:41]
	v_add_f64 v[38:39], v[24:25], -v[38:39]
	v_add_f64 v[42:43], v[26:27], v[28:29]
	v_add_f64 v[20:21], v[20:21], -v[44:45]
	v_add_f64 v[44:45], v[28:29], -v[46:47]
	v_add_f64 v[48:49], v[30:31], -v[16:17]
	v_add_f64 v[6:7], v[6:7], -v[32:33]
	v_add_f64 v[12:13], v[12:13], -v[34:35]
	v_add_f64 v[50:51], v[36:37], -v[22:23]
	v_add_f64 v[14:15], v[14:15], -v[40:41]
	v_add_f64 v[8:9], v[8:9], -v[38:39]
	v_add_f64 v[52:53], v[42:43], -v[26:27]
	v_add_f64 v[10:11], v[10:11], -v[44:45]
	v_add_f64 v[54:55], v[30:31], -v[48:49]
	v_add_f64 v[18:19], v[18:19], -v[48:49]
	v_add_f64 v[56:57], v[36:37], -v[50:51]
	v_add_f64 v[24:25], v[24:25], -v[50:51]
	v_add_f64 v[32:33], v[42:43], -v[52:53]
	v_add_f64 v[28:29], v[28:29], -v[52:53]
	v_add_f64 v[16:17], v[16:17], -v[54:55]
	v_add_f64 v[22:23], v[22:23], -v[56:57]
	s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_add_f64 v[26:27], v[26:27], -v[32:33]
	v_add_f64 v[32:33], v[20:21], v[6:7]
	v_add_f64 v[16:17], v[18:19], v[16:17]
	v_add_f64 v[18:19], v[12:13], v[8:9]
	v_add_f64 v[22:23], v[24:25], v[22:23]
	v_add_f64 v[24:25], v[14:15], v[10:11]
	v_add_f64 v[26:27], v[28:29], v[26:27]
	v_add_f64 v[28:29], v[32:33], -v[20:21]
	v_add_f64 v[16:17], v[32:33], v[16:17]
	v_add_f64 v[34:35], v[18:19], -v[12:13]
	v_add_f64 v[22:23], v[18:19], v[22:23]
	v_add_f64 v[38:39], v[24:25], -v[14:15]
	v_add_f64 v[26:27], v[24:25], v[26:27]
	v_add_f64 v[32:33], v[32:33], -v[28:29]
	v_add_f64 v[6:7], v[6:7], -v[28:29]
	v_add_f64 v[40:41], v[30:31], v[16:17]
	v_add_f64 v[18:19], v[18:19], -v[34:35]
	v_add_f64 v[8:9], v[8:9], -v[34:35]
	v_add_f64 v[44:45], v[36:37], v[22:23]
	v_add_f64 v[24:25], v[24:25], -v[38:39]
	v_add_f64 v[10:11], v[10:11], -v[38:39]
	v_add_f64 v[28:29], v[42:43], v[26:27]
	v_add_f64 v[20:21], v[20:21], -v[32:33]
	v_add_f64 v[30:31], v[40:41], -v[30:31]
	v_add_f64 v[12:13], v[12:13], -v[18:19]
	v_add_f64 v[18:19], v[44:45], -v[36:37]
	v_add_f64 v[14:15], v[14:15], -v[24:25]
	v_add_f64 v[24:25], v[28:29], -v[42:43]
	v_add_f64 v[6:7], v[6:7], v[20:21]
	v_add_f64 v[16:17], v[16:17], -v[30:31]
	v_add_f64 v[8:9], v[8:9], v[12:13]
	v_add_f64 v[12:13], v[22:23], -v[18:19]
	v_add_f64 v[10:11], v[10:11], v[14:15]
	v_add_f64 v[14:15], v[26:27], -v[24:25]
	v_add_f64 v[6:7], v[6:7], v[16:17]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[8:9], v[8:9], v[12:13]
	v_add_f64 v[10:11], v[10:11], v[14:15]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[12:13], v[40:41], v[6:7]
	v_add_f64 v[14:15], v[44:45], v[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[28:29], v[10:11]
	v_add_f64 v[18:19], v[12:13], -v[40:41]
	v_add_f64 v[20:21], v[12:13], v[12:13]
	s_delay_alu instid0(VALU_DEP_4)
	v_add_f64 v[22:23], v[14:15], -v[44:45]
	v_add_f64 v[24:25], v[14:15], v[14:15]
	v_add_f64 v[26:27], v[16:17], -v[28:29]
	v_add_f64 v[28:29], v[16:17], v[16:17]
	v_add_f64 v[6:7], v[6:7], -v[18:19]
	v_fma_f64 v[12:13], v[12:13], 2.0, -v[20:21]
	v_cmp_class_f64_e64 vcc_lo, v[20:21], 0x204
	v_add_f64 v[8:9], v[8:9], -v[22:23]
	v_fma_f64 v[14:15], v[14:15], 2.0, -v[24:25]
	v_cmp_class_f64_e64 s2, v[24:25], 0x204
	v_add_f64 v[10:11], v[10:11], -v[26:27]
	v_fma_f64 v[16:17], v[16:17], 2.0, -v[28:29]
	v_cmp_class_f64_e64 s3, v[28:29], 0x204
	v_fma_f64 v[6:7], v[6:7], 2.0, v[12:13]
	v_fma_f64 v[8:9], v[8:9], 2.0, v[14:15]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[10:11], v[10:11], 2.0, v[16:17]
	v_add_f64 v[12:13], v[20:21], v[6:7]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[14:15], v[24:25], v[8:9]
	v_add_f64 v[16:17], v[28:29], v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_dual_cndmask_b32 v19, v13, v21 :: v_dual_cndmask_b32 v18, v12, v20
	v_add_f64 v[12:13], v[12:13], -v[20:21]
	v_cndmask_b32_e64 v23, v15, v25, s2
	v_cndmask_b32_e64 v22, v14, v24, s2
	v_add_f64 v[14:15], v[14:15], -v[24:25]
	v_mul_f64 v[26:27], v[18:19], s[48:49]
	v_cndmask_b32_e64 v33, v17, v29, s3
	v_cndmask_b32_e64 v32, v16, v28, s3
	v_mul_f64 v[30:31], v[22:23], s[48:49]
	v_cmp_neq_f64_e64 vcc_lo, 0x7ff00000, |v[18:19]|
	v_cmp_neq_f64_e64 s2, 0x7ff00000, |v[22:23]|
	v_cmp_nlt_f64_e64 s3, 0x40900000, v[18:19]
	v_mul_f64 v[34:35], v[32:33], s[48:49]
	v_cmp_ngt_f64_e64 s4, 0xc090cc00, v[18:19]
	v_add_f64 v[16:17], v[16:17], -v[28:29]
	v_cmp_nlt_f64_e64 s5, 0x40900000, v[22:23]
	v_cmp_ngt_f64_e64 s6, 0xc090cc00, v[22:23]
	v_cmp_neq_f64_e64 s7, 0x7ff00000, |v[32:33]|
	v_add_f64 v[6:7], v[6:7], -v[12:13]
	v_add_f64 v[8:9], v[8:9], -v[14:15]
	v_rndne_f64_e32 v[26:27], v[26:27]
	v_rndne_f64_e32 v[30:31], v[30:31]
	v_rndne_f64_e32 v[34:35], v[34:35]
	v_add_f64 v[10:11], v[10:11], -v[16:17]
	v_dual_cndmask_b32 v7, 0, v7 :: v_dual_cndmask_b32 v6, 0, v6
	v_cmp_nlt_f64_e32 vcc_lo, 0x40900000, v[32:33]
	v_cndmask_b32_e64 v9, 0, v9, s2
	v_fma_f64 v[36:37], v[26:27], s[50:51], v[18:19]
	v_cvt_i32_f64_e32 v48, v[26:27]
	v_cndmask_b32_e64 v8, 0, v8, s2
	v_fma_f64 v[38:39], v[30:31], s[50:51], v[22:23]
	v_cmp_ngt_f64_e64 s2, 0xc090cc00, v[32:33]
	v_fma_f64 v[40:41], v[34:35], s[50:51], v[32:33]
	v_cndmask_b32_e64 v11, 0, v11, s7
	v_cndmask_b32_e64 v10, 0, v10, s7
	v_fma_f64 v[36:37], v[26:27], s[52:53], v[36:37]
	v_fma_f64 v[38:39], v[30:31], s[52:53], v[38:39]
	v_fma_f64 v[40:41], v[34:35], s[52:53], v[40:41]
	v_cvt_i32_f64_e32 v34, v[34:35]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_fma_f64 v[42:43], v[36:37], s[56:57], s[54:55]
	v_fma_f64 v[44:45], v[38:39], s[56:57], s[54:55]
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[46:47], v[40:41], s[56:57], s[54:55]
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[58:59]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[58:59]
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[58:59]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[60:61]
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[60:61]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[60:61]
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[62:63]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[62:63]
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[62:63]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[64:65]
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[64:65]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[64:65]
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[66:67]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[66:67]
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[66:67]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[68:69]
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[68:69]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[68:69]
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[70:71]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[70:71]
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[70:71]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[42:43], v[36:37], v[42:43], s[72:73]
	v_fma_f64 v[44:45], v[38:39], v[44:45], s[72:73]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[46:47], v[40:41], v[46:47], s[72:73]
	v_fma_f64 v[42:43], v[36:37], v[42:43], 1.0
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[44:45], v[38:39], v[44:45], 1.0
	v_fma_f64 v[46:47], v[40:41], v[46:47], 1.0
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_fma_f64 v[26:27], v[36:37], v[42:43], 1.0
	v_cvt_i32_f64_e32 v36, v[30:31]
	v_fma_f64 v[30:31], v[38:39], v[44:45], 1.0
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_fma_f64 v[20:21], v[40:41], v[46:47], 1.0
	v_ldexp_f64 v[24:25], v[26:27], v48
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_ldexp_f64 v[26:27], v[30:31], v36
	v_ldexp_f64 v[12:13], v[20:21], v34
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_cndmask_b32_e64 v14, 0x7ff00000, v25, s3
	s_and_b32 s3, s4, s3
	v_cndmask_b32_e64 v15, 0x7ff00000, v27, s5
	s_delay_alu instid0(VALU_DEP_2)
	v_cndmask_b32_e64 v14, 0, v14, s4
	v_cmp_neq_f64_e64 s4, 0, v[0:1]
	v_cndmask_b32_e32 v17, 0x7ff00000, v13, vcc_lo
	v_cndmask_b32_e64 v13, 0, v24, s3
	s_and_b32 vcc_lo, s2, vcc_lo
	s_and_b32 s3, s6, s5
	v_cndmask_b32_e64 v16, 0, v15, s6
	v_cndmask_b32_e64 v18, 0, v17, s2
	v_fma_f64 v[6:7], v[13:14], v[6:7], v[13:14]
	v_cndmask_b32_e32 v17, 0, v12, vcc_lo
	v_cmp_class_f64_e64 vcc_lo, v[13:14], 0x204
	v_cndmask_b32_e64 v15, 0, v26, s3
	v_cmp_neq_f64_e64 s5, 0x7ff00000, |v[4:5]|
	v_cmp_neq_f64_e64 s6, 0, v[4:5]
	v_cmp_neq_f64_e64 s3, 0x7ff00000, |v[0:1]|
	s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
	v_fma_f64 v[8:9], v[15:16], v[8:9], v[15:16]
	v_cmp_class_f64_e64 s2, v[15:16], 0x204
	v_cndmask_b32_e32 v6, v6, v13, vcc_lo
	v_fma_f64 v[10:11], v[17:18], v[10:11], v[17:18]
	v_cmp_class_f64_e64 s7, v[17:18], 0x204
	v_cndmask_b32_e64 v9, v9, v16, s2
	v_cndmask_b32_e64 v8, v8, v15, s2
	v_cmp_neq_f64_e64 s2, 0, v[2:3]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_and_b32_e32 v9, 0x7fffffff, v9
	v_cndmask_b32_e64 v9, 0x7ff00000, v9, s5
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_3) | instid1(VALU_DEP_3)
	v_cndmask_b32_e64 v5, 0, v9, s6
	v_cndmask_b32_e64 v4, v11, v18, s7
	v_cndmask_b32_e32 v7, v7, v14, vcc_lo
	v_cmp_neq_f64_e64 vcc_lo, 0x7ff00000, |v[2:3]|
	v_and_b32_e32 v4, 0x7fffffff, v4
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cndmask_b32_e32 v11, 0x7ff00000, v4, vcc_lo
	s_and_b32 vcc_lo, s2, vcc_lo
	v_and_b32_e32 v7, 0x7fffffff, v7
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1)
	v_cndmask_b32_e64 v7, 0x7ff00000, v7, s3
	s_and_b32 s3, s4, s3
	v_cndmask_b32_e64 v2, 0, v6, s3
	s_and_b32 s3, s6, s5
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_3) | instid1(VALU_DEP_1)
	v_cndmask_b32_e64 v3, 0, v7, s4
	v_cndmask_b32_e64 v4, 0, v8, s3
	s_load_b64 s[0:1], s[0:1], 0x30
	s_load_b64 s[4:5], s[10:11], 0x0
	v_add_f64 v[2:3], v[2:3], v[4:5]
	v_cndmask_b32_e64 v4, v10, v17, s7
	v_cndmask_b32_e64 v5, 0, v11, s2
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_cndmask_b32_e32 v4, 0, v4, vcc_lo
	s_waitcnt lgkmcnt(0)
	s_load_b64 s[6:7], s[0:1], 0x0
	v_add_f64 v[2:3], v[2:3], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_3) | instid1(VALU_DEP_1)
	v_cmp_gt_f64_e32 vcc_lo, 0x10000000, v[2:3]
	v_cndmask_b32_e64 v4, 0, 1, vcc_lo
	s_and_b32 s2, vcc_lo, exec_lo
	s_cselect_b32 s2, 0xffffff80, 0
	v_lshlrev_b32_e32 v4, 8, v4
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ldexp_f64 v[2:3], v[2:3], v4
	v_rsq_f64_e32 v[4:5], v[2:3]
	v_cmp_class_f64_e64 vcc_lo, v[2:3], 0x260
	s_waitcnt_depctr 0xfff
	v_mul_f64 v[6:7], v[2:3], v[4:5]
	v_mul_f64 v[4:5], v[4:5], 0.5
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], -v[4:5], v[6:7], 0.5
	v_fma_f64 v[6:7], v[6:7], v[8:9], v[6:7]
	v_fma_f64 v[4:5], v[4:5], v[8:9], v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], -v[6:7], v[6:7], v[2:3]
	v_fma_f64 v[6:7], v[8:9], v[4:5], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], -v[6:7], v[6:7], v[2:3]
	v_fma_f64 v[4:5], v[8:9], v[4:5], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ldexp_f64 v[4:5], v[4:5], s2
	v_dual_cndmask_b32 v3, v5, v3 :: v_dual_cndmask_b32 v2, v4, v2
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_frexp_mant_f64_e64 v[4:5], |v[2:3]|
	v_cmp_gt_f64_e32 vcc_lo, s[18:19], v[4:5]
	v_cndmask_b32_e64 v6, 0, 1, vcc_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ldexp_f64 v[4:5], v[4:5], v6
	v_add_f64 v[6:7], v[4:5], 1.0
	v_add_f64 v[12:13], v[4:5], -1.0
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_rcp_f64_e32 v[8:9], v[6:7]
	v_add_f64 v[14:15], v[6:7], -1.0
	v_add_f64 v[4:5], v[4:5], -v[14:15]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[10:11], -v[6:7], v[8:9], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], v[10:11], v[8:9], v[8:9]
	v_fma_f64 v[10:11], -v[6:7], v[8:9], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], v[10:11], v[8:9], v[8:9]
	v_mul_f64 v[10:11], v[12:13], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[16:17], v[6:7], v[10:11]
	v_fma_f64 v[6:7], v[10:11], v[6:7], -v[16:17]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[4:5], v[10:11], v[4:5], v[6:7]
	v_add_f64 v[6:7], v[16:17], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[14:15], v[12:13], -v[6:7]
	v_add_f64 v[16:17], v[6:7], -v[16:17]
	v_add_f64 v[12:13], v[12:13], -v[14:15]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[4:5], v[16:17], -v[4:5]
	v_add_f64 v[6:7], v[12:13], -v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[4:5], v[4:5], v[6:7]
	v_add_f64 v[4:5], v[14:15], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[4:5], v[8:9], v[4:5]
	v_add_f64 v[6:7], v[10:11], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[8:9], v[6:7], -v[10:11]
	v_mul_f64 v[10:11], v[6:7], v[6:7]
	v_add_f64 v[4:5], v[4:5], -v[8:9]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fma_f64 v[8:9], v[6:7], v[6:7], -v[10:11]
	v_add_f64 v[12:13], v[4:5], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[8:9], v[6:7], v[12:13], v[8:9]
	v_add_f64 v[12:13], v[10:11], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_3)
	v_fma_f64 v[14:15], v[12:13], s[22:23], s[20:21]
	v_add_f64 v[10:11], v[12:13], -v[10:11]
	v_mul_f64 v[20:21], v[6:7], v[12:13]
	v_fma_f64 v[14:15], v[12:13], v[14:15], s[24:25]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[8:9], v[8:9], -v[10:11]
	v_fma_f64 v[14:15], v[12:13], v[14:15], s[26:27]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[14:15], v[12:13], v[14:15], s[28:29]
	v_fma_f64 v[14:15], v[12:13], v[14:15], s[30:31]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[14:15], v[12:13], v[14:15], s[34:35]
	v_fma_f64 v[14:15], v[12:13], v[14:15], s[36:37]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[14:15], v[12:13], v[14:15], s[38:39]
	v_mul_f64 v[16:17], v[12:13], v[14:15]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[10:11], v[12:13], v[14:15], -v[16:17]
	v_fma_f64 v[10:11], v[8:9], v[14:15], v[10:11]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[14:15], v[16:17], v[10:11]
	v_add_f64 v[18:19], v[14:15], s[18:19]
	v_add_f64 v[16:17], v[14:15], -v[16:17]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[22:23], v[18:19], s[40:41]
	v_add_f64 v[10:11], v[10:11], -v[16:17]
	v_fma_f64 v[16:17], v[12:13], v[6:7], -v[20:21]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[14:15], v[14:15], -v[22:23]
	v_add_f64 v[10:11], v[10:11], s[42:43]
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_fma_f64 v[12:13], v[12:13], v[4:5], v[16:17]
	v_ldexp_f64 v[4:5], v[4:5], 1
	v_add_f64 v[10:11], v[10:11], v[14:15]
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_fma_f64 v[8:9], v[8:9], v[6:7], v[12:13]
	v_ldexp_f64 v[6:7], v[6:7], 1
	v_add_f64 v[12:13], v[18:19], v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[14:15], v[20:21], v[8:9]
	v_add_f64 v[16:17], v[18:19], -v[12:13]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_mul_f64 v[18:19], v[14:15], v[12:13]
	v_add_f64 v[20:21], v[14:15], -v[20:21]
	v_add_f64 v[10:11], v[10:11], v[16:17]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[16:17], v[14:15], v[12:13], -v[18:19]
	v_add_f64 v[8:9], v[8:9], -v[20:21]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[10:11], v[14:15], v[10:11], v[16:17]
	v_fma_f64 v[8:9], v[8:9], v[12:13], v[10:11]
	v_frexp_exp_i32_f64_e32 v12, v[2:3]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[10:11], v[18:19], v[8:9]
	v_subrev_co_ci_u32_e32 v12, vcc_lo, 0, v12, vcc_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cvt_f64_i32_e32 v[12:13], v12
	v_add_f64 v[14:15], v[6:7], v[10:11]
	v_add_f64 v[16:17], v[10:11], -v[18:19]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f64 v[18:19], v[12:13], s[44:45]
	v_add_f64 v[6:7], v[14:15], -v[6:7]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[8:9], v[8:9], -v[16:17]
	v_fma_f64 v[16:17], v[12:13], s[44:45], -v[18:19]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[6:7], v[10:11], -v[6:7]
	v_add_f64 v[4:5], v[4:5], v[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fma_f64 v[8:9], v[12:13], s[46:47], v[16:17]
	v_add_f64 v[4:5], v[4:5], v[6:7]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[6:7], v[18:19], v[8:9]
	v_add_f64 v[10:11], v[14:15], v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[18:19], v[6:7], -v[18:19]
	v_add_f64 v[12:13], v[6:7], v[10:11]
	v_add_f64 v[14:15], v[10:11], -v[14:15]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[8:9], v[8:9], -v[18:19]
	v_add_f64 v[16:17], v[12:13], -v[6:7]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[4:5], v[4:5], -v[14:15]
	v_add_f64 v[20:21], v[12:13], -v[16:17]
	v_add_f64 v[10:11], v[10:11], -v[16:17]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[14:15], v[8:9], v[4:5]
	v_add_f64 v[6:7], v[6:7], -v[20:21]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[6:7], v[10:11], v[6:7]
	v_add_f64 v[10:11], v[14:15], -v[8:9]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[6:7], v[14:15], v[6:7]
	v_add_f64 v[14:15], v[14:15], -v[10:11]
	v_add_f64 v[4:5], v[4:5], -v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[12:13], v[6:7]
	v_add_f64 v[8:9], v[8:9], -v[14:15]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[10:11], v[16:17], -v[12:13]
	v_add_f64 v[4:5], v[4:5], v[8:9]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[6:7], v[6:7], -v[10:11]
	v_add_f64 v[4:5], v[4:5], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[6:7], v[16:17], v[4:5]
	v_add_f64 v[8:9], v[6:7], -v[16:17]
	v_add_f64 v[10:11], v[6:7], v[6:7]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[4:5], v[4:5], -v[8:9]
	v_fma_f64 v[6:7], v[6:7], 2.0, -v[10:11]
	v_cmp_class_f64_e64 vcc_lo, v[10:11], 0x204
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[4:5], v[4:5], 2.0, v[6:7]
	v_add_f64 v[6:7], v[10:11], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_dual_cndmask_b32 v8, v6, v10 :: v_dual_cndmask_b32 v9, v7, v11
	v_add_f64 v[6:7], v[6:7], -v[10:11]
	v_cmp_neq_f64_e64 vcc_lo, 0x7ff00000, |v[8:9]|
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[4:5], v[4:5], -v[6:7]
	v_cndmask_b32_e32 v4, 0, v4, vcc_lo
	v_mul_f64 v[12:13], v[8:9], s[48:49]
	v_cmp_nlt_f64_e64 s2, 0x40900000, v[8:9]
	v_cmp_ngt_f64_e64 s3, 0xc090cc00, v[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_rndne_f64_e32 v[12:13], v[12:13]
	v_fma_f64 v[14:15], v[12:13], s[50:51], v[8:9]
	v_cvt_i32_f64_e32 v18, v[12:13]
	s_waitcnt lgkmcnt(0)
	v_div_scale_f64 v[8:9], null, v[2:3], v[2:3], s[6:7]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[14:15], v[12:13], s[52:53], v[14:15]
	v_fma_f64 v[16:17], v[14:15], s[56:57], s[54:55]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[58:59]
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[60:61]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[62:63]
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[64:65]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[66:67]
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[68:69]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[70:71]
	v_fma_f64 v[16:17], v[14:15], v[16:17], s[72:73]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[16:17], v[14:15], v[16:17], 1.0
	v_fma_f64 v[12:13], v[14:15], v[16:17], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_3) | instid1(VALU_DEP_2)
	v_ldexp_f64 v[10:11], v[12:13], v18
	v_cndmask_b32_e32 v5, 0, v5, vcc_lo
	s_and_b32 vcc_lo, s3, s2
	v_rcp_f64_e32 v[12:13], v[8:9]
	v_cndmask_b32_e64 v6, 0x7ff00000, v11, s2
	v_cmp_neq_f64_e64 s2, 0x7ff00000, |v[2:3]|
	s_delay_alu instid0(VALU_DEP_2)
	v_cndmask_b32_e64 v7, 0, v6, s3
	v_cndmask_b32_e32 v6, 0, v10, vcc_lo
	v_cmp_neq_f64_e64 s3, 0, v[2:3]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[16:17], -v[8:9], v[12:13], 1.0
	v_fma_f64 v[4:5], v[6:7], v[4:5], v[6:7]
	v_cmp_class_f64_e64 vcc_lo, v[6:7], 0x204
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[12:13], v[12:13], v[16:17], v[12:13]
	v_dual_cndmask_b32 v5, v5, v7 :: v_dual_cndmask_b32 v4, v4, v6
	s_and_b32 vcc_lo, s3, s2
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_dual_cndmask_b32 v4, 0, v4 :: v_dual_and_b32 v5, 0x7fffffff, v5
	v_cndmask_b32_e64 v5, 0x7ff00000, v5, s2
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_cndmask_b32_e64 v5, 0, v5, s3
	v_div_scale_f64 v[6:7], null, v[4:5], v[4:5], s[4:5]
	v_div_scale_f64 v[18:19], vcc_lo, s[4:5], v[4:5], s[4:5]
	v_fma_f64 v[16:17], -v[8:9], v[12:13], 1.0
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_rcp_f64_e32 v[10:11], v[6:7]
	v_fma_f64 v[12:13], v[12:13], v[16:17], v[12:13]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[14:15], -v[6:7], v[10:11], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[10:11], v[10:11], v[14:15], v[10:11]
	v_fma_f64 v[14:15], -v[6:7], v[10:11], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[10:11], v[10:11], v[14:15], v[10:11]
	v_div_scale_f64 v[14:15], s0, s[6:7], v[2:3], s[6:7]
	v_mul_f64 v[16:17], v[18:19], v[10:11]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_mul_f64 v[20:21], v[14:15], v[12:13]
	v_fma_f64 v[6:7], -v[6:7], v[16:17], v[18:19]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fma_f64 v[8:9], -v[8:9], v[20:21], v[14:15]
	v_div_fmas_f64 v[6:7], v[6:7], v[10:11], v[16:17]
	s_mov_b32 vcc_lo, s0
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_div_fmas_f64 v[8:9], v[8:9], v[12:13], v[20:21]
	v_div_fixup_f64 v[4:5], v[6:7], v[4:5], s[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fixup_f64 v[2:3], v[8:9], v[2:3], s[6:7]
	v_frexp_mant_f64_e64 v[8:9], |v[2:3]|
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_cmp_gt_f64_e32 vcc_lo, s[18:19], v[8:9]
	v_cndmask_b32_e64 v10, 0, 1, vcc_lo
	v_ldexp_f64 v[8:9], v[8:9], v10
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[10:11], v[8:9], 1.0
	v_add_f64 v[16:17], v[8:9], -1.0
	v_rcp_f64_e32 v[12:13], v[10:11]
	v_add_f64 v[18:19], v[10:11], -1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_add_f64 v[8:9], v[8:9], -v[18:19]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[14:15], -v[10:11], v[12:13], 1.0
	v_fma_f64 v[12:13], v[14:15], v[12:13], v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[14:15], -v[10:11], v[12:13], 1.0
	v_fma_f64 v[12:13], v[14:15], v[12:13], v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[14:15], v[16:17], v[12:13]
	v_mul_f64 v[20:21], v[10:11], v[14:15]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[10:11], v[14:15], v[10:11], -v[20:21]
	v_fma_f64 v[8:9], v[14:15], v[8:9], v[10:11]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[10:11], v[20:21], v[8:9]
	v_add_f64 v[18:19], v[16:17], -v[10:11]
	v_add_f64 v[20:21], v[10:11], -v[20:21]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[16:17], v[16:17], -v[18:19]
	v_add_f64 v[8:9], v[20:21], -v[8:9]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[10:11], v[16:17], -v[10:11]
	v_add_f64 v[8:9], v[8:9], v[10:11]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[8:9], v[18:19], v[8:9]
	v_mul_f64 v[8:9], v[12:13], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[10:11], v[14:15], v[8:9]
	v_add_f64 v[12:13], v[10:11], -v[14:15]
	v_mul_f64 v[14:15], v[10:11], v[10:11]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[8:9], v[8:9], -v[12:13]
	v_fma_f64 v[12:13], v[10:11], v[10:11], -v[14:15]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[16:17], v[8:9], v[8:9]
	v_fma_f64 v[12:13], v[10:11], v[16:17], v[12:13]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[16:17], v[14:15], v[12:13]
	v_fma_f64 v[18:19], v[16:17], s[22:23], s[20:21]
	v_add_f64 v[14:15], v[16:17], -v[14:15]
	v_mul_f64 v[24:25], v[10:11], v[16:17]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[18:19], v[16:17], v[18:19], s[24:25]
	v_add_f64 v[12:13], v[12:13], -v[14:15]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[18:19], v[16:17], v[18:19], s[26:27]
	v_fma_f64 v[18:19], v[16:17], v[18:19], s[28:29]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[18:19], v[16:17], v[18:19], s[30:31]
	v_fma_f64 v[18:19], v[16:17], v[18:19], s[34:35]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[18:19], v[16:17], v[18:19], s[36:37]
	v_fma_f64 v[18:19], v[16:17], v[18:19], s[38:39]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[20:21], v[16:17], v[18:19]
	v_fma_f64 v[14:15], v[16:17], v[18:19], -v[20:21]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[14:15], v[12:13], v[18:19], v[14:15]
	v_add_f64 v[18:19], v[20:21], v[14:15]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[22:23], v[18:19], s[18:19]
	v_add_f64 v[20:21], v[18:19], -v[20:21]
	v_add_f64 v[26:27], v[22:23], s[40:41]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[14:15], v[14:15], -v[20:21]
	v_fma_f64 v[20:21], v[16:17], v[10:11], -v[24:25]
	v_add_f64 v[18:19], v[18:19], -v[26:27]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[14:15], v[14:15], s[42:43]
	v_fma_f64 v[16:17], v[16:17], v[8:9], v[20:21]
	v_ldexp_f64 v[8:9], v[8:9], 1
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[14:15], v[14:15], v[18:19]
	v_fma_f64 v[12:13], v[12:13], v[10:11], v[16:17]
	v_ldexp_f64 v[10:11], v[10:11], 1
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[22:23], v[14:15]
	v_add_f64 v[18:19], v[24:25], v[12:13]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[20:21], v[22:23], -v[16:17]
	v_mul_f64 v[22:23], v[18:19], v[16:17]
	v_add_f64 v[24:25], v[18:19], -v[24:25]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[14:15], v[14:15], v[20:21]
	v_fma_f64 v[20:21], v[18:19], v[16:17], -v[22:23]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[12:13], v[12:13], -v[24:25]
	v_fma_f64 v[14:15], v[18:19], v[14:15], v[20:21]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[12:13], v[12:13], v[16:17], v[14:15]
	v_frexp_exp_i32_f64_e32 v16, v[2:3]
	v_add_f64 v[14:15], v[22:23], v[12:13]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_subrev_co_ci_u32_e32 v16, vcc_lo, 0, v16, vcc_lo
	v_cvt_f64_i32_e32 v[16:17], v16
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[18:19], v[10:11], v[14:15]
	v_add_f64 v[20:21], v[14:15], -v[22:23]
	v_mul_f64 v[22:23], v[16:17], s[44:45]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[10:11], v[18:19], -v[10:11]
	v_add_f64 v[12:13], v[12:13], -v[20:21]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_fma_f64 v[20:21], v[16:17], s[44:45], -v[22:23]
	v_add_f64 v[10:11], v[14:15], -v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[8:9], v[8:9], v[12:13]
	v_fma_f64 v[12:13], v[16:17], s[46:47], v[20:21]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[8:9], v[8:9], v[10:11]
	v_add_f64 v[10:11], v[22:23], v[12:13]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[14:15], v[18:19], v[8:9]
	v_add_f64 v[22:23], v[10:11], -v[22:23]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[16:17], v[10:11], v[14:15]
	v_add_f64 v[18:19], v[14:15], -v[18:19]
	v_add_f64 v[12:13], v[12:13], -v[22:23]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_f64 v[20:21], v[16:17], -v[10:11]
	v_add_f64 v[8:9], v[8:9], -v[18:19]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[24:25], v[16:17], -v[20:21]
	v_add_f64 v[14:15], v[14:15], -v[20:21]
	v_add_f64 v[18:19], v[12:13], v[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[10:11], v[10:11], -v[24:25]
	v_add_f64 v[10:11], v[14:15], v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[14:15], v[18:19], -v[12:13]
	v_add_f64 v[10:11], v[18:19], v[10:11]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_add_f64 v[18:19], v[18:19], -v[14:15]
	v_add_f64 v[8:9], v[8:9], -v[14:15]
	v_add_f64 v[20:21], v[16:17], v[10:11]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[12:13], v[12:13], -v[18:19]
	v_add_f64 v[14:15], v[20:21], -v[16:17]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_f64 v[8:9], v[8:9], v[12:13]
	v_add_f64 v[10:11], v[10:11], -v[14:15]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[8:9], v[8:9], v[10:11]
	v_add_f64 v[10:11], v[20:21], v[8:9]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_add_f64 v[12:13], v[10:11], -v[20:21]
	v_mul_f64 v[14:15], 0x40180000, v[10:11]
	v_add_f64 v[8:9], v[8:9], -v[12:13]
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[10:11], 0x40180000, v[10:11], -v[14:15]
	v_cmp_class_f64_e64 vcc_lo, v[14:15], 0x204
	v_fma_f64 v[8:9], 0x40180000, v[8:9], v[10:11]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[10:11], v[14:15], v[8:9]
	v_dual_cndmask_b32 v13, v11, v15 :: v_dual_cndmask_b32 v12, v10, v14
	v_add_f64 v[10:11], v[10:11], -v[14:15]
	s_delay_alu instid0(VALU_DEP_2)
	v_mul_f64 v[16:17], v[12:13], s[48:49]
	v_cmp_nlt_f64_e64 s0, 0x40900000, v[12:13]
	v_cmp_neq_f64_e64 vcc_lo, 0x7ff00000, |v[12:13]|
	v_cmp_ngt_f64_e64 s1, 0xc090cc00, v[12:13]
	v_add_f64 v[8:9], v[8:9], -v[10:11]
	v_rndne_f64_e32 v[16:17], v[16:17]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_dual_cndmask_b32 v9, 0, v9 :: v_dual_cndmask_b32 v8, 0, v8
	s_and_b32 vcc_lo, s1, s0
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[18:19], v[16:17], s[50:51], v[12:13]
	v_cvt_i32_f64_e32 v22, v[16:17]
	v_fma_f64 v[18:19], v[16:17], s[52:53], v[18:19]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[20:21], v[18:19], s[56:57], s[54:55]
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[58:59]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[60:61]
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[62:63]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[64:65]
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[66:67]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[68:69]
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[70:71]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[20:21], v[18:19], v[20:21], s[72:73]
	v_fma_f64 v[20:21], v[18:19], v[20:21], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[16:17], v[18:19], v[20:21], 1.0
	v_ldexp_f64 v[14:15], v[16:17], v22
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_cndmask_b32_e64 v10, 0x7ff00000, v15, s0
	v_cmp_neq_f64_e64 s0, 0x7ff00000, |v[2:3]|
	v_cndmask_b32_e64 v11, 0, v10, s1
	s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_2) | instid1(VALU_DEP_3)
	v_cndmask_b32_e32 v10, 0, v14, vcc_lo
	v_cmp_neq_f64_e64 s1, 0, v[2:3]
	v_mul_f64 v[2:3], 0x40380000, v[4:5]
	v_fma_f64 v[8:9], v[10:11], v[8:9], v[10:11]
	v_cmp_class_f64_e64 vcc_lo, v[10:11], 0x204
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cndmask_b32_e32 v6, v9, v11, vcc_lo
	v_cndmask_b32_e32 v4, v8, v10, vcc_lo
	s_and_b32 vcc_lo, s1, s0
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_and_b32_e32 v6, 0x7fffffff, v6
	v_cndmask_b32_e32 v4, 0, v4, vcc_lo
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_cndmask_b32_e64 v6, 0x7ff00000, v6, s0
	s_add_u32 s0, s8, s12
	v_cndmask_b32_e64 v5, 0, v6, s1
	v_mov_b32_e32 v6, 0
	s_addc_u32 s1, s9, s13
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_mul_f64 v[2:3], v[4:5], v[2:3]
	v_fma_f64 v[4:5], v[4:5], 2.0, -1.0
	v_mul_f64 v[2:3], v[2:3], v[4:5]
	s_delay_alu instid0(VALU_DEP_1)
	v_mul_f64 v[0:1], v[0:1], v[2:3]
	global_store_b64 v6, v[0:1], s[0:1]
	s_clause 0x1
	global_load_b64 v[0:1], v6, s[14:15] offset:8
	global_load_b64 v[4:5], v6, s[16:17] offset:8
	s_waitcnt vmcnt(0)
	v_add_f64 v[0:1], v[0:1], -v[4:5]
	s_delay_alu instid0(VALU_DEP_1)
	v_mul_f64 v[0:1], v[0:1], v[2:3]
	global_store_b64 v6, v[0:1], s[0:1] offset:8
	s_clause 0x1
	global_load_b64 v[0:1], v6, s[14:15] offset:16
	global_load_b64 v[4:5], v6, s[16:17] offset:16
	s_waitcnt vmcnt(0)
	v_add_f64 v[0:1], v[0:1], -v[4:5]
	s_delay_alu instid0(VALU_DEP_1)
	v_mul_f64 v[0:1], v[0:1], v[2:3]
	global_store_b64 v6, v[0:1], s[0:1] offset:16
.LBB2_2:
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 56
		.amdhsa_user_sgpr_count 14
		.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 1
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 68
		.amdhsa_next_free_sgpr 74
		.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_end2:
	.size	_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_, .Lfunc_end2-_Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 8192
; NumSgprs: 76
; NumVgprs: 68
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 9
; VGPRBlocks: 8
; NumSGPRsForWavesPerEU: 76
; NumVGPRsForWavesPerEU: 68
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 14
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.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:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .offset:         8
        .size:           8
        .value_kind:     by_value
      - .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
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 48
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z9updateVelPddS_S_PiS_
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z9updateVelPddS_S_PiS_.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     13
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .offset:         8
        .size:           8
        .value_kind:     by_value
      - .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
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 40
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z9updatePosPddS_S_Pi
    .private_segment_fixed_size: 0
    .sgpr_count:     20
    .sgpr_spill_count: 0
    .symbol:         _Z9updatePosPddS_S_Pi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     20
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .offset:         0
        .size:           4
        .value_kind:     by_value
      - .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
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 56
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z17forceTwoParticlesiPiPdS0_S0_S0_S0_
    .private_segment_fixed_size: 0
    .sgpr_count:     76
    .sgpr_spill_count: 0
    .symbol:         _Z17forceTwoParticlesiPiPdS0_S0_S0_S0_.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     68
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
amdhsa.target:   amdgcn-amd-amdhsa--gfx1100
amdhsa.version:
  - 1
  - 2
...

	.end_amdgpu_metadata
