/* CUDA version of the DBNN code for classification of stars, galaxies. The code was originally written by Prof. Sajeeth

Author: Ajay Vibhute

*/


#include <stdio.h>
#include <math.h>
#include <string.h>
#include <iostream>
using namespace std;
#include <stdlib.h>
#include<sys/times.h> // times() fun. is here.
#include <time.h>
#include <vector>
#define classes 500
#define max_resol 1600
#define features 100
#include"kernel.cu"
using std::vector;
/**************************
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

#include "vsipc.h"
***************************/

//#define oneround 100       //  Memory size.
//#define fst_gain 1.0 Moved to be a floating variable
static float bgain,gain,dmyclass[classes+2],classval[classes+2],cmax,c2max,c3max,c4max,tmp2_wts,totprob,oldj;
static float LoC=0.65;
static float nLoC=0.0;
static int jx=0, resol=100,nresol=0,nerror=0,nLoCcnt=1,skpchk=0,MissingDat=-9999;
static float omax,omin,rslt,rslt2,orslt,orslt2,prslt,nrslt,fst_gain;
clock_t start,stop;
static int argfnd, oneround=100,kmax,k2max,k3max,k4max,ans1,tcnt,rnn,rnd,i,j,k,l,n,m,p,c1cnt,c2cnt,pcnt,pocnt,invcnt,innodes=100,outnodes=100;
char fln[256],fltmp[256],urchoice,urchoicex,bcchoice,savedpar;
FILE *fl1,*fl2,*fl3,*fl4,*fl5,*fl6,*fl7,*fl8,*fl9,*fl10;
int main(int argv, char *argp[256])
/*
 Important note for revision in ver. 4.02
 Compute the bin center of gravities and the Kernel fit that holds the probability to
 find them. The slope of it should be used as bgain for each bin.
*/
/*
 You can now run dbnn in automated mode by specifying the parameters in 0.par and 1.par
 files. Also dbnn can now use the bin values from the saved apf file.
*/
{
	if(argv > 3)
	{
		argfnd=1;
		cout << "The selected option is " << *argp[3] <<"\n";    
		switch(*argp[3])
		{
			case '0':
				ans1=0;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
			else
			{ 
				cout << "No Parameter File... existing..";
				exit(1);
			}
			break;
			case '1':
				ans1=1;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
				if((fl2=fopen("1.par","r"))!=NULL)
				{
					fscanf(fl2,"%f",&gain);
					fscanf(fl2,"%d",&oneround);
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
			break;
			case '2':
				ans1=2;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
			break;
			case '3':
				ans1=3;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
			break;
				default:
					cout << "Create the APF file(0) or Create the Weights file (1) or Classify Data(2,3) ?";
					cin >> ans1;
			break;
		}
    }
    else
    {
		argfnd=0;
		cout << "Create the APF file(0) or Create the Weights file (1) or Classify Data(2,3) ?";
		cin >> ans1;
    }
    if(ans1 == 2)
    {
		if(argfnd==1)
		bgain=0.0;
		else
		{
			cout << "Allowed relaxation on the boundary (in % use 0 for default from training data) :";
			cin >> bgain;
			bgain=bgain*1.0;
		}
    }
    else
    bgain= 0;  // During training we are strict on boundary constraints.
    if(argv < 3)
    {
		cout << "Enter the name of the input file without extension (dat) :";
		cin >> fln;
    }
    else
    {
		strcpy(fln,argp[1]);
    }
    strcpy(fltmp,fln);
    strcat(fltmp,".dat");
/*
  The structure of the data file is:
  Feature1 Feature2 Feature3 ....(etc upto innodes) ActualClass
  Feature1 Feature2 Feature3 ....(etc upto innodes) ActualClass
  Feature1 Feature2 Feature3 ....(etc upto innodes) ActualClass
  The delimiters are spaces and not tabs!!
  ActualClass should be a numeric > 0
*/
    if((fl1=fopen(fltmp,"r"))!=NULL)
    {
		strcpy(fltmp,fln);
	    strcat(fltmp,".inf");
/*
  The format of the info file is: (in each line enter)
  innodes
  outnodes
  margin   <- This addition is required for regression problems.
  1.0       <- You can give any real positive value here. It is just a label.
  2.0
  ... (etc. upto no of classes)
  0.65 <- The Margin or Line of Control for marginal values.
  100 <- By default, the maximum bin size is set to 100. You can change this if required.
  0,1,2 <- no error bars, uniform error bar, upper lower separate error values per entry.
*/	
     	if((fl2=fopen(fltmp,"r"))!=NULL)
	    {
			i=0;
			fscanf(fl2,"%d",&innodes);
			fscanf(fl2,"%d",&outnodes);
			for (i=0;i<=outnodes;i++) // dmyclass[0] contains margin others are expected values.
			fscanf(fl2,"%f",&dmyclass[i]);
			fscanf(fl2,"%f",&LoC);   // New parameter to specify the Line Of Control
			fscanf(fl2,"%d",&nresol);
			fscanf(fl2,"%d",&nerror);
			cout <<"You have "<< innodes << " input nodes and " << outnodes <<" Output nodes with " << "margin set to " << LoC << " and error levels set to "<< nerror <<"\n";
			cout << "The target outputs are\n";
			for (i=0;i<=outnodes;i++) cout << dmyclass[i] <<"\n";
			if(nresol >0) 
			{
				resol=nresol;cout << "The maximum binsize is: " << resol <<"\n";
			}	
			else
			{
				cout << "The maximum binsize is: " << resol<<"\n";
			}
			fst_gain*=1.0/outnodes;
	    }
	    else
	    {
			cout << "Unable to find the Info file. Exiting !!";
			exit(1);
	    }
  
    } // program ends.
    else   // data file read error.
    {
		cout << "Unable to open the data file";
		exit(1);
    }
    cout << "Going to initialise the arrays\n";
 /**************** Let us Define the Network Structure *********************************/
//float mask_disp_maxres; // Space to save max resol for normalisation of mask_dist
    strcpy(fltmp,fln);
    strcat(fltmp,".dat");

	int numlines=getNumlines(fltmp);
	printf("NUMLINES:%d\n",numlines);

	float vectso[innodes+outnodes+2],tmpv,max[innodes+2],min[innodes+2],vects[innodes+outnodes+2];
	float err1vects[innodes+2], err2vects[innodes+2];
	//float arr_vects[numlines][innodes+outnodes+2];
	float *arr_tmpv=(float*)malloc(sizeof(float)*(numlines+2));
	float *arr_vects=(float*)malloc(sizeof(float)*(numlines+2)*(innodes+outnodes+2));
	float *arr_err1vects=(float*)malloc(sizeof(float)*(numlines+2)*(innodes+2));
	float *arr_err2vects=(float*)malloc(sizeof(float)*(numlines+2)*(innodes+2));
	int totsize=(innodes+2)*(resol+2)*(innodes+2)*(resol+4)*(outnodes+2);
	int totsendreceivesize=(innodes+1)*(resol+2)*(innodes+1)*(resol+1)*(outnodes+1);
	float *arr_anti_wts=(float*) malloc(totsize*sizeof(float));
	int *arr_anti_net=(int*)malloc(sizeof(int)*totsize);
	int ik=innodes+1,jk=resol+1,lk=innodes+1,mk=resol+1,kk=outnodes+1;
	int resolution[innodes+8];
	float classtot[innodes+2][resol+2];           // Total Prob. computed
	if(classtot==NULL){cout << "Out of Memory to Run Code at classtot.. Exiting\n";exit(1);}
	//float binloc[innodes+4][resol+8];
	float *arr_binloc=(float*)malloc(sizeof(float)*(innodes+4)*(resol+8));
	int rn=resol+1;
	int iin=innodes+4;





  /***************************Let us put up the Network***********************************/
//    Start the counter for case 2 here.................
	start = times(NULL);
	if (ans1==0)
	{
		n=0;
	    omax=-400;
	    omin=400;
	    while (!feof(fl1))
		{
			skpchk=0;
			for(i=1;i<=innodes;i++)
			if (n==0)
			{
			fscanf(fl1,"%f",&vects[i]); 
			if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
			if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]); err2vects[i]=err1vects[i];} 
			if(vects[i] != MissingDat)
				{
					min[i]=vects[i];
					max[i]=vects[i];
				}
				else max[i]=MissingDat;
			}
			else
			{
				fscanf(fl1,"%f",&vects[i]);
				if(vects[i] != MissingDat)
				{
					if( vects[i]> max[i]) max[i]=vects[i];
					if (min[i] > vects[i]) min[i]=vects[i];
				}
			}
			fscanf(fl1,"%f\n",&tmpv);
			if(tmpv>omax) omax = tmpv;
			if(tmpv<omin) omin =tmpv;
			k=1;
			j=1;
			n++;
		}
		cout << "No of vectors =" << n <<" and i/n is= " << 1.0/n << "\n";
		for(i=1;i<=innodes;i++)
		{
			if(min[i]==max[i])if(min[i]!=0){min[i]= -1.0*max[i];}else{min[i]=0.0; max[i]=1.0;}
		}
		if(argfnd==0)
		{
			cout <<"Do you want to use the saved parameters (Y/N)? ";
			cin >>savedpar;
		}
		if (savedpar == 'y') savedpar='Y';
		else
		if(savedpar == 'n') savedpar='N';
		if((savedpar == 'Y') || (savedpar=='y'))
		{
			strcpy(fltmp,fln);
			strcat(fltmp,".apf");
			fl2=NULL;
			if((fl2=fopen(fltmp,"r"))!=NULL)
			{
				cout << "Reading from the saved information\n";
				for (i=1;i<=innodes;i++)
				{
					fscanf(fl2,"%d",&resolution[i]);
					for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;
				}
				cout << innodes << " items read from " << fltmp <<"\n";
			}
			else
			{
				cout << "ERROR: File " << fltmp << " not found" << "\n";
				exit(1);
			}
		}
		else
		for(i=1;i<=innodes;i++)
		{
			if(min[i]==max[i])if(min[i]!=0){min[i]= -1.0*max[i];}else{min[i]=0.0; max[i]=1.0;}
			cin >> resolution[i];
			for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;

		}
		for(k=1;k<=outnodes;k++)
		for(i=1;i<=innodes;i++)
		for(j=0;j<=resolution[i];j++)
		for(l=1;l<=innodes;l++)
		for(m=0;m<=resolution[l];m++)
		{
			//anti_net[i][j][l][m][k]=1;
			//anti_wts[i][j][l][m][k]=(float)(1.0);
			arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]=(double)(1.0);
			arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]=1;
		}
      // Start the counter now...............
		start = times(NULL);
		rewind(fl1);
tcnt=0;
		while (!feof(fl1))
		{
			tcnt++;
            		for (i=1;i<=innodes;i++) 
            		{
				fscanf(fl1,"%f",&vects[i]); 
				if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
				if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]);err2vects[i]=err1vects[i];} 
			}
			fscanf(fl1,"%f\n",&tmpv);
			for(i=1;i<=innodes;i++)
			{
				if((vects[i] != MissingDat)&&(max[i] !=MissingDat))
				{
					vectso[i]=vects[i];
					vects[i]=round((vects[i]-min[i])/(max[i]-min[i])*resolution[i]);
					err1vects[i]=round((err1vects[i])/(max[i]-min[i])*resolution[i]);
					err2vects[i]=round((err2vects[i])/(max[i]-min[i])*resolution[i]);
				}
			}
			for (i=1;i<=innodes;i++)
			{
				j=0;
				if(vects[i] != MissingDat)
				{
//					oldj=(float)2*resolution[i];

					while ((fabs(vects[i]-arr_binloc[(i*rn)+(j+1)]) >=1.0 )&& (j<= resolution[i]))
					{
	//					oldj=fabs(vects[i]-binloc[i][j+1]);
						j++;
					}
					for (l=1;l<=innodes;l++)
					{
						m=0;
						if(i!=l)
						{
//							oldj=(float)2*resolution[l];
							while ((fabs(vects[l]-arr_binloc[(l*rn)+(m+1)]) >=1.0)&& (m<= resolution[l]))
							{
	//							oldj=fabs(vects[l]-binloc[l][m+1]);
								m++;
							}
							k=1;
							while ((k<=outnodes)&&(fabs(tmpv - dmyclass[k])) > dmyclass[0]) k++;
							//(anti_net[i][j][l][m][k])++;
							//(anti_net[i][j][l][m][0])++;
							(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)])++;
							(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)])++;


						}

					}
				}
			}
		}//end of while
		fclose(fl1);
		fclose(fl2);
		stop = times(NULL);
		cout << "The computation took " << fabs(start - stop)*10000/(CLOCKS_PER_SEC) << " Secs.\n";
         /*
            The conditional Probability,
	    P(A|B) = P(A intersection B)/P(B) is the
	    probability for the occurance of A(k) if B(ij) has happened =
	    Share of B(ij) that is held by A(k) / Probability of total B(ij)
	    in that particular feature i with resolution j.

                      */
		strcpy(fltmp,fln);
		strcat(fltmp,".awf");      // This file holds the weights
		fl6=fopen(fltmp,"w+");
		strcpy(fltmp,fln);
		strcat(fltmp,".apf");     // This file holds the estimated probability
		if((fl1=fopen(fltmp,"w+"))!=NULL)
		{
			for(i=1;i<=innodes;i++) fprintf(fl1,"%d ",resolution[i]);
			fprintf(fl1,"\n%f %f \n",omax,omin);
			for(i=1;i<=innodes;i++) fprintf(fl1,"%f ",max[i]);
			fprintf(fl1,"\n");
			for(i=1;i<=innodes;i++) fprintf(fl1,"%f ",min[i]);
			fprintf(fl1,"\n");
			for(k=1;k<=outnodes;k++)
			{
				for(i=1;i<=innodes;i++)
				for(j=0;j<=resolution[i];j++)
				{
					for(l=1;l<=innodes;l++)
					if(i!=l)
					{
						for(m=0;m<=resolution[l];m++)
						{
							//fprintf(fl1,"%d ",anti_net[i][j][l][m][k]);
							//fprintf(fl6,"%f ",(float)anti_wts[i][j][l][m][k]);

							fprintf(fl1,"%d ",arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
							fprintf(fl6,"%f ",(float)arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
						}
						fprintf(fl6,"\n");
						fprintf(fl1,"\n");
					}
				}
				fprintf(fl6,"\n");
				fprintf(fl1,"\n");
			}
			fprintf(fl6,"\n");
			fprintf(fl1,"\n");
		}
		else
		{
			cout << "Unable to create file for output\n";
			exit(1);
		}
		for(i=1;i<=innodes;i++)
		for(j=1;j<=resolution[i];j++)
		fprintf(fl6,"%f\n", (float)arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.
		fclose(fl1);
		fclose(fl6);
		fflush(NULL);
		cout << "Creating the Anticipated Weights data file\n";
	}
/**********************************End of Case 0 ******************************/












	if(ans1==1)
	{
		start = times(NULL);
		pcnt=0;
		pocnt=0;
		rslt=0.0;
		rslt2=0.0;
		orslt=rslt;
		orslt2=rslt2;

		for(i=0;i<totsize;i++)
			arr_anti_wts[i]=0;
		cout << "The programe will now modify the compensatory weights\n";
		if(argfnd==0)
		{
			cout << "Please enter the gain:";
			cin >> gain;
			cout << "Please enter the number of training epochs:";
			cin >> oneround;
		}
		// Start the counter in this round here...................
		start = times(NULL);
		strcpy(fltmp,fln);
		strcat(fltmp,".awf");
		if((fl6=fopen(fltmp,"r"))!=NULL)
		{
			strcpy(fltmp,fln);
			strcat(fltmp,".apf");
			fl2=NULL;
			if((fl2=fopen(fltmp,"r"))!=NULL)
			{
				for (i=1;i<=innodes;i++)
				{
					fscanf(fl2,"%d",&resolution[i]);
					for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;
				}

				fscanf(fl2,"\n%f",&omax);
				fscanf(fl2,"%f",&omin);
				fscanf(fl2,"\n");
				for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&max[i]);
				fscanf(fl2,"\n");
				for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&min[i]);
				fscanf(fl2,"\n");
				for(i=1;i<=innodes;i++)for(j=0;j<=resolution[i];j++)
				//for(l=1;l<=innodes;l++)for(m=0;m<=resolution[l];m++) anti_net[i][j][l][m][0] =0;
				for(l=1;l<=innodes;l++)for(m=0;m<=resolution[l];m++) arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)] =0;
				int ijk=0;
				for(k=1;k<=outnodes;k++)
				{
					for(i=1;i<=innodes;i++)
					for(j=0;j<=resolution[i];j++)
					{
						for(l=1;l<=innodes;l++)
						if(i!=l)
						{
							for(m=0;m<=resolution[l];m++)
							{
								ijk++;
								//fscanf(fl2,"%d",&anti_net[i][j][l][m][k]);
								//anti_net[i][j][l][m][0]+=anti_net[i][j][l][m][k];
								//fscanf(fl6,"%f",&anti_wts[i][j][l][m][k]);
								fscanf(fl2,"%d",&arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
								arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)]+=arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)];
								fscanf(fl6,"%f",&arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
							}
							fscanf(fl2,"\n");
							fscanf(fl6,"\n");
						}
					}
					fscanf(fl2,"\n");
					fscanf(fl6,"\n");
				}

				for(i=1;i<=innodes;i++)
				for(j=1;j<=resolution[i];j++)
					fscanf(fl6,"%f\n", &arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.

			}
			else
			{
				cout << "Unable to Open the APF information file\n";
				exit(1);
			}
			fclose(fl2);
		}
		else
		{
			cout << "Unable to Open the AWF information file\n";
			exit(1);
		}
		fclose(fl6);
		/*GPU Memory allocation*/

		int *d_arr_anti_net,*d_resolution;
		float *d_arr_anti_wts,*d_arr_tmpv,*d_arr_vects,*d_arr_err1vects,*d_arr_err2vects,*d_min,*d_max,*d_arr_binloc,*d_dmyclass;
		float *d_rslt,*d_rslt2,*tmp_rslt,*tmp_rslt2;
		int *d_pcnt,*tmp_pcnt,chunksize=0;
		cudaError_t status ;
		tmp_pcnt=(int*)malloc(sizeof(int)*numlines);
		tmp_rslt=(float*)malloc(sizeof(float)*numlines);
		tmp_rslt2=(float*)malloc(sizeof(float)*numlines);
		for(i=0;i<numlines;i++)
			tmp_pcnt[i]=0;
		
		//allocate memory on GPU
		status=cudaMalloc((void **)&d_pcnt,sizeof(int)*(numlines+10));
		status=cudaMemset(d_pcnt, 0, sizeof(int)*(numlines+10));
		status=cudaMalloc((void **)&d_rslt,sizeof(float)*(numlines+10));
		status=cudaMemset(d_rslt, 0, sizeof(float)*(numlines+10));
		status=cudaMalloc((void **)&d_rslt2,sizeof(float)*(numlines+10));
		status=cudaMemset(d_rslt2, 0, sizeof(float)*(numlines+10));

		status=cudaMalloc((void **)&d_arr_anti_net,sizeof(int)*totsize);
		status=cudaMemset(d_arr_anti_net, 0, sizeof(int)*totsize);
		status=cudaMalloc((void **)&d_resolution,sizeof(int)*(innodes+8));
		status=cudaMemset(d_resolution, 0, sizeof(int)*(innodes+8));

		status=cudaMalloc((void **)&d_arr_anti_wts,sizeof(float)*totsize);
		status=cudaMemset(d_arr_anti_wts, 0, sizeof(int)*totsize);

		status=cudaMalloc((void **)&d_arr_tmpv,sizeof(float)*(numlines+2));
		status=cudaMemset(d_arr_tmpv, 0, sizeof(float)*(numlines+2));

		status=cudaMalloc((void **)&d_arr_vects,sizeof(float)*(numlines+2)*(innodes+outnodes+2));
		status=cudaMemset(d_arr_vects, 0, sizeof(float)*(numlines+2)*(innodes+outnodes+2));

		status=cudaMalloc((void **)&d_arr_err1vects,sizeof(float)*(numlines+2)*(innodes+2));
		status=cudaMemset(d_arr_err1vects, 0, sizeof(float)*(numlines+2)*(innodes+2));

		status=cudaMalloc((void **)&d_arr_err2vects,sizeof(float)*(numlines+2)*(innodes+2));
		status=cudaMemset(d_arr_err2vects, 0, sizeof(float)*(numlines+2)*(innodes+2));

		status=cudaMalloc((void **)&d_min,sizeof(float)*(innodes+2));
		status=cudaMemset(d_min, 0, sizeof(float)*(innodes+2));

		status=cudaMalloc((void **)&d_max,sizeof(float)*(innodes+2));
		status=cudaMemset(d_max, 0,sizeof(float)*(innodes+2));

		status=cudaMalloc((void **)&d_arr_binloc,sizeof(float)*(innodes+4)*(resol+8));
		status=cudaMemset(d_arr_binloc, 0, sizeof(float)*(innodes+4)*(resol+8));

		status=cudaMalloc((void **)&d_dmyclass,sizeof(float)*(classes+2));
		status=cudaMemset(d_dmyclass, 0, sizeof(float)*(classes+2));

		if (status != cudaSuccess)
			printf("Error in cuda memory allocation\n");


		for(rnd=0;rnd<=oneround;rnd++)     // Training round starts here....
		{
			if((n==pocnt)&& (n>0)){ printf("breaking\n"); break;}
			strcpy(fltmp,fln);
			strcat(fltmp,".dat");
			fl1=fopen(fltmp,"r");
			n=0;
			rslt=0.0;
			rslt2=0.0;
			pcnt=0;
			int cindex=0;
			for(cindex=0;cindex<numlines;cindex++)
			{
				for(k=1;k<=outnodes;k++) classval[k]=1.0;
				n++;
				if(ans1==3)
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"\n");
				}
				else
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&arr_err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);arr_err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"%f\n",&arr_tmpv[cindex]);
				}
			}
			fclose(fl1);

			cudaMemcpy(d_arr_anti_net,arr_anti_net,sizeof(int)*totsize,cudaMemcpyHostToDevice);
			cudaMemcpy(d_resolution,resolution,sizeof(int)*(innodes+8),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_anti_wts,arr_anti_wts,sizeof(float)*totsize,cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_tmpv,arr_tmpv,sizeof(float)*(numlines+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_vects,arr_vects,sizeof(float)*(numlines+2)*(innodes+outnodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_err1vects,arr_err1vects,sizeof(float)*(numlines+2)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_err2vects,arr_err2vects,sizeof(float)*(numlines+2)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_min,min,sizeof(float)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_max,max,sizeof(float)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_binloc,arr_binloc,sizeof(float)*(innodes+4)*(resol+8),cudaMemcpyHostToDevice);
			cudaMemcpy(d_dmyclass,dmyclass,sizeof(float)*(classes+2),cudaMemcpyHostToDevice);


			int numblocks=ceil(numlines/512.0);
			kernel1(numlines,arr_tmpv,min,max,resolution,arr_vects,arr_err1vects,arr_err2vects,arr_binloc,rn,arr_anti_net,arr_anti_wts,dmyclass,gain,innodes,resol,outnodes,nerror,rnd);

			strcpy(fltmp,fln);
			strcat(fltmp,".dat");
			fl1=fopen(fltmp,"r");

			m=n;
			n=0;
			rslt=0.0;
			rslt2=0.0;
			pcnt=0;


//			while (!feof(fl1))                    // Test round...
			for(cindex=0;cindex<numlines;cindex++)
			{
				n++;

				if(ans1==3)
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&arr_err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);arr_err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"\n");
				}
				else
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&arr_err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);arr_err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"%f\n",&arr_tmpv[cindex]);
				}

			}
			fclose(fl1);
			i=0;

			status=cudaMemset(d_pcnt, 0, sizeof(int)*(numlines+10));
			status=cudaMemset(d_rslt, 0, sizeof(float)*(numlines+10));
			status=cudaMemset(d_rslt2, 0, sizeof(float)*(numlines+10));
			//copy the results
			cudaMemcpy(d_resolution,resolution,sizeof(int)*(innodes+8),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_tmpv,arr_tmpv,sizeof(float)*(numlines+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_vects,arr_vects,sizeof(float)*(numlines+2)*(innodes+outnodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_err1vects,arr_err1vects,sizeof(float)*(numlines+2)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_err2vects,arr_err2vects,sizeof(float)*(numlines+2)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_min,min,sizeof(float)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_max,max,sizeof(float)*(innodes+2),cudaMemcpyHostToDevice);
			cudaMemcpy(d_arr_binloc,arr_binloc,sizeof(float)*(innodes+4)*(resol+8),cudaMemcpyHostToDevice);
			cudaMemcpy(d_dmyclass,dmyclass,sizeof(float)*(classes+2),cudaMemcpyHostToDevice);

			if((status = cudaGetLastError()) != cudaSuccess)
			{
				printf("Error(%s:%d) %s\n",__FILE__,__LINE__,cudaGetErrorString(status));
			}

			numblocks=ceil(numlines/512.0);
			kernel2<<<numblocks,512>>>(numlines,d_arr_tmpv,d_min,d_max,d_resolution,d_arr_vects,d_arr_err1vects,d_arr_err2vects,d_arr_binloc,rn,d_arr_anti_net,d_arr_anti_wts,d_dmyclass,gain,innodes,resol,outnodes,nerror,rnd,d_pcnt,d_rslt,d_rslt2);


			if((status = cudaGetLastError()) != cudaSuccess)
			{
				printf("%s\n",cudaGetErrorString(status));
			}
			cudaMemcpy(tmp_pcnt,d_pcnt,sizeof(int)*numlines,cudaMemcpyDeviceToHost);
			if((status = cudaGetLastError()) != cudaSuccess)
			{
				printf("%s\n",cudaGetErrorString(status));
			}
			cudaMemcpy(tmp_rslt,d_rslt,sizeof(float)*numlines,cudaMemcpyDeviceToHost);
			if((status = cudaGetLastError()) != cudaSuccess)
			{
				printf("%s\n",cudaGetErrorString(status));
			}
			cudaMemcpy(tmp_rslt2,d_rslt2,sizeof(float)*numlines,cudaMemcpyDeviceToHost);
			if((status = cudaGetLastError()) != cudaSuccess)
			{
				printf("%s\n",cudaGetErrorString(status));
			}

			pcnt=0;
			rslt=0;
			rslt2=0;
			for(i=0;i<numlines;i++)
			{
				pcnt+=tmp_pcnt[i];
				rslt+=tmp_rslt[i];
				rslt2+=tmp_rslt2[i];
			}



			printf("rnd:%d\trslt:%f\tRslt2:%f\tOrslt2:%f\tpcnt:%d\n",rnd,rslt,rslt2,orslt2,pcnt);

			kmax=1;
			if(orslt2==0) orslt2=rslt2;
			if(orslt==0) orslt=rslt;

			prslt=(rslt2-orslt2);
			if(rslt > 0)
			nrslt=(orslt/rslt);
			if(pcnt>pocnt)
			{
				rnn=rnd;
				pocnt=pcnt;   // The best result is now saved in pocnt
				strcpy(fltmp,fln);
				strcat(fltmp,".awf");
				fl6=fopen(fltmp,"w+");
				kmax=1;
				for(k=1;k<=outnodes;k++)
				{
					for(i=1;i<=innodes;i++)
					for(j=0;j<=resolution[i];j++)
					{
						for(l=1;l<=innodes;l++)
						if(i!=l)
						{
							for(m=0;m<=resolution[l];m++)
							{
								//fprintf(fl6,"%f ",anti_wts[i][j][l][m][k]);
								fprintf(fl6,"%f ",arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);

							}
							fprintf(fl6,"\n");
						}
					}
					fprintf(fl6,"\n");
				}
				fprintf(fl6,"\n");
				for(i=1;i<=innodes;i++)
				for(j=1;j<=resolution[i];j++)
				fprintf(fl6,"%f\n", arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.
				fflush(fl6);
				fclose(fl6);
				cout << "Round:" << rnn << "| TProb["<<prslt<<"," <<nrslt<<"] | Passed count:" << pocnt << endl;
				if(orslt2 <rslt2) orslt2=rslt2;
				if(rslt < orslt) orslt=rslt;
			}
			n=m;
		}  //rnd inc.
		fl6=NULL;
		cout << "Best result at round " << rnn<< endl;
	}  // ans <> 1
/***********************************End of Case 1*******************************/







    strcpy(fltmp,fln);
    strcat(fltmp,".dat");
    fl1=fopen(fltmp,"r");
    strcpy(fltmp,fln);
    strcat(fltmp,".awf");
    fl6=NULL;
    fl6=fopen(fltmp,"r");
    strcpy(fltmp,fln);
    strcat(fltmp,".apf");
    fl2=NULL;
    if((fl2=fopen(fltmp,"r"))!=NULL)
	{
		cout << "Creating the Anticipated Network outputs\n";
		for (i=1;i<=innodes;i++)
		{ 
			fscanf(fl2,"%d",&resolution[i]);
			for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;
		}
		fscanf(fl2,"%f",&omax);
		fscanf(fl2,"%f",&omin);
		fscanf(fl2,"\n");
        for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&max[i]);
        fscanf(fl2,"\n");
    	for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&min[i]);
		fscanf(fl2,"\n");
		for(i=1;i<=innodes;i++)for(j=0;j<=resolution[i];j++) 
		for(l=1;l<=innodes;l++)for(m=0;m<=resolution[l];m++) arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)] =0;
        for(k=1;k<=outnodes;k++)
        {
			for(i=1;i<=innodes;i++)
			for(j=0;j<=resolution[i];j++)
			{
				for(l=1;l<=innodes;l++)
				if(i!=l)
				{
					for(m=0;m<=resolution[l];m++)
					{

						fscanf(fl2,"%d",&arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
						fscanf(fl6,"%f",&arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
						arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)]+=(float)(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
					}
					fscanf(fl2,"\n");
					fscanf(fl6,"\n");
				}
			}
			fscanf(fl2,"\n");
			fscanf(fl6,"\n");
		}
    }
    else
    {
		cout << "Unable to Open the APF information file";
		exit(1);
    }
    for(i=1;i<=innodes;i++)
    for(j=1;j<=resolution[i];j++)
    {
		fscanf(fl6,"%f\n",&arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.
    }
    fclose(fl6);
    fl4=fopen("output.dat","w+");  // Network Output values
    cout << "Read all input parameters\n";
// *********** case 3 ***********************************************
    if (ans1 !=3)
    {
		fl5=fopen("actual.dat","w+");  // Expected Output Values
		strcpy(fltmp,fln);
		strcat(fltmp,argp[2]);
		strcpy(fltmp,fln);
		strcat(fltmp,argp[2]);
		strcat(fltmp,".cmp");         // Lets see how well the classification went.
		fl7=fopen(fltmp,"w+");
		fprintf(fl7,"Sample         Predicted     Actual            Prediction \n");
		fprintf(fl7," No.       Ist 2nd  3rd  4th  item             Confidence\n");
		c1cnt=0;
		c2cnt=0;
		invcnt=0;
		n=0;
    }
 // Create classtot values ***********************
    while (!feof(fl1))
	{
		n++;
		cmax= 0.0;
		c2max=0.0;
		c3max=0.0;
		c4max=0.0;
		kmax=0;
		k2max=0;
		k3max=0;
		k4max=0;
        classval[0]=0.0;
	    if(ans1==3)
	    {
			for (i=1;i<=innodes;i++) 
			{
				fscanf(fl1,"%f",&vects[i]);
				if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
				if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]);err2vects[i]=err1vects[i];} 
			}
			fscanf(fl1,"\n");
	    }
	    else
	    {
			for (i=1;i<=innodes;i++) 
			{
				fscanf(fl1,"%f",&vects[i]);
				if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
				if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]);err2vects[i]=err1vects[i];} 
			}
			fscanf(fl1,"%f\n",&tmpv);
	    }
        skpchk=0;
	    for(i=1;i<=innodes;i++)
        {
			vectso[i]=vects[i]; 
            if((((max[i]-min[i]) >0)&& (vects[i] !=MissingDat))&&(max[i] !=MissingDat)) 
            {
				vects[i]=round(((vects[i]-min[i])/(max[i]-min[i]))*resolution[i]);
				err1vects[i]=round((err1vects[i])/(max[i]-min[i])*resolution[i]);
				err2vects[i]=round((err2vects[i])/(max[i]-min[i])*resolution[i]);
				skpchk=0;
		    }
            else
            skpchk=1;
        }
		for(k=1;k<=outnodes;k++) classval[k]=1.0; tmp2_wts=1.0;
 		for (i=1;i<=innodes;i++)
		{
			j=0;
            if(vects[i]==MissingDat)
				skpchk=1;
            else
				skpchk=0;
            if ((resolution[i] >= vects[i]) &&(skpchk==0))
            {
                while ((fabs(vects[i]-arr_binloc[(i*rn)+(j+1)]) >=1.0)&& (j<= resolution[i]))
                {
                    j++;
                }
                jx=0;
            }
			else
			{
//NSP_added jx=-1;				  
			  jx=1;
			}
	        for (l=1;l<=innodes;l++)
	        {
				if((i!=l) && (jx==0))
				{
					m=0;
					if((vects[l]==MissingDat)||(vects[i]==MissingDat))
						skpchk=1;
					else
						skpchk=0;
					if ((resolution[l] >= vects[l]) &&(skpchk==0))
					{
						while ((fabs(vects[l]-arr_binloc[(l*rn)+(m+1)]) >=1.0)&& (m<= resolution[l]))
						{       
							m++;
						}
					}
					for (k=1;k<=outnodes;k++)
					{

						if(jx==0){tmp2_wts=(float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)];}else{tmp2_wts=1.0/outnodes;}
						if(nerror ==2) 
						{
							for(p=(m-(int)err1vects[l]);p<=(m+(int)err2vects[l]);p++)
							{

								if(p<0) p=0; if(p>resolution[l]) break;
								if ((float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(p*kk)+k)] > tmp2_wts)
								m=p;
							}
						}
						if(nerror ==1) 
						{
							for(p=(m-(int)err1vects[l]);p<=(m+(int)err1vects[l]);p++)
							{

								if(p<0) p=0; if(p>resolution[l]) break;
								if ((float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(p*kk)+k)] > tmp2_wts)
								m=p;
							}
						}

						if((arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)] > 0) && (resolution[i]>= vects[i])&& (resolution[l]>= vects[l])&&(skpchk==0))
						{

							if(jx==0){tmp2_wts=(float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]*arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]*1.0/(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)]);}
							else{tmp2_wts=1.0/outnodes;}
						}
						else
						if(skpchk == 1)   // || bcchoice == 'y')
						{
							tmp2_wts= 1.0; //(float)1.0/outnodes; //1.0; //
						}
						else
						{
							tmp2_wts=(float)1.0/outnodes;
						}
						if((resolution[i] >= vects[i])&& (resolution[l]>= vects[l])&&(skpchk==0))
						{
							classval[k]*=(float)tmp2_wts;
						}
					}
					totprob=0;
					for(k=1;k<=outnodes;k++) totprob+=classval[k];
					if (totprob==0) {totprob=innodes*outnodes; cout <<"Caution!! Item did not have known types\n";}
					for(k=1;k<=outnodes;k++) classval[k]=classval[k]/totprob;
 				
				}
			}
	    }
       cmax=0.0;
        c2max=0.0;
        c3max=0.0;
        k3max=0.0;
        kmax=0.0;
        k2max=0.0;
	    totprob=0.0;
	    for (k=1;k<=outnodes;k++)
	    {
			if (classval[k] > cmax)
	        {
				c4max=c3max;
				k4max=k3max;
				c3max=c2max;
				k3max=k2max;
                c2max=classval[kmax];
	            k2max=kmax;
	            cmax=classval[k];
	            kmax=k;
            }
            else
            if (classval[k]>c2max)
            {
				c4max=c3max;
				k4max=k3max;
				c3max=c2max;
				k3max=k2max;
                c2max=classval[k];
	            k2max=k;
            }
           else
            if (classval[k]>c3max)
            {
				c4max=c3max;
				k4max=k3max;
                c3max=classval[k];
	            k4max=k;
            }
           else
            if (classval[k]>c4max)
            {
                c4max=classval[k];
	            k4max=k;
            }
	        totprob += (float)classval[k];
        }
	    if(totprob <=0.0) totprob=innodes*outnodes;
        if(ans1 ==3)
		{
			if (dmyclass[(int)kmax]- (int)dmyclass[(int)kmax] ==0.0)
			{
				fprintf(fl4,"%d  %d %-5.2f %d %-5.2f %d %-5.2f %d %-5.2f",n, (int)dmyclass[(int)kmax],100.0*((classval[kmax])/totprob),(int)dmyclass[(int)k2max],100.0*((classval[k2max])/totprob),(int)dmyclass[(int)k3max],100.0*((classval[k3max])/totprob),(int)dmyclass[(int)k4max],100.0*((classval[k4max])/totprob));
		    }
		    else
		    {
				fprintf(fl4,"%d  %f %-5.2f %f %-5.2f %f %-5.2f %f %-5.2f",n, dmyclass[(int)kmax],100.0*((classval[kmax])/totprob),dmyclass[(int)k2max],100.0*((classval[k2max])/totprob),dmyclass[(int)k3max],100.0*((classval[k3max])/totprob),dmyclass[(int)k4max],100.0*((classval[k4max])/totprob));
            }
			if((fabs(classval[kmax]-classval[k2max]))<0.01*classval[kmax]) //classval[kmax])
			{
				nLoC+=classval[kmax]/totprob;
	            nLoCcnt++;
				if(classval[kmax]>totprob*LoC)    //LoC)
				{
					fprintf(fl4, " <-- Either of it"); 
				}
				else
				{
					fprintf(fl4, " <-- Rejected");
				}
			}
			else
			{
				if(classval[kmax]>totprob*LoC)    //LoC)
				{
					fprintf(fl4, " <-- confident");
				}
				else
				{
					fprintf(fl4, " <-- Rejected");
				}
			}
			fprintf(fl4,"\n");
		}
		if(ans1 !=3)
		{
			if (dmyclass[(int)kmax]- (int)dmyclass[(int)kmax] ==0.0)
			{
				fprintf(fl4,"%d  %d\n",n, (int)dmyclass[(int)kmax]);
				fprintf(fl7, "%-8d    %d   %d     %d  %d     %d   ",n,(int)dmyclass[(int)kmax],(int)dmyclass[(int)k2max],(int)dmyclass[(int)k3max],(int)dmyclass[(int)k4max],(int)tmpv);
		    }
		    else
		    {
				fprintf(fl4,"%d  %f\n",n, dmyclass[(int)kmax]);
				fprintf(fl7, "%-8d    %f   %f     %f    %f     %f    ",n,dmyclass[(int)kmax],dmyclass[(int)k2max],dmyclass[(int)k3max],dmyclass[(int)k4max],tmpv);
	        }
			if(fabs(dmyclass[kmax]-tmpv) >= dmyclass[0])
			{
				if (classval[kmax]==0.0)
				{
					invcnt++;
                    fprintf(fl7, "%-5.2f %% <-Out of range %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob));
				}
				else
				{
					if (fabs(dmyclass[k2max]-tmpv) < dmyclass[0])
					{
						if((fabs(classval[kmax]-classval[k2max]))<0.01*classval[k2max]) //classval[kmax])
						{
							nLoC+=classval[kmax]/totprob;
							nLoCcnt++;
							if (classval[kmax]>totprob*LoC) // LoC)
							{
								c2cnt++;  // No more differences. NSP (OCT 2001)
								fprintf(fl7, "%-5.2f %% <-F(1)P(2) %-5.2f %%  %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
							}
							else
							{
								fprintf(fl7, "%-5.2f %%  <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
								invcnt++;
							}
						}
						else
						{
							if (classval[kmax]>totprob*LoC) // LoC)
							{
								fprintf(fl7, "%-5.2f %% <-Failed %-5.2f %%  %-5.2f %%  %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
							}
							else
							{
								fprintf(fl7, "%-5.2f %% <-FMC %-5.2f %%  %-5.2f %%  %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
								invcnt++;
							}
						}
					}
					else
					{
						if (classval[kmax]>totprob*LoC) // LoC)
						{
							fprintf(fl7, "%-5.2f %% <-Failed %-5.2f %%  %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
						}
						else
						{
							fprintf(fl7, "%-5.2f %% <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
							invcnt++;
						}
					}
				}
			}
			else
			{
				if((fabs(classval[kmax]-classval[k2max]))<0.01*classval[kmax])
				{
					nLoC+=classval[kmax]/totprob;
					nLoCcnt++;
					if (classval[kmax]>totprob*LoC) // LoC)
					{
						fprintf(fl7, "%-5.2f %% <-P(1)F(2) %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
						c1cnt++;
					}
					else
					{
						invcnt++;
						fprintf(fl7, "%-5.2f %% <-PMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
					}
				}
				else
				{ 
					if (classval[kmax]>totprob*LoC) // LoC)
					{
						fprintf(fl7, "%-5.2f %% <-Passed %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
						c1cnt++;
					}
					else
					{
						invcnt++;
						fprintf(fl7, "%-5.2f %% <-PMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
					}
				}
			}
			fprintf(fl5,"%d %e \n",n,(float) tmpv);
		} // ans1 != 3 ends here ******************
	}
	cout << "The suggested LoC is " << nLoC/nLoCcnt << "\n";
	fclose(fl1);
	fclose(fl2);
	fclose(fl4);
	if(ans1 < 3)
	{
		strcpy(fltmp,fln);
//	   tmp2_wts=0.0;
		fclose(fl5);
		fprintf(fl7,"*________________________________________________________________________\n");
		fprintf(fl7,"*Total    Success in   Success in   Non classified   Real success in    \n");
		cout << "*________________________________________________________________________\n";
		cout << "*Total    Success in   Success in   Non classified   Real success in    \n";
		if (outnodes > 3)
	    {
			fprintf(fl7,"* No.    Ist Choice  2nd Choice     items           two chances    \n");
     		fprintf(fl7,"* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt+c2cnt)/(n-invcnt));
     		cout << "* No.    Ist Choice  2nd Choice     items           two chances    \n";
     		printf("* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt+c2cnt)/(n-invcnt));
     	}
     	else
     	{
			fprintf(fl7,"* No.    Ist Choice  2nd Choice     items           First chance    \n");
     		fprintf(fl7,"* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt)/(n-invcnt));
     		cout << "* No.    Ist Choice  2nd Choice     items           First chance    \n";
     		printf("* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt)/(n-invcnt));
     	}
	  	fprintf(fl7,"*________________________________________________________________________\n");
		printf("*________________________________________________________________________\n");
		fclose(fl7);
	} // ******** ans1!=3 ends here *************
	cout << "Done.\n";
	stop = times(NULL);
	cout << "The computation took " << fabs(start - stop)*10000/(CLOCKS_PER_SEC) << " Secs.\n";
} //end main




	.file	"tmpxft_00221d7a_00000000-6_CUDA_DBNN.cudafe1.cpp"
	.text
#APP
	.globl _ZSt21ios_base_library_initv

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB4003:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE4003:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.globl	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
	.type	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii, @function
_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii:
.LFB3998:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movaps	%xmm0, %xmm1
	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
	movq	%r8, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$2168, %rsp
	.cfi_def_cfa_offset 2224
	movq	2224(%rsp), %rax
	movq	%rsi, 136(%rsp)
	movq	%rdx, 64(%rsp)
	movq	2272(%rsp), %r12
	xorl	%edx, %edx
	movq	%rax, 32(%rsp)
	movq	2232(%rsp), %rax
	movl	%edi, 132(%rsp)
	movq	%rax, 112(%rsp)
	movq	2240(%rsp), %rax
	movq	%rcx, 72(%rsp)
	movq	%rax, 40(%rsp)
	movq	2256(%rsp), %rax
	movq	%r9, 16(%rsp)
	movq	%rax, 24(%rsp)
	movq	2264(%rsp), %rax
	movq	%rax, 120(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 2152(%rsp)
	movl	2296(%rsp), %eax
	movq	%rdx, 56(%rsp)
	movss	.LC3(%rip), %xmm2
	incl	%eax
	movl	%eax, 12(%rsp)
	movl	2288(%rsp), %eax
	leal	1(%rax), %ebx
	movl	2280(%rsp), %eax
	incl	%eax
	movl	%eax, 88(%rsp)
	movl	%ebx, %eax
	movl	88(%rsp), %esi
	imull	%ebx, %eax
	imull	%esi, %eax
	movl	%eax, 96(%rsp)
	movl	12(%rsp), %eax
	imull	%ebx, %eax
	movl	%eax, 108(%rsp)
	xorl	%eax, %eax
	movl	%eax, 48(%rsp)
.L3:
	movl	56(%rsp), %esi
	cmpl	%esi, 132(%rsp)
	jle	.L101
	movq	56(%rsp), %rsi
	movq	136(%rsp), %rax
	movl	$1, %r14d
	movslq	48(%rsp), %r13
	movss	(%rax,%rsi,4), %xmm3
	salq	$2, %r13
	movq	%r13, %r15
.L4:
	cmpl	%r14d, 2280(%rsp)
	jl	.L102
	movq	16(%rsp), %rax
	movss	4(%rax,%r15), %xmm0
	ucomiss	.LC1(%rip), %xmm0
	jp	.L81
	je	.L5
.L81:
	movq	72(%rsp), %rax
	movss	(%rax,%r14,4), %xmm4
	ucomiss	.LC1(%rip), %xmm4
	jp	.L82
	je	.L5
.L82:
	movq	64(%rsp), %rax
	cvtsi2ssl	0(%rbp,%r14,4), %xmm7
	movss	%xmm1, 92(%rsp)
	movss	%xmm3, 80(%rsp)
	movss	(%rax,%r14,4), %xmm5
	subss	%xmm5, %xmm4
	subss	%xmm5, %xmm0
	movss	%xmm7, 52(%rsp)
	divss	%xmm4, %xmm0
	mulss	%xmm7, %xmm0
	call	roundf@PLT
	movq	16(%rsp), %rax
	movss	%xmm0, 4(%rax,%r15)
	movq	72(%rsp), %rax
	movss	(%rax,%r14,4), %xmm4
	movq	64(%rsp), %rax
	subss	(%rax,%r14,4), %xmm4
	movq	32(%rsp), %rax
	movss	4(%rax,%r15), %xmm0
	divss	%xmm4, %xmm0
	mulss	52(%rsp), %xmm0
	call	roundf@PLT
	movq	32(%rsp), %rax
	movss	%xmm0, 4(%rax,%r15)
	movq	72(%rsp), %rax
	movss	(%rax,%r14,4), %xmm4
	movq	64(%rsp), %rax
	subss	(%rax,%r14,4), %xmm4
	movq	112(%rsp), %rax
	movss	4(%rax,%r15), %xmm0
	divss	%xmm4, %xmm0
	mulss	52(%rsp), %xmm0
	call	roundf@PLT
	movq	112(%rsp), %rax
	movss	92(%rsp), %xmm1
	movss	.LC3(%rip), %xmm2
	movss	80(%rsp), %xmm3
	movss	%xmm0, 4(%rax,%r15)
.L5:
	incq	%r14
	addq	$4, %r15
	jmp	.L4
.L102:
	movss	.LC2(%rip), %xmm0
	xorl	%eax, %eax
.L9:
	incq	%rax
	cmpl	%eax, 2296(%rsp)
	jl	.L103
	movss	%xmm0, 144(%rsp,%rax,4)
	jmp	.L9
.L103:
	movq	16(%rsp), %rax
	movss	.LC2(%rip), %xmm5
	movl	$1, %r8d
	addq	%r13, %rax
	movq	%rax, 80(%rsp)
	movl	2248(%rsp), %eax
	movl	%eax, 92(%rsp)
	movl	96(%rsp), %eax
	movl	%eax, 100(%rsp)
.L11:
	movl	%r8d, 128(%rsp)
	cmpl	%r8d, 2280(%rsp)
	jl	.L104
	movq	80(%rsp), %rax
	movss	(%rax,%r8,4), %xmm4
	ucomiss	.LC1(%rip), %xmm4
	jp	.L12
	jne	.L12
.L19:
	movl	96(%rsp), %esi
	incq	%r8
	addl	%esi, 100(%rsp)
	movl	2248(%rsp), %esi
	addl	%esi, 92(%rsp)
	jmp	.L11
.L12:
	movslq	92(%rsp), %rax
	movq	40(%rsp), %rsi
	leaq	(%rsi,%rax,4), %rcx
	xorl	%eax, %eax
.L16:
	movaps	%xmm4, %xmm0
	subss	4(%rcx,%rax,4), %xmm0
	andps	%xmm2, %xmm0
	comiss	%xmm5, %xmm0
	jb	.L14
	leaq	1(%rax), %rdx
	cmpl	%eax, 0(%rbp,%r8,4)
	jl	.L14
	movq	%rdx, %rax
	jmp	.L16
.L14:
	movss	.LC2(%rip), %xmm4
	movl	88(%rsp), %edx
	leaq	144(%rsp), %r10
	xorps	%xmm6, %xmm6
	comiss	%xmm0, %xmm4
	sbbl	%esi, %esi
	imull	%ebx, %edx
	movl	%esi, 52(%rsp)
	movl	$1, %esi
	imull	%eax, %edx
	movl	100(%rsp), %eax
	addl	%ebx, %eax
	addl	%eax, %edx
	movl	2248(%rsp), %eax
	movl	%eax, 104(%rsp)
.L18:
	cmpl	%esi, 128(%rsp)
	jne	.L17
.L20:
	movl	2248(%rsp), %edi
	incq	%rsi
	addl	%edi, 104(%rsp)
	addl	%ebx, %edx
	cmpl	%esi, 2280(%rsp)
	jge	.L18
	jmp	.L19
.L17:
	movl	48(%rsp), %eax
	movq	16(%rsp), %rdi
	addl	%esi, %eax
	cltq
	movss	(%rdi,%rax,4), %xmm4
	ucomiss	.LC1(%rip), %xmm4
	leaq	0(,%rax,4), %r14
	jp	.L84
	je	.L20
.L84:
	movslq	104(%rsp), %rax
	movq	40(%rsp), %rdi
	leaq	(%rdi,%rax,4), %rdi
	xorl	%eax, %eax
.L24:
	movaps	%xmm4, %xmm0
	subss	4(%rdi,%rax,4), %xmm0
	andps	%xmm2, %xmm0
	comiss	%xmm5, %xmm0
	jb	.L22
	leaq	1(%rax), %rcx
	cmpl	%eax, 0(%rbp,%rsi,4)
	jl	.L22
	movq	%rcx, %rax
	jmp	.L24
.L22:
	movl	$1, %r9d
.L37:
	movl	%r9d, %r11d
	cmpl	%r9d, 2296(%rsp)
	jl	.L105
	cmpl	$0, 52(%rsp)
	jne	.L25
	movl	12(%rsp), %edi
	leal	(%rax,%rdx), %ecx
	imull	%edi, %ecx
	movq	24(%rsp), %rdi
	addl	%r11d, %ecx
	movslq	%ecx, %rcx
	cvtsi2ssl	(%rdi,%rcx,4), %xmm0
	jmp	.L26
.L25:
	cvtsi2sdl	2296(%rsp), %xmm4
	movsd	.LC4(%rip), %xmm0
	divsd	%xmm4, %xmm0
	cvtsd2ss	%xmm0, %xmm0
.L26:
	cmpl	$2, 2304(%rsp)
	jne	.L27
	movq	32(%rsp), %rdi
	movl	%eax, %ecx
	cvttss2sil	(%rdi,%r14), %r15d
	subl	%r15d, %ecx
.L28:
	leal	(%r15,%rax), %edi
	cmpl	%ecx, %edi
	jl	.L29
	xorl	%edi, %edi
	testl	%ecx, %ecx
	cmovs	%edi, %ecx
	cmpl	%ecx, 0(%rbp,%rsi,4)
	jl	.L29
	movl	12(%rsp), %r13d
	leal	(%rcx,%rdx), %edi
	imull	%r13d, %edi
	movq	24(%rsp), %r13
	addl	%r11d, %edi
	movslq	%edi, %rdi
	cvtsi2ssl	0(%r13,%rdi,4), %xmm4
	ucomiss	%xmm0, %xmm4
	cmova	%ecx, %eax
	incl	%ecx
	jmp	.L28
.L27:
	cmpl	$1, 2304(%rsp)
	jne	.L29
	movq	32(%rsp), %rdi
	movl	%eax, %ecx
	cvttss2sil	(%rdi,%r14), %r15d
	subl	%r15d, %ecx
.L32:
	leal	(%r15,%rax), %edi
	cmpl	%ecx, %edi
	jl	.L29
	xorl	%edi, %edi
	testl	%ecx, %ecx
	cmovs	%edi, %ecx
	cmpl	%ecx, 0(%rbp,%rsi,4)
	jl	.L29
	movl	12(%rsp), %r13d
	leal	(%rdx,%rcx), %edi
	imull	%r13d, %edi
	movq	24(%rsp), %r13
	addl	%r11d, %edi
	movslq	%edi, %rdi
	cvtsi2ssl	0(%r13,%rdi,4), %xmm4
	ucomiss	%xmm0, %xmm4
	cmova	%ecx, %eax
	incl	%ecx
	jmp	.L32
.L29:
	movl	12(%rsp), %edi
	leal	(%rax,%rdx), %ecx
	movq	24(%rsp), %r15
	imull	%edi, %ecx
	movslq	%ecx, %rdi
	movl	(%r15,%rdi,4), %edi
	testl	%edi, %edi
	jle	.L35
	cmpl	$0, 52(%rsp)
	jne	.L35
	addl	%r11d, %ecx
	movq	120(%rsp), %r11
	cvtsi2ssl	%edi, %xmm4
	movslq	%ecx, %rcx
	cvtsi2ssl	(%r15,%rcx,4), %xmm0
	mulss	(%r11,%rcx,4), %xmm0
	divss	%xmm4, %xmm0
	jmp	.L36
.L35:
	cvtsi2sdl	2296(%rsp), %xmm4
	movsd	.LC4(%rip), %xmm0
	divsd	%xmm4, %xmm0
	cvtsd2ss	%xmm0, %xmm0
.L36:
	mulss	(%r10,%r9,4), %xmm0
	movss	%xmm0, (%r10,%r9,4)
	incq	%r9
	jmp	.L37
.L105:
	xorl	%eax, %eax
	xorps	%xmm0, %xmm0
.L39:
	incq	%rax
	cmpl	%eax, 2296(%rsp)
	jl	.L106
	addss	(%r10,%rax,4), %xmm0
	jmp	.L39
.L106:
	ucomiss	%xmm6, %xmm0
	jp	.L41
	jne	.L41
	movl	2280(%rsp), %eax
	imull	2296(%rsp), %eax
	cvtsi2ssl	%eax, %xmm0
.L41:
	xorl	%eax, %eax
.L43:
	incq	%rax
	cmpl	%eax, 2296(%rsp)
	jl	.L20
	movss	(%r10,%rax,4), %xmm4
	divss	%xmm0, %xmm4
	movss	%xmm4, (%r10,%rax,4)
	jmp	.L43
.L104:
	movl	$1, %eax
	xorps	%xmm0, %xmm0
	movl	$1, %edi
.L46:
	cmpl	%eax, 2296(%rsp)
	jl	.L107
	movss	144(%rsp,%rax,4), %xmm4
	comiss	%xmm0, %xmm4
	maxss	%xmm0, %xmm4
	cmova	%eax, %edi
	movaps	%xmm4, %xmm0
	incq	%rax
	jmp	.L46
.L107:
	movslq	%edi, %rdi
	movss	.LC3(%rip), %xmm5
	movss	(%r12,%rdi,4), %xmm0
	subss	%xmm3, %xmm0
	andps	%xmm5, %xmm0
	comiss	(%r12), %xmm0
	jb	.L69
	cmpl	$0, 2312(%rsp)
	jg	.L76
.L69:
	movl	2280(%rsp), %esi
	incq	56(%rsp)
	addl	%esi, 48(%rsp)
	jmp	.L3
.L76:
	movl	2248(%rsp), %r9d
	movl	%ebx, %r10d
	movl	$1, %esi
	xorps	%xmm7, %xmm7
	movss	.LC2(%rip), %xmm6
	movsd	.LC4(%rip), %xmm8
.L50:
	movl	%esi, %r13d
	cmpl	%esi, 2280(%rsp)
	jl	.L69
	movq	80(%rsp), %rax
	movss	(%rax,%rsi,4), %xmm4
	ucomiss	.LC1(%rip), %xmm4
	jp	.L52
	jne	.L52
.L67:
	incq	%rsi
	addl	%ebx, %r10d
	addl	2248(%rsp), %r9d
	jmp	.L50
.L52:
	movq	40(%rsp), %rdx
	movslq	%r9d, %rax
	leaq	(%rdx,%rax,4), %rcx
	xorl	%eax, %eax
.L56:
	movaps	%xmm4, %xmm0
	subss	4(%rcx,%rax,4), %xmm0
	andps	%xmm5, %xmm0
	comiss	%xmm6, %xmm0
	jb	.L54
	leaq	1(%rax), %rdx
	cmpl	%eax, 0(%rbp,%rsi,4)
	jl	.L54
	movq	%rdx, %rax
	jmp	.L56
.L54:
	movl	88(%rsp), %edx
	addl	%r10d, %eax
	movl	2248(%rsp), %r11d
	movl	$1, %r8d
	imull	%edx, %eax
	movl	108(%rsp), %edx
	incl	%eax
	imull	%edx, %eax
.L66:
	cmpl	%r8d, %r13d
	je	.L57
	movl	48(%rsp), %edx
	movq	16(%rsp), %rcx
	addl	%r8d, %edx
	movslq	%edx, %rdx
	movss	(%rcx,%rdx,4), %xmm4
	ucomiss	.LC1(%rip), %xmm4
	jp	.L89
	je	.L57
.L89:
	movq	40(%rsp), %rcx
	movslq	%r11d, %rdx
	leaq	(%rcx,%rdx,4), %r14
	xorl	%edx, %edx
.L61:
	movaps	%xmm4, %xmm0
	subss	4(%r14,%rdx,4), %xmm0
	andps	%xmm5, %xmm0
	comiss	%xmm6, %xmm0
	jb	.L98
	leaq	1(%rdx), %rcx
	cmpl	%edx, 0(%rbp,%r8,4)
	jl	.L98
	movq	%rcx, %rdx
	jmp	.L61
.L98:
	movl	$1, %ecx
.L63:
	cmpl	%ecx, 2296(%rsp)
	jl	.L62
	movss	(%r12,%rcx,4), %xmm0
	leaq	1(%rcx), %r14
	subss	%xmm3, %xmm0
	andps	%xmm5, %xmm0
	comiss	(%r12), %xmm0
	jbe	.L62
	movq	%r14, %rcx
	jmp	.L63
.L62:
	movss	144(%rsp,%rdi,4), %xmm4
	comiss	%xmm7, %xmm4
	jbe	.L57
	movslq	%ecx, %r14
	movss	144(%rsp,%r14,4), %xmm0
	comiss	%xmm0, %xmm4
	jbe	.L57
	divss	%xmm4, %xmm0
	movl	12(%rsp), %r15d
	imull	%r15d, %edx
	addl	%eax, %edx
	addl	%ecx, %edx
	movq	120(%rsp), %rcx
	movslq	%edx, %rdx
	leaq	(%rcx,%rdx,4), %rdx
	cvtss2sd	%xmm0, %xmm4
	movaps	%xmm8, %xmm0
	subsd	%xmm4, %xmm0
	cvtss2sd	%xmm1, %xmm4
	mulsd	%xmm4, %xmm0
	cvtss2sd	(%rdx), %xmm4
	addsd	%xmm4, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, (%rdx)
.L57:
	movl	108(%rsp), %edx
	incq	%r8
	addl	2248(%rsp), %r11d
	addl	%edx, %eax
	cmpl	%r8d, 2280(%rsp)
	jge	.L66
	jmp	.L67
.L101:
	movq	2152(%rsp), %rax
	subq	%fs:40, %rax
	je	.L71
	call	__stack_chk_fail@PLT
.L71:
	addq	$2168, %rsp
	.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
	.cfi_endproc
.LFE3998:
	.size	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii, .-_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC5:
	.string	"r"
	.text
	.globl	_Z11getNumlinesPc
	.type	_Z11getNumlinesPc, @function
_Z11getNumlinesPc:
.LFB3999:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	leaq	.LC5(%rip), %rsi
	xorl	%ebp, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	pushq	%rcx
	.cfi_def_cfa_offset 32
	call	fopen@PLT
	movq	%rax, %rbx
.L109:
	movq	%rbx, %rdi
	call	feof@PLT
	movq	%rbx, %rdi
	testl	%eax, %eax
	jne	.L113
	call	fgetc@PLT
	cmpb	$10, %al
	jne	.L109
	incl	%ebp
	jmp	.L109
.L113:
	call	fclose@PLT
	movl	%ebp, %eax
	popq	%rdx
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE3999:
	.size	_Z11getNumlinesPc, .-_Z11getNumlinesPc
	.globl	_Z62__device_stub__Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.type	_Z62__device_stub__Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, @function
_Z62__device_stub__Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_:
.LFB4025:
	.cfi_startproc
	endbr64
	subq	$392, %rsp
	.cfi_def_cfa_offset 400
	movq	400(%rsp), %rax
	movl	%edi, 124(%rsp)
	leaq	152(%rsp), %rdi
	movq	%rsi, 112(%rsp)
	leaq	164(%rsp), %rsi
	movq	%rax, 72(%rsp)
	movq	408(%rsp), %rax
	movq	%rdx, 104(%rsp)
	leaq	136(%rsp), %rdx
	movq	%rax, 64(%rsp)
	movq	416(%rsp), %rax
	movq	%rcx, 96(%rsp)
	leaq	144(%rsp), %rcx
	movq	%rax, 56(%rsp)
	movq	432(%rsp), %rax
	movq	%r8, 88(%rsp)
	movq	%rax, 48(%rsp)
	movq	440(%rsp), %rax
	movq	%r9, 80(%rsp)
	movq	%rax, 40(%rsp)
	movq	448(%rsp), %rax
	movss	%xmm0, 120(%rsp)
	movq	%rax, 32(%rsp)
	movq	496(%rsp), %rax
	movq	%rax, 24(%rsp)
	movq	504(%rsp), %rax
	movq	%rax, 16(%rsp)
	movq	512(%rsp), %rax
	movq	%rax, 8(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 376(%rsp)
	xorl	%eax, %eax
	leaq	124(%rsp), %rax
	movq	%rax, 200(%rsp)
	leaq	112(%rsp), %rax
	movq	%rax, 208(%rsp)
	leaq	104(%rsp), %rax
	movq	%rax, 216(%rsp)
	leaq	96(%rsp), %rax
	movq	%rax, 224(%rsp)
	leaq	88(%rsp), %rax
	movq	%rax, 232(%rsp)
	leaq	80(%rsp), %rax
	movq	%rax, 240(%rsp)
	leaq	72(%rsp), %rax
	movq	%rax, 248(%rsp)
	leaq	64(%rsp), %rax
	movq	%rax, 256(%rsp)
	leaq	56(%rsp), %rax
	movq	%rax, 264(%rsp)
	leaq	424(%rsp), %rax
	movq	%rax, 272(%rsp)
	leaq	48(%rsp), %rax
	movq	%rax, 280(%rsp)
	leaq	40(%rsp), %rax
	movq	%rax, 288(%rsp)
	leaq	32(%rsp), %rax
	movq	%rax, 296(%rsp)
	leaq	120(%rsp), %rax
	movq	%rax, 304(%rsp)
	leaq	456(%rsp), %rax
	movq	%rax, 312(%rsp)
	leaq	464(%rsp), %rax
	movq	%rax, 320(%rsp)
	leaq	472(%rsp), %rax
	movq	%rax, 328(%rsp)
	leaq	480(%rsp), %rax
	movq	%rax, 336(%rsp)
	leaq	488(%rsp), %rax
	movq	%rax, 344(%rsp)
	leaq	24(%rsp), %rax
	movq	%rax, 352(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 360(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 368(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 152(%rsp)
	movl	$1, 160(%rsp)
	movq	%rax, 164(%rsp)
	movl	$1, 172(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L114
	pushq	144(%rsp)
	.cfi_def_cfa_offset 408
	leaq	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_(%rip), %rdi
	pushq	144(%rsp)
	.cfi_def_cfa_offset 416
	movq	180(%rsp), %rcx
	movl	188(%rsp), %r8d
	movq	168(%rsp), %rsi
	movl	176(%rsp), %edx
	leaq	216(%rsp), %r9
	call	cudaLaunchKernel@PLT
	popq	%rax
	.cfi_def_cfa_offset 408
	popq	%rdx
	.cfi_def_cfa_offset 400
.L114:
	movq	376(%rsp), %rax
	subq	%fs:40, %rax
	je	.L116
	call	__stack_chk_fail@PLT
.L116:
	addq	$392, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4025:
	.size	_Z62__device_stub__Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, .-_Z62__device_stub__Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.globl	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.type	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, @function
_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_:
.LFB4026:
	.cfi_startproc
	endbr64
	jmp	_Z62__device_stub__Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.cfi_endproc
.LFE4026:
	.size	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, .-_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.section	.rodata.str1.1
.LC6:
	.string	"The selected option is "
.LC7:
	.string	"\n"
.LC8:
	.string	"0.par"
.LC9:
	.string	"%c\n"
.LC10:
	.string	"%d\n"
.LC11:
	.string	"System  is configured for handling missing data with missing data indicator"
.LC12:
	.string	"No Parameter File... existing.."
.LC13:
	.string	"1.par"
.LC14:
	.string	"%f"
.LC15:
	.string	"%d"
.LC16:
	.string	"Create the APF file(0) or Create the Weights file (1) or Classify Data(2,3) ?"
.LC17:
	.string	"Allowed relaxation on the boundary (in % use 0 for default from training data) :"
.LC18:
	.string	"Enter the name of the input file without extension (dat) :"
.LC19:
	.string	".dat"
.LC20:
	.string	".inf"
.LC21:
	.string	"You have "
.LC22:
	.string	" input nodes and "
.LC23:
	.string	" Output nodes with "
.LC24:
	.string	"margin set to "
.LC25:
	.string	" and error levels set to "
.LC26:
	.string	"The target outputs are\n"
.LC27:
	.string	"The maximum binsize is: "
.LC28:
	.string	"Going to initialise the arrays\n"
.LC29:
	.string	"NUMLINES:%d\n"
.LC30:
	.string	"Unable to find the Info file. Exiting !!"
.LC31:
	.string	"Unable to open the data file"
.LC34:
	.string	"%f\n"
.LC35:
	.string	"No of vectors ="
.LC36:
	.string	" and i/n is= "
.LC38:
	.string	"Do you want to use the saved parameters (Y/N)? "
.LC39:
	.string	".apf"
.LC40:
	.string	"Reading from the saved information\n"
.LC41:
	.string	" items read from "
.LC42:
	.string	"ERROR: File "
.LC43:
	.string	" not found"
.LC44:
	.string	"The computation took "
.LC48:
	.string	" Secs.\n"
.LC49:
	.string	".awf"
.LC50:
	.string	"w+"
.LC51:
	.string	"%d "
.LC52:
	.string	"\n%f %f \n"
.LC53:
	.string	"%f "
.LC54:
	.string	"Unable to create file for output\n"
.LC55:
	.string	"Creating the Anticipated Weights data file\n"
.LC56:
	.string	"The programe will now modify the compensatory weights\n"
.LC57:
	.string	"Please enter the gain:"
.LC58:
	.string	"Please enter the number of training epochs:"
.LC59:
	.string	"\n%f"
.LC60:
	.string	"Unable to Open the APF information file\n"
.LC61:
	.string	"Unable to Open the AWF information file\n"
.LC62:
	.string	"Error in cuda memory allocation\n"
.LC63:
	.string	"breaking\n"
.LC65:
	.string	"/home/ubuntu/Datasets/stackv2/train-structured/ajayvibhute/sample_codes/main/CUDA_DBNN/CUDA_DBNN.cu"
.LC66:
	.string	"Error(%s:%d) %s\n"
.LC67:
	.string	"%s\n"
.LC68:
	.string	"rnd:%d\trslt:%f\tRslt2:%f\tOrslt2:%f\tpcnt:%d\n"
.LC69:
	.string	"Round:"
.LC70:
	.string	"| TProb["
.LC71:
	.string	","
.LC72:
	.string	"] | Passed count:"
.LC73:
	.string	"Best result at round "
.LC74:
	.string	"Creating the Anticipated Network outputs\n"
.LC75:
	.string	"Unable to Open the APF information file"
.LC76:
	.string	"output.dat"
.LC77:
	.string	"Read all input parameters\n"
.LC78:
	.string	"actual.dat"
.LC79:
	.string	".cmp"
.LC80:
	.string	"Sample         Predicted     Actual            Prediction \n"
.LC81:
	.string	" No.       Ist 2nd  3rd  4th  item             Confidence\n"
.LC82:
	.string	"Caution!! Item did not have known types\n"
.LC84:
	.string	"%d  %d %-5.2f %d %-5.2f %d %-5.2f %d %-5.2f"
.LC85:
	.string	"%d  %f %-5.2f %f %-5.2f %f %-5.2f %f %-5.2f"
.LC87:
	.string	" <-- Either of it"
.LC88:
	.string	" <-- Rejected"
.LC89:
	.string	" <-- confident"
.LC90:
	.string	"%d  %d\n"
.LC91:
	.string	"%-8d    %d   %d     %d  %d     %d   "
.LC92:
	.string	"%d  %f\n"
.LC93:
	.string	"%-8d    %f   %f     %f    %f     %f    "
.LC94:
	.string	"%-5.2f %% <-Out of range %-5.2f %% \n"
.LC95:
	.string	"%-5.2f %% <-F(1)P(2) %-5.2f %%  %-5.2f %% %-5.2f %% \n"
.LC96:
	.string	"%-5.2f %%  <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n"
.LC97:
	.string	"%-5.2f %% <-Failed %-5.2f %%  %-5.2f %%  %-5.2f %% \n"
.LC98:
	.string	"%-5.2f %% <-FMC %-5.2f %%  %-5.2f %%  %-5.2f %% \n"
.LC99:
	.string	"%-5.2f %% <-Failed %-5.2f %%  %-5.2f %% %-5.2f %% \n"
.LC100:
	.string	"%-5.2f %% <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n"
.LC101:
	.string	"%-5.2f %% <-P(1)F(2) %-5.2f %% %-5.2f %% %-5.2f %% \n"
.LC102:
	.string	"%-5.2f %% <-PMC %-5.2f %% %-5.2f %% %-5.2f %% \n"
.LC103:
	.string	"%-5.2f %% <-Passed %-5.2f %% %-5.2f %% %-5.2f %% \n"
.LC104:
	.string	"%d %e \n"
.LC105:
	.string	"The suggested LoC is "
.LC106:
	.string	"*________________________________________________________________________\n"
.LC107:
	.string	"*Total    Success in   Success in   Non classified   Real success in    \n"
.LC108:
	.string	"* No.    Ist Choice  2nd Choice     items           two chances    \n"
.LC110:
	.string	"* %d       %d          %d           %d             %-5.2f %% \n"
.LC111:
	.string	"* No.    Ist Choice  2nd Choice     items           First chance    \n"
.LC112:
	.string	"Done.\n"
	.section	.text.startup,"ax",@progbits
	.globl	main
	.type	main, @function
main:
.LFB4000:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	.cfi_offset 15, -24
	leaq	.LC14(%rip), %r15
	pushq	%r14
	pushq	%r13
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	movl	%edi, %r13d
	pushq	%r12
	pushq	%rbx
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	leaq	.LC5(%rip), %rbx
	subq	$392, %rsp
	movq	%rsi, -368(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -56(%rbp)
	xorl	%eax, %eax
	cmpl	$3, %edi
	jle	.L120
	leaq	.LC6(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	movl	$1, _ZL6argfnd(%rip)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC7(%rip), %r12
	movq	%rax, %rdi
	movq	-368(%rbp), %rax
	movq	24(%rax), %rax
	movsbl	(%rax), %esi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@PLT
	movq	%r12, %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	-368(%rbp), %rax
	movq	24(%rax), %rax
	movb	(%rax), %al
	cmpb	$50, %al
	je	.L121
	jg	.L122
	cmpb	$48, %al
	je	.L123
	cmpb	$49, %al
	je	.L124
	jmp	.L855
.L122:
	cmpb	$51, %al
	jne	.L855
	movl	$3, _ZL4ans1(%rip)
	jmp	.L878
.L123:
	xorl	%eax, %eax
	movl	%eax, _ZL4ans1(%rip)
	jmp	.L878
.L124:
	leaq	.LC8(%rip), %rdi
	movq	%rbx, %rsi
	movl	$1, _ZL4ans1(%rip)
	call	fopen@PLT
	movq	%rax, fl2(%rip)
	movq	%rax, %rdi
	testq	%rax, %rax
	jne	.L879
.L127:
	leaq	.LC12(%rip), %rsi
	jmp	.L863
.L879:
	leaq	.LC9(%rip), %r14
	leaq	bcchoice(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	urchoice(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	savedpar(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	urchoicex(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movb	bcchoice(%rip), %al
	andl	$-33, %eax
	cmpb	$89, %al
	jne	.L131
	movq	fl2(%rip), %rdi
	leaq	_ZL6skpchk(%rip), %rdx
	leaq	.LC10(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6skpchk(%rip), %eax
	testl	%eax, %eax
	jns	.L132
	movl	%eax, _ZL10MissingDat(%rip)
.L132:
	leaq	.LC11(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL10MissingDat(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%r12, %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
.L131:
	movq	fl2(%rip), %rdi
	call	fclose@PLT
	leaq	.LC13(%rip), %rdi
	movq	%rbx, %rsi
	call	fopen@PLT
	movq	%rax, fl2(%rip)
	movq	%rax, %rdi
	testq	%rax, %rax
	je	.L127
	leaq	_ZL4gain(%rip), %rdx
	movq	%r15, %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	_ZL8oneround(%rip), %rdx
	xorl	%eax, %eax
	leaq	.LC15(%rip), %rsi
	call	__isoc23_fscanf@PLT
.L854:
	movq	fl2(%rip), %rdi
	call	fclose@PLT
	jmp	.L130
.L121:
	movl	$2, _ZL4ans1(%rip)
.L878:
	leaq	.LC8(%rip), %rdi
	movq	%rbx, %rsi
	call	fopen@PLT
	movq	%rax, fl2(%rip)
	movq	%rax, %rdi
	testq	%rax, %rax
	je	.L127
	leaq	.LC9(%rip), %r14
	leaq	bcchoice(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	urchoice(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	savedpar(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	urchoicex(%rip), %rdx
	xorl	%eax, %eax
	movq	%r14, %rsi
	call	__isoc23_fscanf@PLT
	movb	bcchoice(%rip), %al
	andl	$-33, %eax
	cmpb	$89, %al
	jne	.L854
	movq	fl2(%rip), %rdi
	leaq	_ZL6skpchk(%rip), %rdx
	leaq	.LC10(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6skpchk(%rip), %eax
	testl	%eax, %eax
	jns	.L136
	movl	%eax, _ZL10MissingDat(%rip)
.L136:
	leaq	.LC11(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL10MissingDat(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%r12, %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	jmp	.L854
.L120:
	xorl	%eax, %eax
	movl	%eax, _ZL6argfnd(%rip)
.L855:
	leaq	.LC16(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	_ZL4ans1(%rip), %rsi
	leaq	_ZSt3cin(%rip), %rdi
	call	_ZNSirsERi@PLT
.L130:
	cmpl	$2, _ZL4ans1(%rip)
	jne	.L137
	cmpl	$1, _ZL6argfnd(%rip)
	jne	.L138
.L137:
	movl	$0x00000000, _ZL5bgain(%rip)
	jmp	.L139
.L138:
	leaq	.LC17(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	_ZL5bgain(%rip), %rsi
	leaq	_ZSt3cin(%rip), %rdi
	call	_ZNSi10_M_extractIfEERSiRT_@PLT
.L139:
	cmpl	$2, %r13d
	leaq	fln(%rip), %r12
	jg	.L140
	leaq	.LC18(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	_ZSt3cin(%rip), %rax
	movl	$256, %edx
	movq	%r12, %rsi
	leaq	_ZSt3cin(%rip), %r14
	movq	-24(%rax), %rax
	movq	%r14, %rdi
	movq	16(%r14,%rax), %r13
	call	_ZSt17__istream_extractRSiPcl@PLT
	movq	_ZSt3cin(%rip), %rax
	movq	-24(%rax), %rcx
	addq	%r14, %rcx
	cmpl	$0, 32(%rcx)
	jne	.L142
	decq	%r13
	cmpq	$255, %r13
	jbe	.L142
	movq	232(%rcx), %rdi
	call	_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@PLT
	incl	%eax
	jne	.L142
	movq	_ZSt3cin(%rip), %rax
	movl	$2, %esi
	movq	-24(%rax), %rdi
	addq	%r14, %rdi
	call	_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@PLT
	jmp	.L142
.L140:
	movq	-368(%rbp), %rax
	movl	$256, %edx
	movq	%r12, %rdi
	movq	8(%rax), %rsi
	call	__strcpy_chk@PLT
.L142:
	leaq	fltmp(%rip), %r14
	movl	$256, %edx
	movq	%r12, %rsi
	movq	%r14, %rdi
	leaq	.LC19(%rip), %r13
	call	__strcpy_chk@PLT
	movl	$256, %edx
	movq	%r13, %rsi
	movq	%r14, %rdi
	call	__strcat_chk@PLT
	movq	%rbx, %rsi
	movq	%r14, %rdi
	call	fopen@PLT
	movq	%rax, fl1(%rip)
	testq	%rax, %rax
	je	.L144
	movl	$256, %edx
	movq	%r12, %rsi
	movq	%r14, %rdi
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC20(%rip), %rsi
	movq	%r14, %rdi
	call	__strcat_chk@PLT
	movq	%r14, %rdi
	movq	%rbx, %rsi
	call	fopen@PLT
	movq	%rax, fl2(%rip)
	movq	%rax, %rdi
	testq	%rax, %rax
	je	.L145
	xorl	%eax, %eax
	leaq	_ZL7innodes(%rip), %rdx
	leaq	.LC15(%rip), %rsi
	movl	%eax, _ZL1i(%rip)
	xorl	%eax, %eax
	leaq	_ZL8dmyclass(%rip), %rbx
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	_ZL8outnodes(%rip), %rdx
	xorl	%eax, %eax
	leaq	.LC15(%rip), %rsi
	call	__isoc23_fscanf@PLT
	xorl	%eax, %eax
.L146:
	cmpl	%eax, _ZL8outnodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl2(%rip), %rdi
	jl	.L880
	cltq
	movq	%r15, %rsi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L146
.L880:
	movq	%r15, %rsi
	leaq	_ZL3LoC(%rip), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	_ZL6nresol(%rip), %rdx
	leaq	.LC15(%rip), %rsi
	xorl	%eax, %eax
	leaq	.LC7(%rip), %rbx
	leaq	_ZL8dmyclass(%rip), %r15
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	_ZL6nerror(%rip), %rdx
	xorl	%eax, %eax
	leaq	.LC15(%rip), %rsi
	call	__isoc23_fscanf@PLT
	leaq	.LC21(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL7innodes(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	leaq	.LC22(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL8outnodes(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	leaq	.LC23(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC24(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cvtss2sd	_ZL3LoC(%rip), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC25(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL6nerror(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rbx, %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC26(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	xorl	%eax, %eax
.L148:
	cmpl	%eax, _ZL8outnodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L881
	cltq
	leaq	_ZSt4cout(%rip), %rdi
	cvtss2sd	(%r15,%rax,4), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rbx, %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L148
.L881:
	movl	_ZL6nresol(%rip), %eax
	leaq	.LC27(%rip), %rsi
	testl	%eax, %eax
	jle	.L150
	movl	%eax, _ZL5resol(%rip)
.L150:
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL5resol(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rbx, %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cvtsi2sdl	_ZL8outnodes(%rip), %xmm1
	movsd	.LC4(%rip), %xmm0
	leaq	.LC28(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	divsd	%xmm1, %xmm0
	cvtss2sd	_ZL8fst_gain(%rip), %xmm1
	mulsd	%xmm1, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, _ZL8fst_gain(%rip)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r12, %rsi
	movq	%r14, %rdi
	movl	$256, %edx
	call	__strcpy_chk@PLT
	movq	%r13, %rsi
	movl	$256, %edx
	movq	%r14, %rdi
	call	__strcat_chk@PLT
	movq	%r14, %rdi
	call	_Z11getNumlinesPc
	leaq	.LC29(%rip), %rsi
	movl	$2, %edi
	movl	%eax, %edx
	movl	%eax, -292(%rbp)
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movl	_ZL7innodes(%rip), %r13d
	movl	_ZL8outnodes(%rip), %r14d
	movq	%rsp, %rcx
	leal	2(%r13,%r14), %r12d
	movslq	%r12d, %r12
	salq	$2, %r12
	leaq	15(%r12), %rdx
	movq	%rdx, %rsi
	movq	%rdx, %rax
	andq	$-4096, %rsi
	andq	$-16, %rax
	subq	%rsi, %rcx
.L152:
	cmpq	%rcx, %rsp
	je	.L153
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L152
.L153:
	andl	$4095, %eax
	subq	%rax, %rsp
	testq	%rax, %rax
	je	.L154
	orq	$0, -8(%rsp,%rax)
.L154:
	leal	2(%r13), %r15d
	movq	%rsp, -424(%rbp)
	movq	%rsp, %rsi
	movslq	%r15d, %rbx
	salq	$2, %rbx
	leaq	15(%rbx), %rax
	movq	%rax, %rdi
	movq	%rax, %rcx
	andq	$-4096, %rdi
	andq	$-16, %rcx
	subq	%rdi, %rsi
.L155:
	cmpq	%rsi, %rsp
	je	.L156
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L155
.L156:
	andl	$4095, %ecx
	subq	%rcx, %rsp
	testq	%rcx, %rcx
	je	.L157
	orq	$0, -8(%rsp,%rcx)
.L157:
	movq	%rax, %rdi
	movq	%rsp, -248(%rbp)
	movq	%rax, %rcx
	movq	%rsp, %rsi
	andq	$-4096, %rdi
	andq	$-16, %rcx
	subq	%rdi, %rsi
.L158:
	cmpq	%rsi, %rsp
	je	.L159
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L158
.L159:
	andl	$4095, %ecx
	subq	%rcx, %rsp
	testq	%rcx, %rcx
	je	.L160
	orq	$0, -8(%rsp,%rcx)
.L160:
	movq	%rsp, -240(%rbp)
	movq	%rdx, %rcx
	movq	%rsp, %rsi
	andq	$-4096, %rdx
	andq	$-16, %rcx
	subq	%rdx, %rsi
.L161:
	cmpq	%rsi, %rsp
	je	.L162
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L161
.L162:
	andl	$4095, %ecx
	subq	%rcx, %rsp
	testq	%rcx, %rcx
	je	.L163
	orq	$0, -8(%rsp,%rcx)
.L163:
	movq	%rax, %rsi
	movq	%rsp, -256(%rbp)
	movq	%rax, %rdx
	movq	%rsp, %rcx
	andq	$-4096, %rsi
	andq	$-16, %rdx
	subq	%rsi, %rcx
.L164:
	cmpq	%rcx, %rsp
	je	.L165
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L164
.L165:
	andl	$4095, %edx
	subq	%rdx, %rsp
	testq	%rdx, %rdx
	je	.L166
	orq	$0, -8(%rsp,%rdx)
.L166:
	movq	%rsp, -232(%rbp)
	movq	%rax, %rdx
	movq	%rsp, %rcx
	andq	$-4096, %rax
	andq	$-16, %rdx
	subq	%rax, %rcx
.L167:
	cmpq	%rcx, %rsp
	je	.L168
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L167
.L168:
	movq	%rdx, %rax
	andl	$4095, %eax
	subq	%rax, %rsp
	testq	%rax, %rax
	je	.L169
	orq	$0, -8(%rsp,%rax)
.L169:
	movl	-292(%rbp), %eax
	movq	%rsp, -288(%rbp)
	addl	$2, %eax
	cltq
	movq	%rax, -264(%rbp)
	salq	$2, %rax
	movq	%rax, %rdi
	movq	%rax, -336(%rbp)
	call	malloc@PLT
	movq	-264(%rbp), %rdi
	movq	%rax, -360(%rbp)
	imulq	%r12, %rdi
	call	malloc@PLT
	movq	-264(%rbp), %r12
	movq	%rax, -344(%rbp)
	imulq	%rbx, %r12
	addq	$39, %rbx
	movq	%r12, %rdi
	call	malloc@PLT
	movq	%r12, %rdi
	movq	%rax, -272(%rbp)
	call	malloc@PLT
	movl	_ZL5resol(%rip), %r12d
	movq	%rax, -312(%rbp)
	leal	2(%r12), %eax
	leal	4(%r12), %edx
	imull	%r15d, %eax
	imull	%r15d, %eax
	leal	1(%r12), %r15d
	imull	%edx, %eax
	leal	2(%r14), %edx
	imull	%edx, %eax
	movl	%eax, -304(%rbp)
	leal	1(%r13), %eax
	movl	%eax, -216(%rbp)
	leal	1(%r14), %eax
	movl	%eax, -212(%rbp)
	movslq	-304(%rbp), %rax
	salq	$2, %rax
	movq	%rax, %rdi
	movq	%rax, -328(%rbp)
	call	malloc@PLT
	movq	-328(%rbp), %rdi
	movq	%rax, -320(%rbp)
	call	malloc@PLT
	movq	%rsp, %rdx
	movq	%rax, -224(%rbp)
	movq	%rbx, %rax
	andq	$-4096, %rbx
	andq	$-16, %rax
	subq	%rbx, %rdx
.L170:
	cmpq	%rdx, %rsp
	je	.L171
	subq	$4096, %rsp
	orq	$0, 4088(%rsp)
	jmp	.L170
.L171:
	andl	$4095, %eax
	subq	%rax, %rsp
	testq	%rax, %rax
	je	.L172
	orq	$0, -8(%rsp,%rax)
.L172:
	addl	$8, %r12d
	leal	4(%r13), %edi
	movq	%rsp, %r14
	movslq	%edi, %rdi
	movslq	%r12d, %r12
	imulq	%r12, %rdi
	salq	$2, %rdi
	call	malloc@PLT
	xorl	%edi, %edi
	movq	%rax, -280(%rbp)
	call	times@PLT
	cmpl	$0, _ZL4ans1(%rip)
	movq	%rax, start(%rip)
	jne	.L174
	xorl	%eax, %eax
	leaq	.LC14(%rip), %rbx
	movl	$0xc3c80000, _ZL4omax(%rip)
	movl	%eax, _ZL1n(%rip)
	movl	$0x43c80000, _ZL4omin(%rip)
	jmp	.L175
.L145:
	leaq	.LC30(%rip), %rsi
.L863:
	leaq	_ZSt4cout(%rip), %rdi
.L864:
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	$1, %edi
	call	exit@PLT
.L144:
	leaq	.LC31(%rip), %rsi
	jmp	.L863
.L189:
	movq	-256(%rbp), %rcx
	cltq
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	cmpl	$0, _ZL1n(%rip)
	jne	.L177
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %edx
	movslq	_ZL1i(%rip), %rax
	cmpl	$2, %edx
	jne	.L178
	movq	-232(%rbp), %rcx
	movq	fl1(%rip), %rdi
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-288(%rbp), %rcx
	movq	%rbx, %rsi
	movq	fl1(%rip), %rdi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L179:
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm1
	movslq	_ZL1i(%rip), %rax
	movq	-256(%rbp), %rcx
	movss	(%rcx,%rax,4), %xmm0
	ucomiss	%xmm1, %xmm0
	jp	.L596
	jne	.L596
	movq	-248(%rbp), %rcx
	movss	%xmm1, (%rcx,%rax,4)
.L182:
	movl	_ZL1i(%rip), %eax
	incl	%eax
.L176:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	jge	.L189
	xorl	%eax, %eax
	leaq	-196(%rbp), %rdx
	leaq	.LC34(%rip), %rsi
	call	__isoc23_fscanf@PLT
	movss	-196(%rbp), %xmm0
	comiss	_ZL4omax(%rip), %xmm0
	jbe	.L190
	movss	%xmm0, _ZL4omax(%rip)
.L190:
	movss	_ZL4omin(%rip), %xmm1
	comiss	%xmm0, %xmm1
	jbe	.L192
	movss	%xmm0, _ZL4omin(%rip)
.L192:
	incl	_ZL1n(%rip)
	movl	$1, _ZL1k(%rip)
	movl	$1, _ZL1j(%rip)
.L175:
	movq	fl1(%rip), %rdi
	call	feof@PLT
	testl	%eax, %eax
	jne	.L882
	xorl	%eax, %eax
	movl	%eax, _ZL6skpchk(%rip)
	movl	$1, %eax
	jmp	.L176
.L178:
	decl	%edx
	jne	.L179
	movq	-232(%rbp), %rcx
	movq	fl1(%rip), %rdi
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-232(%rbp), %rcx
	movss	(%rcx,%rax,4), %xmm0
	movq	-288(%rbp), %rcx
	movss	%xmm0, (%rcx,%rax,4)
	jmp	.L179
.L596:
	movq	-240(%rbp), %rcx
	movss	%xmm0, (%rcx,%rax,4)
	movq	-248(%rbp), %rcx
	jmp	.L856
.L177:
	call	__isoc23_fscanf@PLT
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm1
	movslq	_ZL1i(%rip), %rax
	movq	-256(%rbp), %rcx
	movss	(%rcx,%rax,4), %xmm0
	ucomiss	%xmm1, %xmm0
	jp	.L183
	je	.L182
.L183:
	movq	-248(%rbp), %rcx
	comiss	(%rcx,%rax,4), %xmm0
	jbe	.L185
	movss	%xmm0, (%rcx,%rax,4)
.L185:
	movq	-240(%rbp), %rcx
	movss	(%rcx,%rax,4), %xmm1
	comiss	%xmm0, %xmm1
	jbe	.L182
.L856:
	movss	%xmm0, (%rcx,%rax,4)
	jmp	.L182
.L882:
	leaq	.LC35(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL1n(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	leaq	.LC36(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cvtsi2sdl	_ZL1n(%rip), %xmm1
	movsd	.LC4(%rip), %xmm0
	movq	%rax, %rdi
	divsd	%xmm1, %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC7(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL7innodes(%rip), %edx
	xorl	%ecx, %ecx
	xorps	%xmm2, %xmm2
	movl	$1, _ZL1i(%rip)
	movq	.LC37(%rip), %xmm3
	movl	$1, %eax
	movss	.LC2(%rip), %xmm4
.L195:
	cmpl	%eax, %edx
	jl	.L883
	movq	-240(%rbp), %rbx
	movss	(%rbx,%rax,4), %xmm1
	movq	-248(%rbp), %rbx
	movss	(%rbx,%rax,4), %xmm0
	ucomiss	%xmm0, %xmm1
	jp	.L196
	jne	.L196
	ucomiss	%xmm2, %xmm1
	jp	.L602
	je	.L198
.L602:
	movq	-240(%rbp), %rbx
	cvtss2sd	%xmm0, %xmm0
	xorps	%xmm3, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, (%rbx,%rax,4)
	jmp	.L196
.L198:
	movq	-240(%rbp), %rbx
	movl	$0x00000000, (%rbx,%rax,4)
	movq	-248(%rbp), %rbx
	movss	%xmm4, (%rbx,%rax,4)
.L196:
	incq	%rax
	movb	$1, %cl
	jmp	.L195
.L883:
	testb	%cl, %cl
	je	.L201
	xorl	%eax, %eax
	testl	%edx, %edx
	cmovs	%eax, %edx
	incl	%edx
	movl	%edx, _ZL1i(%rip)
.L201:
	cmpl	$0, _ZL6argfnd(%rip)
	jne	.L202
	leaq	.LC38(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	savedpar(%rip), %rsi
	leaq	_ZSt3cin(%rip), %rdi
	call	_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@PLT
.L202:
	movb	savedpar(%rip), %al
	cmpb	$121, %al
	jne	.L203
	movb	$89, savedpar(%rip)
	jmp	.L204
.L203:
	cmpb	$110, %al
	jne	.L205
	movb	$78, savedpar(%rip)
	jmp	.L206
.L205:
	andl	$-33, %eax
	cmpb	$89, %al
	jne	.L206
.L204:
	leaq	fltmp(%rip), %rbx
	movl	$256, %edx
	leaq	fln(%rip), %rsi
	xorl	%r13d, %r13d
	movq	%rbx, %rdi
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC39(%rip), %rsi
	movq	%rbx, %rdi
	call	__strcat_chk@PLT
	leaq	.LC5(%rip), %rsi
	movq	%rbx, %rdi
	movq	%r13, fl2(%rip)
	call	fopen@PLT
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.L207
	leaq	.LC40(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC15(%rip), %rbx
	movl	$1, %eax
.L208:
	movl	_ZL7innodes(%rip), %esi
	movl	%eax, _ZL1i(%rip)
	cmpl	%eax, %esi
	jl	.L884
	movq	fl2(%rip), %rdi
	cltq
	movq	%rbx, %rsi
	xorl	%r12d, %r12d
	leaq	(%r14,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rdx
	movl	%r15d, %ecx
	movq	-280(%rbp), %rsi
	movl	%r12d, _ZL1j(%rip)
	movq	%rdx, %rax
	movl	(%r14,%rdx,4), %edx
	imull	%eax, %ecx
	movslq	%ecx, %rcx
	leaq	(%rsi,%rcx,4), %rdi
	xorl	%ecx, %ecx
	xorl	%esi, %esi
.L209:
	cmpl	%ecx, %edx
	jl	.L885
	cvtsi2ssl	%ecx, %xmm0
	movb	$1, %sil
	movss	%xmm0, 4(%rdi,%rcx,4)
	incq	%rcx
	jmp	.L209
.L885:
	testb	%sil, %sil
	je	.L211
	testl	%edx, %edx
	movl	$-1, %ecx
	cmovs	%ecx, %edx
	incl	%edx
	movl	%edx, _ZL1j(%rip)
.L211:
	incl	%eax
	jmp	.L208
.L884:
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZNSolsEi@PLT
	leaq	.LC41(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	fltmp(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC7(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	jmp	.L213
.L207:
	leaq	.LC42(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rbx, %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC43(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC7(%rip), %rsi
	movq	%rax, %rdi
	jmp	.L864
.L206:
	movl	$1, %eax
.L214:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L213
	movq	-240(%rbp), %rbx
	cltq
	movss	(%rbx,%rax,4), %xmm1
	movq	-248(%rbp), %rbx
	movss	(%rbx,%rax,4), %xmm0
	ucomiss	%xmm0, %xmm1
	jp	.L215
	jne	.L215
	xorps	%xmm2, %xmm2
	ucomiss	%xmm2, %xmm1
	jp	.L604
	je	.L217
.L604:
	movq	-240(%rbp), %rbx
	cvtss2sd	%xmm0, %xmm0
	xorps	.LC37(%rip), %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, (%rbx,%rax,4)
	jmp	.L215
.L217:
	movq	-240(%rbp), %rbx
	movl	$0x00000000, (%rbx,%rax,4)
	movq	-248(%rbp), %rbx
	movl	$0x3f800000, (%rbx,%rax,4)
.L215:
	leaq	(%r14,%rax,4), %rsi
	leaq	_ZSt3cin(%rip), %rdi
	xorl	%ebx, %ebx
	call	_ZNSirsERi@PLT
	movslq	_ZL1i(%rip), %rdx
	movl	%ebx, _ZL1j(%rip)
	xorl	%esi, %esi
	movq	-280(%rbp), %rbx
	movq	%rdx, %rax
	movl	(%r14,%rdx,4), %edx
	movl	%eax, %ecx
	imull	%r15d, %ecx
	movslq	%ecx, %rcx
	leaq	(%rbx,%rcx,4), %rdi
	xorl	%ecx, %ecx
.L219:
	cmpl	%ecx, %edx
	jl	.L886
	cvtsi2ssl	%ecx, %xmm0
	movb	$1, %sil
	movss	%xmm0, 4(%rdi,%rcx,4)
	incq	%rcx
	jmp	.L219
.L886:
	testb	%sil, %sil
	je	.L221
	testl	%edx, %edx
	movl	$-1, %ecx
	cmovs	%ecx, %edx
	incl	%edx
	movl	%edx, _ZL1j(%rip)
.L221:
	incl	%eax
	jmp	.L214
.L213:
	movl	-216(%rbp), %r8d
	movl	%r15d, %ecx
	xorl	%r13d, %r13d
	movl	-212(%rbp), %ebx
	movl	_ZL7innodes(%rip), %edi
	movl	_ZL8outnodes(%rip), %esi
	xorl	%r11d, %r11d
	movl	$1, _ZL1k(%rip)
	imull	%r15d, %r8d
	movl	_ZL1j(%rip), %edx
	movl	_ZL1i(%rip), %r9d
	leal	1(%rdi), %r12d
	movl	_ZL1l(%rip), %r10d
	movl	_ZL1m(%rip), %eax
	movl	%r12d, -428(%rbp)
	movss	.LC2(%rip), %xmm0
	imull	%r8d, %ecx
	imull	%ebx, %ecx
	movl	-216(%rbp), %ebx
	movl	%ecx, -400(%rbp)
	movl	%r15d, %ecx
	imull	%r15d, %ecx
	imull	%ebx, %ecx
	movl	-212(%rbp), %ebx
	imull	%ebx, %r8d
	imull	%ebx, %ecx
	imull	%r15d, %ebx
	movl	%r8d, -416(%rbp)
	movl	$1, %r8d
	movl	%ecx, -408(%rbp)
	movslq	-212(%rbp), %rcx
	movl	%ebx, -352(%rbp)
	leaq	0(,%rcx,4), %rbx
	xorl	%ecx, %ecx
	movq	%rbx, -392(%rbp)
	xorl	%ebx, %ebx
.L223:
	cmpl	%r8d, %esi
	jl	.L887
	movl	-408(%rbp), %r11d
	movl	$1, %r9d
	movl	%r11d, -376(%rbp)
.L231:
	cmpl	%r9d, %edi
	jl	.L888
	movl	(%r14,%r9,4), %edx
	movl	-376(%rbp), %r12d
	xorl	%ebx, %ebx
.L224:
	cmpl	%ebx, %edx
	jl	.L889
	movl	-352(%rbp), %r10d
	leal	(%r10,%r12), %r13d
	movl	$1, %r10d
.L225:
	cmpl	%r10d, %edi
	jl	.L890
	xorl	%r11d, %r11d
	movslq	%r13d, %rcx
	movl	(%r14,%r10,4), %eax
	movl	%r11d, -384(%rbp)
	addq	%r8, %rcx
	salq	$2, %rcx
.L226:
	movl	-384(%rbp), %r11d
	cmpl	%r11d, %eax
	jl	.L891
	movq	-320(%rbp), %r11
	incl	-384(%rbp)
	movss	%xmm0, (%r11,%rcx)
	movq	-224(%rbp), %r11
	movl	$1, (%r11,%rcx)
	movq	-392(%rbp), %r11
	addq	%r11, %rcx
	jmp	.L226
.L891:
	testl	%eax, %eax
	movl	$-1, %ecx
	cmovs	%ecx, %eax
	movl	-352(%rbp), %ecx
	incq	%r10
	addl	%ecx, %r13d
	incl	%eax
	movb	$1, %cl
	jmp	.L225
.L890:
	movl	-416(%rbp), %r11d
	movl	-428(%rbp), %r10d
	incl	%ebx
	movb	$1, %r13b
	addl	%r11d, %r12d
	jmp	.L224
.L889:
	testl	%edx, %edx
	movl	$-1, %ebx
	movl	-400(%rbp), %r11d
	cmovs	%ebx, %edx
	addl	%r11d, -376(%rbp)
	incq	%r9
	movb	$1, %bl
	incl	%edx
	jmp	.L231
.L888:
	xorl	%r9d, %r9d
	testl	%edi, %edi
	movb	$1, %r11b
	cmovns	%edi, %r9d
	incq	%r8
	incl	%r9d
	jmp	.L223
.L887:
	testb	%r13b, %r13b
	je	.L232
	movl	%r10d, _ZL1l(%rip)
.L232:
	testb	%r11b, %r11b
	je	.L233
	movl	%r9d, _ZL1i(%rip)
.L233:
	testb	%bl, %bl
	je	.L234
	movl	%edx, _ZL1j(%rip)
.L234:
	testb	%cl, %cl
	je	.L235
	movl	%eax, _ZL1m(%rip)
.L235:
	testb	%r11b, %r11b
	je	.L236
	xorl	%eax, %eax
	testl	%esi, %esi
	cmovs	%eax, %esi
	incl	%esi
	movl	%esi, _ZL1k(%rip)
.L236:
	xorl	%edi, %edi
	call	times@PLT
	movq	fl1(%rip), %rdi
	movq	%rax, start(%rip)
	call	rewind@PLT
	xorl	%edi, %edi
	movl	%edi, _ZL4tcnt(%rip)
.L237:
	movq	fl1(%rip), %rdi
	call	feof@PLT
	testl	%eax, %eax
	jne	.L892
	incl	_ZL4tcnt(%rip)
	movl	$1, %eax
	leaq	.LC14(%rip), %rbx
.L238:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	jl	.L893
	movq	-256(%rbp), %rcx
	cltq
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %edx
	movslq	_ZL1i(%rip), %rax
	cmpl	$2, %edx
	jne	.L239
	movq	-232(%rbp), %rcx
	movq	fl1(%rip), %rdi
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-288(%rbp), %rcx
	movq	%rbx, %rsi
	movq	fl1(%rip), %rdi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	jmp	.L240
.L239:
	decl	%edx
	jne	.L240
	movq	-232(%rbp), %rcx
	movq	fl1(%rip), %rdi
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-232(%rbp), %rcx
	movss	(%rcx,%rax,4), %xmm0
	movq	-288(%rbp), %rcx
	movss	%xmm0, (%rcx,%rax,4)
.L240:
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L238
.L893:
	leaq	-196(%rbp), %rdx
	leaq	.LC34(%rip), %rsi
	xorl	%eax, %eax
	movl	$1, %r12d
	call	__isoc23_fscanf@PLT
	movl	_ZL10MissingDat(%rip), %eax
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %ebx
	movl	%eax, -392(%rbp)
.L242:
	cmpl	%r12d, %ebx
	jl	.L894
	cvtsi2ssl	-392(%rbp), %xmm1
	movq	-256(%rbp), %rax
	movss	(%rax,%r12,4), %xmm0
	ucomiss	%xmm1, %xmm0
	jp	.L605
	je	.L243
.L605:
	movq	-248(%rbp), %rax
	movss	(%rax,%r12,4), %xmm2
	ucomiss	%xmm2, %xmm1
	jp	.L606
	je	.L243
.L606:
	movq	-424(%rbp), %rax
	cvtsi2ssl	(%r14,%r12,4), %xmm7
	movss	%xmm0, (%rax,%r12,4)
	movq	-240(%rbp), %rax
	movss	(%rax,%r12,4), %xmm1
	movss	%xmm7, -384(%rbp)
	subss	%xmm1, %xmm2
	subss	%xmm1, %xmm0
	divss	%xmm2, %xmm0
	movss	%xmm2, -376(%rbp)
	mulss	%xmm7, %xmm0
	call	roundf@PLT
	movq	-256(%rbp), %rax
	movss	%xmm0, (%rax,%r12,4)
	movq	-232(%rbp), %rax
	movss	(%rax,%r12,4), %xmm0
	divss	-376(%rbp), %xmm0
	mulss	-384(%rbp), %xmm0
	call	roundf@PLT
	movq	-232(%rbp), %rax
	movss	%xmm0, (%rax,%r12,4)
	movq	-288(%rbp), %rax
	movss	(%rax,%r12,4), %xmm0
	divss	-376(%rbp), %xmm0
	mulss	-384(%rbp), %xmm0
	call	roundf@PLT
	movq	-288(%rbp), %rax
	movss	%xmm0, (%rax,%r12,4)
.L243:
	incq	%r12
	jmp	.L242
.L894:
	movl	_ZL8outnodes(%rip), %eax
	movl	_ZL1j(%rip), %ecx
	xorl	%esi, %esi
	xorl	%edx, %edx
	movl	_ZL1m(%rip), %r9d
	movl	_ZL1k(%rip), %r13d
	movl	%r15d, %r11d
	movl	$1, %edi
	movss	-196(%rbp), %xmm3
	movss	_ZL8dmyclass(%rip), %xmm4
	movl	%eax, -384(%rbp)
	xorl	%r12d, %r12d
	movl	_ZL1l(%rip), %r8d
	movl	-408(%rbp), %r10d
	xorl	%eax, %eax
	movss	.LC2(%rip), %xmm1
.L247:
	movl	%edi, -428(%rbp)
	cmpl	%edi, %ebx
	jl	.L895
	cvtsi2ssl	-392(%rbp), %xmm0
	movq	-256(%rbp), %rcx
	movss	(%rcx,%rdi,4), %xmm2
	ucomiss	%xmm0, %xmm2
	jp	.L607
	movl	$0, %ecx
	je	.L248
.L607:
	movq	-280(%rbp), %rsi
	movslq	%r11d, %rcx
	leaq	(%rsi,%rcx,4), %r8
	xorl	%ecx, %ecx
.L252:
	movaps	%xmm2, %xmm0
	subss	4(%r8,%rcx,4), %xmm0
	andps	.LC3(%rip), %xmm0
	comiss	%xmm1, %xmm0
	jb	.L250
	leaq	1(%rcx), %rsi
	cmpl	%ecx, (%r14,%rdi,4)
	jl	.L250
	movq	%rsi, %rcx
	jmp	.L252
.L250:
	movl	-416(%rbp), %esi
	movl	-352(%rbp), %r8d
	movl	%r15d, %r12d
	imull	%ecx, %esi
	addl	%r10d, %esi
	addl	%r8d, %esi
	movl	$1, %r8d
	movl	%esi, -376(%rbp)
.L253:
	cmpl	%ebx, %r8d
	jg	.L896
	movl	-428(%rbp), %edx
	xorl	%r9d, %r9d
	cmpl	%edx, %r8d
	je	.L254
	movq	-256(%rbp), %rax
	movq	-280(%rbp), %rdx
	movss	(%rax,%r8,4), %xmm2
	movslq	%r12d, %rax
	leaq	(%rdx,%rax,4), %r9
	xorl	%eax, %eax
.L257:
	movaps	%xmm2, %xmm0
	subss	4(%r9,%rax,4), %xmm0
	andps	.LC3(%rip), %xmm0
	comiss	%xmm1, %xmm0
	jb	.L832
	leaq	1(%rax), %rdx
	cmpl	%eax, (%r14,%r8,4)
	jl	.L832
	movq	%rdx, %rax
	jmp	.L257
.L832:
	movl	$1, %edx
.L259:
	cmpl	%edx, -384(%rbp)
	jl	.L258
	leaq	_ZL8dmyclass(%rip), %r13
	movaps	%xmm3, %xmm0
	leaq	1(%rdx), %r9
	subss	0(%r13,%rdx,4), %xmm0
	andps	.LC3(%rip), %xmm0
	comiss	%xmm4, %xmm0
	jbe	.L258
	movq	%r9, %rdx
	jmp	.L259
.L258:
	movl	-212(%rbp), %esi
	movl	%eax, %r9d
	movl	%edx, %r13d
	imull	%esi, %eax
	movl	-376(%rbp), %esi
	addl	%esi, %eax
	movq	-224(%rbp), %rsi
	addl	%eax, %edx
	cltq
	movslq	%edx, %rdx
	incl	(%rsi,%rdx,4)
	incl	(%rsi,%rax,4)
	movb	$1, %al
.L254:
	movl	-352(%rbp), %esi
	incq	%r8
	addl	%r15d, %r12d
	movb	$1, %dl
	addl	%esi, -376(%rbp)
	jmp	.L253
.L896:
	leal	1(%rbx), %r8d
	movb	$1, %r12b
.L248:
	movl	-400(%rbp), %esi
	incq	%rdi
	addl	%r15d, %r11d
	addl	%esi, %r10d
	movb	$1, %sil
	jmp	.L247
.L895:
	testb	%r12b, %r12b
	je	.L262
	movl	%r8d, _ZL1l(%rip)
.L262:
	testb	%sil, %sil
	je	.L263
	xorl	%esi, %esi
	testl	%ebx, %ebx
	movl	%ecx, _ZL1j(%rip)
	cmovs	%esi, %ebx
	incl	%ebx
	movl	%ebx, _ZL1i(%rip)
.L263:
	testb	%dl, %dl
	je	.L264
	movl	%r9d, _ZL1m(%rip)
.L264:
	testb	%al, %al
	je	.L237
	movl	%r13d, _ZL1k(%rip)
	jmp	.L237
.L892:
	movq	fl1(%rip), %rdi
	leaq	_ZSt4cout(%rip), %r12
	leaq	fltmp(%rip), %rbx
	leaq	.LC50(%rip), %r13
	call	fclose@PLT
	movq	fl2(%rip), %rdi
	call	fclose@PLT
	xorl	%edi, %edi
	call	times@PLT
	leaq	.LC44(%rip), %rsi
	movq	%r12, %rdi
	movq	%rax, stop(%rip)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	start(%rip), %rax
	subq	stop(%rip), %rax
	cvtsi2sdq	%rax, %xmm0
	andps	.LC45(%rip), %xmm0
	mulsd	.LC46(%rip), %xmm0
	divsd	.LC47(%rip), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC48(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rbx, %rdi
	movl	$256, %edx
	leaq	fln(%rip), %rsi
	call	__strcpy_chk@PLT
	movl	$256, %edx
	movq	%rbx, %rdi
	leaq	.LC49(%rip), %rsi
	call	__strcat_chk@PLT
	movq	%rbx, %rdi
	movq	%r13, %rsi
	call	fopen@PLT
	movq	%rbx, %rdi
	movl	$256, %edx
	leaq	fln(%rip), %rsi
	movq	%rax, fl6(%rip)
	call	__strcpy_chk@PLT
	movl	$256, %edx
	movq	%rbx, %rdi
	leaq	.LC39(%rip), %rsi
	call	__strcat_chk@PLT
	movq	%rbx, %rdi
	movq	%r13, %rsi
	leaq	.LC51(%rip), %rbx
	call	fopen@PLT
	movl	$1, %edx
	movq	%rax, fl1(%rip)
	testq	%rax, %rax
	je	.L897
.L267:
	cmpl	%edx, _ZL7innodes(%rip)
	movl	%edx, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	jl	.L898
	movslq	%edx, %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	movl	(%r14,%rdx,4), %ecx
	movq	%rbx, %rdx
	call	__fprintf_chk@PLT
	movl	_ZL1i(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L267
.L898:
	leaq	.LC52(%rip), %rdx
	movl	$2, %esi
	movb	$2, %al
	cvtss2sd	_ZL4omax(%rip), %xmm0
	cvtss2sd	_ZL4omin(%rip), %xmm1
	leaq	.LC53(%rip), %rbx
	call	__fprintf_chk@PLT
	movl	$1, %eax
.L270:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	jl	.L899
	movq	-248(%rbp), %rcx
	cltq
	movq	%rbx, %rdx
	movl	$2, %esi
	cvtss2sd	(%rcx,%rax,4), %xmm0
	movb	$1, %al
	call	__fprintf_chk@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L270
.L899:
	leaq	.LC7(%rip), %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	leaq	.LC53(%rip), %rbx
	movl	$1, %eax
.L272:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	jl	.L900
	movq	-240(%rbp), %rcx
	cltq
	movq	%rbx, %rdx
	movl	$2, %esi
	cvtss2sd	(%rcx,%rax,4), %xmm0
	movb	$1, %al
	call	__fprintf_chk@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L272
.L900:
	leaq	.LC7(%rip), %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	leaq	.LC51(%rip), %rbx
	movl	$1, %eax
.L274:
	cmpl	%eax, _ZL8outnodes(%rip)
	movl	%eax, _ZL1k(%rip)
	jl	.L901
	movl	$1, %eax
.L281:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L902
	xorl	%edx, %edx
.L280:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L903
	movl	$1, %eax
.L279:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1l(%rip)
	movl	_ZL1i(%rip), %edx
	jl	.L904
	cmpl	%edx, %eax
	je	.L276
	xorl	%eax, %eax
.L275:
	movslq	_ZL1l(%rip), %rdx
	movl	%eax, _ZL1m(%rip)
	movq	%rdx, %rcx
	cmpl	%eax, (%r14,%rdx,4)
	jl	.L905
	movl	_ZL1i(%rip), %edx
	movl	-216(%rbp), %esi
	movq	fl1(%rip), %rdi
	imull	%r15d, %edx
	addl	_ZL1j(%rip), %edx
	imull	%esi, %edx
	movl	$2, %esi
	addl	%ecx, %edx
	movl	-212(%rbp), %ecx
	imull	%r15d, %edx
	addl	%edx, %eax
	movq	%rbx, %rdx
	imull	%ecx, %eax
	movq	-224(%rbp), %rcx
	addl	_ZL1k(%rip), %eax
	cltq
	movl	(%rcx,%rax,4), %ecx
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movl	_ZL1i(%rip), %eax
	movl	-216(%rbp), %ecx
	leaq	.LC53(%rip), %rdx
	movq	fl6(%rip), %rdi
	movl	$2, %esi
	imull	%r15d, %eax
	addl	_ZL1j(%rip), %eax
	imull	%ecx, %eax
	movl	-212(%rbp), %ecx
	addl	_ZL1l(%rip), %eax
	imull	%r15d, %eax
	addl	_ZL1m(%rip), %eax
	imull	%ecx, %eax
	movq	-320(%rbp), %rcx
	addl	_ZL1k(%rip), %eax
	cltq
	cvtss2sd	(%rcx,%rax,4), %xmm0
	movb	$1, %al
	call	__fprintf_chk@PLT
	movl	_ZL1m(%rip), %eax
	incl	%eax
	jmp	.L275
.L905:
	movq	fl6(%rip), %rdi
	leaq	.LC7(%rip), %r12
	movl	$2, %esi
	xorl	%eax, %eax
	movq	%r12, %rdx
	call	__fprintf_chk@PLT
	movq	%r12, %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	movq	fl1(%rip), %rdi
	call	__fprintf_chk@PLT
.L276:
	movl	_ZL1l(%rip), %eax
	incl	%eax
	jmp	.L279
.L904:
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L280
.L903:
	incl	%eax
	jmp	.L281
.L902:
	movq	fl6(%rip), %rdi
	leaq	.LC7(%rip), %r12
	movl	$2, %esi
	xorl	%eax, %eax
	movq	%r12, %rdx
	call	__fprintf_chk@PLT
	movq	%r12, %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	movq	fl1(%rip), %rdi
	call	__fprintf_chk@PLT
	movl	_ZL1k(%rip), %eax
	incl	%eax
	jmp	.L274
.L901:
	leaq	.LC7(%rip), %rbx
	movq	fl6(%rip), %rdi
	movl	$2, %esi
	xorl	%eax, %eax
	movq	%rbx, %rdx
	call	__fprintf_chk@PLT
	movq	%rbx, %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	movq	fl1(%rip), %rdi
	leaq	.LC34(%rip), %rbx
	call	__fprintf_chk@PLT
	movl	$1, %eax
	jmp	.L282
.L897:
	leaq	.LC54(%rip), %rsi
	movq	%r12, %rdi
	jmp	.L864
.L907:
	incl	%eax
.L282:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L906
	movl	$1, %edx
.L284:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L907
	imull	%r15d, %eax
	movq	-280(%rbp), %rcx
	movl	$2, %esi
	movq	fl6(%rip), %rdi
	addl	%edx, %eax
	movq	%rbx, %rdx
	cltq
	cvtss2sd	(%rcx,%rax,4), %xmm0
	movb	$1, %al
	call	__fprintf_chk@PLT
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L284
.L906:
	movq	fl1(%rip), %rdi
	call	fclose@PLT
	movq	fl6(%rip), %rdi
	call	fclose@PLT
	xorl	%edi, %edi
	call	fflush@PLT
	leaq	.LC55(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
.L174:
	cmpl	$1, _ZL4ans1(%rip)
	jne	.L285
	xorl	%edi, %edi
	call	times@PLT
	xorl	%ecx, %ecx
	xorl	%esi, %esi
	xorl	%edx, %edx
	movl	%ecx, _ZL4pcnt(%rip)
	movl	%ecx, _ZL5pocnt(%rip)
	movl	$0x00000000, _ZL4rslt(%rip)
	movl	$0x00000000, _ZL5rslt2(%rip)
	movl	$0x00000000, _ZL5orslt(%rip)
	movl	$0x00000000, _ZL6orslt2(%rip)
	movl	%esi, _ZL1i(%rip)
	movq	%rax, start(%rip)
	xorl	%eax, %eax
.L286:
	cmpl	%eax, -304(%rbp)
	jle	.L908
	movq	-320(%rbp), %rbx
	movb	$1, %dl
	movl	$0x00000000, (%rbx,%rax,4)
	incq	%rax
	jmp	.L286
.L908:
	testb	%dl, %dl
	je	.L288
	xorl	%eax, %eax
	cmpl	$0, -304(%rbp)
	cmovns	-304(%rbp), %eax
	movl	%eax, _ZL1i(%rip)
.L288:
	leaq	_ZSt4cout(%rip), %rbx
	leaq	.LC56(%rip), %rsi
	movq	%rbx, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cmpl	$0, _ZL6argfnd(%rip)
	jne	.L289
	leaq	.LC57(%rip), %rsi
	movq	%rbx, %rdi
	leaq	_ZSt3cin(%rip), %r12
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	_ZL4gain(%rip), %rsi
	movq	%r12, %rdi
	call	_ZNSi10_M_extractIfEERSiRT_@PLT
	leaq	.LC58(%rip), %rsi
	movq	%rbx, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	_ZL8oneround(%rip), %rsi
	movq	%r12, %rdi
	call	_ZNSirsERi@PLT
.L289:
	leaq	fltmp(%rip), %rbx
	xorl	%edi, %edi
	leaq	fln(%rip), %r13
	call	times@PLT
	movl	$256, %edx
	movq	%r13, %rsi
	movq	%rbx, %rdi
	movq	%rax, start(%rip)
	leaq	.LC5(%rip), %r12
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC49(%rip), %rsi
	movq	%rbx, %rdi
	call	__strcat_chk@PLT
	movq	%r12, %rsi
	movq	%rbx, %rdi
	call	fopen@PLT
	movq	%rax, fl6(%rip)
	testq	%rax, %rax
	je	.L290
	movq	%rbx, %rdi
	movl	$256, %edx
	movq	%r13, %rsi
	call	__strcpy_chk@PLT
	movq	%rbx, %rdi
	movl	$256, %edx
	leaq	.LC39(%rip), %rsi
	call	__strcat_chk@PLT
	xorl	%edx, %edx
	movq	%rbx, %rdi
	movq	%r12, %rsi
	movq	%rdx, fl2(%rip)
	leaq	.LC15(%rip), %rbx
	call	fopen@PLT
	movl	$1, %edx
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.L909
.L291:
	cmpl	%edx, _ZL7innodes(%rip)
	movl	%edx, _ZL1i(%rip)
	movq	fl2(%rip), %rdi
	jl	.L910
	movslq	%edx, %rdx
	movq	%rbx, %rsi
	xorl	%eax, %eax
	leaq	(%r14,%rdx,4), %rdx
	call	__isoc23_fscanf@PLT
	xorl	%eax, %eax
	movl	%r15d, %ecx
	movq	-280(%rbp), %rsi
	movl	%eax, _ZL1j(%rip)
	movslq	_ZL1i(%rip), %rax
	movq	%rax, %rdx
	movl	(%r14,%rax,4), %eax
	imull	%edx, %ecx
	movslq	%ecx, %rcx
	leaq	(%rsi,%rcx,4), %rdi
	xorl	%ecx, %ecx
	xorl	%esi, %esi
.L293:
	cmpl	%ecx, %eax
	jl	.L911
	cvtsi2ssl	%ecx, %xmm0
	movb	$1, %sil
	movss	%xmm0, 4(%rdi,%rcx,4)
	incq	%rcx
	jmp	.L293
.L911:
	testb	%sil, %sil
	je	.L295
	testl	%eax, %eax
	movl	$-1, %ecx
	cmovs	%ecx, %eax
	incl	%eax
	movl	%eax, _ZL1j(%rip)
.L295:
	incl	%edx
	jmp	.L291
.L910:
	leaq	_ZL4omax(%rip), %rdx
	leaq	.LC59(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	leaq	.LC14(%rip), %rbx
	movq	fl2(%rip), %rdi
	xorl	%eax, %eax
	leaq	_ZL4omin(%rip), %rdx
	movq	%rbx, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	$1, %eax
.L297:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl2(%rip), %rdi
	jl	.L912
	movq	-248(%rbp), %rcx
	cltq
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L297
.L912:
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	leaq	.LC14(%rip), %rbx
	call	__isoc23_fscanf@PLT
	movl	$1, %eax
.L299:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl2(%rip), %rdi
	jl	.L913
	movq	-240(%rbp), %rcx
	cltq
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L299
.L913:
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	xorl	%r12d, %r12d
	xorl	%r13d, %r13d
	call	__isoc23_fscanf@PLT
	movl	-216(%rbp), %edi
	xorl	%r11d, %r11d
	movslq	-212(%rbp), %rcx
	movl	_ZL7innodes(%rip), %r9d
	movl	_ZL1j(%rip), %edx
	movl	$1, _ZL1i(%rip)
	imull	%r15d, %edi
	movl	%ecx, %r10d
	leaq	0(,%rcx,4), %rbx
	movl	_ZL1l(%rip), %r8d
	imull	%r15d, %r10d
	movl	_ZL1m(%rip), %eax
	movl	%edi, %esi
	imull	%ecx, %edi
	imull	%r15d, %esi
	movl	%edi, -376(%rbp)
	movq	%rbx, %rdi
	leal	1(%r9), %ebx
	imull	%ecx, %esi
	movl	%ebx, -384(%rbp)
	movl	$1, %ecx
	movl	%esi, -304(%rbp)
.L301:
	cmpl	%ecx, %r9d
	jl	.L914
	movl	(%r14,%rcx,4), %edx
	movl	-304(%rbp), %ebx
	xorl	%r11d, %r11d
.L302:
	cmpl	%r11d, %edx
	jl	.L915
	leal	(%rbx,%r10), %r8d
	movl	%r8d, -352(%rbp)
	movl	$1, %r8d
.L303:
	cmpl	%r8d, %r9d
	jl	.L916
	movslq	-352(%rbp), %r13
	movq	-224(%rbp), %r12
	movl	(%r14,%r8,4), %eax
	leaq	(%r12,%r13,4), %r12
	xorl	%r13d, %r13d
.L304:
	cmpl	%r13d, %eax
	jl	.L917
	movl	$0, (%r12)
	incl	%r13d
	addq	%rdi, %r12
	jmp	.L304
.L917:
	testl	%eax, %eax
	movl	$-1, %r13d
	cmovs	%r13d, %eax
	addl	%r10d, -352(%rbp)
	incq	%r8
	movb	$1, %r13b
	incl	%eax
	jmp	.L303
.L916:
	movl	-376(%rbp), %r12d
	movl	-384(%rbp), %r8d
	incl	%r11d
	addl	%r12d, %ebx
	movb	$1, %r12b
	jmp	.L302
.L915:
	testl	%edx, %edx
	movl	$-1, %r11d
	cmovs	%r11d, %edx
	addl	%esi, -304(%rbp)
	incq	%rcx
	movb	$1, %r11b
	incl	%edx
	jmp	.L301
.L914:
	testb	%r12b, %r12b
	je	.L309
	movl	%r8d, _ZL1l(%rip)
.L309:
	testb	%r11b, %r11b
	je	.L310
	movl	%edx, _ZL1j(%rip)
.L310:
	testb	%r13b, %r13b
	je	.L311
	movl	%eax, _ZL1m(%rip)
.L311:
	movl	$1, %eax
	leaq	.LC15(%rip), %rbx
.L312:
	cmpl	%eax, _ZL8outnodes(%rip)
	movl	%eax, _ZL1k(%rip)
	movl	$1, %eax
	jl	.L918
.L319:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L919
	xorl	%edx, %edx
.L318:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L920
	movl	$1, %eax
.L317:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1l(%rip)
	movl	_ZL1i(%rip), %edx
	jl	.L921
	cmpl	%edx, %eax
	je	.L314
	xorl	%eax, %eax
.L313:
	movslq	_ZL1l(%rip), %rdx
	movl	%eax, _ZL1m(%rip)
	movq	fl2(%rip), %rdi
	movq	%rdx, %rcx
	cmpl	%eax, (%r14,%rdx,4)
	jl	.L922
	movl	_ZL1i(%rip), %edx
	movl	-216(%rbp), %esi
	imull	%r15d, %edx
	addl	_ZL1j(%rip), %edx
	imull	%esi, %edx
	movq	%rbx, %rsi
	addl	%ecx, %edx
	movl	-212(%rbp), %ecx
	imull	%r15d, %edx
	addl	%edx, %eax
	imull	%ecx, %eax
	movq	-224(%rbp), %rcx
	addl	_ZL1k(%rip), %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	movl	-216(%rbp), %ecx
	movq	-224(%rbp), %rsi
	movq	fl6(%rip), %rdi
	imull	%r15d, %eax
	addl	_ZL1j(%rip), %eax
	imull	%ecx, %eax
	movl	-212(%rbp), %ecx
	addl	_ZL1l(%rip), %eax
	imull	%r15d, %eax
	addl	_ZL1m(%rip), %eax
	imull	%ecx, %eax
	movq	-224(%rbp), %rcx
	movslq	%eax, %rdx
	addl	_ZL1k(%rip), %eax
	cltq
	movl	(%rcx,%rax,4), %ecx
	addl	%ecx, (%rsi,%rdx,4)
	leaq	.LC14(%rip), %rsi
	movq	-320(%rbp), %rcx
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1m(%rip), %eax
	incl	%eax
	jmp	.L313
.L922:
	leaq	.LC7(%rip), %r12
	xorl	%eax, %eax
	movq	%r12, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl6(%rip), %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L314:
	movl	_ZL1l(%rip), %eax
	incl	%eax
	jmp	.L317
.L921:
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L318
.L920:
	incl	%eax
	jmp	.L319
.L919:
	movq	fl2(%rip), %rdi
	leaq	.LC7(%rip), %r12
	xorl	%eax, %eax
	movq	%r12, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl6(%rip), %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1k(%rip), %eax
	incl	%eax
	jmp	.L312
.L918:
	leaq	.LC34(%rip), %rbx
.L320:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L923
	movl	$1, %edx
.L322:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L924
	imull	%r15d, %eax
	movq	-280(%rbp), %rcx
	movq	fl6(%rip), %rdi
	movq	%rbx, %rsi
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L322
.L924:
	incl	%eax
	jmp	.L320
.L909:
	leaq	.LC60(%rip), %rsi
	jmp	.L863
.L923:
	movq	fl2(%rip), %rdi
	call	fclose@PLT
	movq	fl6(%rip), %rdi
	call	fclose@PLT
	movq	-336(%rbp), %rax
	subq	$8, %rax
	movq	%rax, %rdi
	movq	%rax, -352(%rbp)
	call	malloc@PLT
	movq	-352(%rbp), %rdi
	movq	%rax, %r13
	call	malloc@PLT
	movq	-352(%rbp), %rdi
	movq	%rax, -376(%rbp)
	call	malloc@PLT
	xorl	%ecx, %ecx
	xorl	%edx, %edx
	movq	%rax, -384(%rbp)
	xorl	%eax, %eax
	movl	%ecx, _ZL1i(%rip)
	jmp	.L324
.L290:
	leaq	.LC61(%rip), %rsi
	jmp	.L863
.L324:
	cmpl	%eax, -292(%rbp)
	jle	.L925
	xorl	%edx, %edx
	movl	%edx, 0(%r13,%rax,4)
	incq	%rax
	movb	$1, %dl
	jmp	.L324
.L925:
	xorl	%eax, %eax
	cmpl	$0, -292(%rbp)
	cmovns	-292(%rbp), %eax
	movl	%eax, -416(%rbp)
	testb	%dl, %dl
	je	.L326
	movl	%eax, _ZL1i(%rip)
.L326:
	movq	-336(%rbp), %rax
	leaq	-88(%rbp), %rdi
	addq	$32, %rax
	movq	%rax, %rsi
	movq	%rax, -304(%rbp)
	call	cudaMalloc@PLT
	movq	-304(%rbp), %rdx
	movq	-88(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movq	-304(%rbp), %rsi
	leaq	-104(%rbp), %rdi
	call	cudaMalloc@PLT
	movq	-304(%rbp), %rdx
	movq	-104(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movq	-304(%rbp), %rsi
	leaq	-96(%rbp), %rdi
	call	cudaMalloc@PLT
	movq	-304(%rbp), %rdx
	movq	-96(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movq	-328(%rbp), %rsi
	leaq	-192(%rbp), %rdi
	call	cudaMalloc@PLT
	movq	-328(%rbp), %rdx
	movq	-192(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movl	_ZL7innodes(%rip), %eax
	leaq	-184(%rbp), %rdi
	leal	8(%rax), %esi
	movslq	%esi, %rsi
	salq	$2, %rsi
	call	cudaMalloc@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-184(%rbp), %rdi
	xorl	%esi, %esi
	leal	8(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemset@PLT
	movq	-328(%rbp), %rsi
	leaq	-176(%rbp), %rdi
	call	cudaMalloc@PLT
	movq	-328(%rbp), %rdx
	movq	-176(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movq	-336(%rbp), %rsi
	leaq	-168(%rbp), %rdi
	call	cudaMalloc@PLT
	movq	-336(%rbp), %rdx
	movq	-168(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movl	_ZL8outnodes(%rip), %esi
	addl	_ZL7innodes(%rip), %esi
	leaq	-160(%rbp), %rdi
	movq	-264(%rbp), %rax
	addl	$2, %esi
	movslq	%esi, %rsi
	imulq	%rax, %rsi
	salq	$2, %rsi
	call	cudaMalloc@PLT
	movl	_ZL8outnodes(%rip), %edx
	addl	_ZL7innodes(%rip), %edx
	movq	-264(%rbp), %rax
	addl	$2, %edx
	movq	-160(%rbp), %rdi
	movslq	%edx, %rdx
	imulq	%rax, %rdx
	salq	$2, %rdx
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movl	_ZL7innodes(%rip), %eax
	leaq	-152(%rbp), %rdi
	leal	2(%rax), %esi
	movq	-264(%rbp), %rax
	movslq	%esi, %rsi
	imulq	%rax, %rsi
	salq	$2, %rsi
	call	cudaMalloc@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-152(%rbp), %rdi
	xorl	%esi, %esi
	leal	2(%rax), %edx
	movq	-264(%rbp), %rax
	movslq	%edx, %rdx
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemset@PLT
	movl	_ZL7innodes(%rip), %eax
	leaq	-144(%rbp), %rdi
	leal	2(%rax), %esi
	movq	-264(%rbp), %rax
	movslq	%esi, %rsi
	imulq	%rax, %rsi
	salq	$2, %rsi
	call	cudaMalloc@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-144(%rbp), %rdi
	xorl	%esi, %esi
	leal	2(%rax), %edx
	movq	-264(%rbp), %rax
	movslq	%edx, %rdx
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemset@PLT
	movl	_ZL7innodes(%rip), %eax
	leaq	-136(%rbp), %rdi
	leal	2(%rax), %esi
	movslq	%esi, %rsi
	salq	$2, %rsi
	call	cudaMalloc@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-136(%rbp), %rdi
	xorl	%esi, %esi
	leal	2(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemset@PLT
	movl	_ZL7innodes(%rip), %eax
	leaq	-128(%rbp), %rdi
	leal	2(%rax), %esi
	movslq	%esi, %rsi
	salq	$2, %rsi
	call	cudaMalloc@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-128(%rbp), %rdi
	xorl	%esi, %esi
	leal	2(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemset@PLT
	movl	_ZL7innodes(%rip), %eax
	leaq	-120(%rbp), %rdi
	leal	4(%rax), %esi
	movl	_ZL5resol(%rip), %eax
	movslq	%esi, %rsi
	addl	$8, %eax
	cltq
	imulq	%rax, %rsi
	salq	$2, %rsi
	call	cudaMalloc@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-120(%rbp), %rdi
	leal	4(%rax), %edx
	movl	_ZL5resol(%rip), %eax
	movslq	%edx, %rdx
	addl	$8, %eax
	cltq
	imulq	%rax, %rdx
	xorl	%esi, %esi
	salq	$2, %rdx
	call	cudaMemset@PLT
	leaq	-112(%rbp), %rdi
	movl	$2008, %esi
	call	cudaMalloc@PLT
	movq	-112(%rbp), %rdi
	xorl	%esi, %esi
	movl	$2008, %edx
	call	cudaMemset@PLT
	testl	%eax, %eax
	je	.L327
	leaq	.LC62(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L327:
	xorl	%eax, %eax
.L328:
	cmpl	%eax, _ZL8oneround(%rip)
	movl	%eax, _ZL3rnd(%rip)
	jl	.L330
	movl	_ZL1n(%rip), %eax
	cmpl	%eax, _ZL5pocnt(%rip)
	sete	%dl
	testl	%eax, %eax
	setg	%al
	andb	%al, %dl
	movb	%dl, -392(%rbp)
	je	.L329
	leaq	.LC63(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	jmp	.L330
.L329:
	movl	$256, %edx
	leaq	fln(%rip), %rsi
	xorl	%r12d, %r12d
	xorl	%ebx, %ebx
	leaq	fltmp(%rip), %rdi
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC19(%rip), %rsi
	movq	%rax, %rdi
	call	__strcat_chk@PLT
	leaq	.LC5(%rip), %rsi
	movq	%rax, %rdi
	call	fopen@PLT
	movl	%r12d, _ZL1n(%rip)
	movq	%rax, fl1(%rip)
	xorl	%eax, %eax
	movl	%eax, _ZL4pcnt(%rip)
	movq	-360(%rbp), %rax
	movl	$0x00000000, _ZL4rslt(%rip)
	movl	$0x00000000, _ZL5rslt2(%rip)
	movq	%rax, -400(%rbp)
	movq	%rax, -408(%rbp)
.L331:
	movl	-292(%rbp), %eax
	cmpl	%eax, %ebx
	jge	.L926
	movl	$1, _ZL1k(%rip)
	movl	_ZL8outnodes(%rip), %eax
	xorl	%ecx, %ecx
	xorl	%edx, %edx
	movss	.LC2(%rip), %xmm0
.L332:
	incq	%rdx
	cmpl	%edx, %eax
	jl	.L927
	leaq	_ZL8classval(%rip), %rcx
	movss	%xmm0, (%rcx,%rdx,4)
	movb	$1, %cl
	jmp	.L332
.L927:
	testb	%cl, %cl
	je	.L334
	xorl	%edx, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
	incl	%eax
	movl	%eax, _ZL1k(%rip)
.L334:
	incl	_ZL1n(%rip)
	cmpl	$3, _ZL4ans1(%rip)
	movl	$1, %edx
	leaq	.LC14(%rip), %r12
	jne	.L336
.L335:
	movl	_ZL7innodes(%rip), %eax
	movl	%edx, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	cmpl	%edx, %eax
	jl	.L928
	imull	%ebx, %eax
	movq	-344(%rbp), %rcx
	movq	%r12, %rsi
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %eax
	movl	_ZL1i(%rip), %edx
	cmpl	$2, %eax
	jne	.L337
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-288(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	jmp	.L338
.L337:
	decl	%eax
	jne	.L338
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	movss	(%rcx,%rax,4), %xmm0
	movq	-288(%rbp), %rcx
	movss	%xmm0, (%rcx,%rax,4)
.L338:
	movl	_ZL1i(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L335
.L928:
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	jmp	.L340
.L343:
	imull	%ebx, %eax
	movq	-344(%rbp), %rcx
	movq	%r12, %rsi
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %eax
	movl	_ZL1i(%rip), %edx
	cmpl	$2, %eax
	jne	.L341
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-312(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L342:
	movl	_ZL1i(%rip), %eax
	leal	1(%rax), %edx
.L336:
	movl	_ZL7innodes(%rip), %eax
	movl	%edx, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	cmpl	%edx, %eax
	jge	.L343
	jmp	.L929
.L341:
	decl	%eax
	jne	.L342
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	movss	(%rcx,%rax,4), %xmm0
	movq	-312(%rbp), %rcx
	movss	%xmm0, (%rcx,%rax,4)
	jmp	.L342
.L929:
	movq	-408(%rbp), %rdx
	leaq	.LC34(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L340:
	addq	$4, -408(%rbp)
	incl	%ebx
	jmp	.L331
.L926:
	movq	fl1(%rip), %rdi
	leaq	_ZL8dmyclass(%rip), %rbx
	leaq	.LC14(%rip), %r12
	call	fclose@PLT
	movq	-328(%rbp), %rdx
	movl	$1, %ecx
	movq	-224(%rbp), %rsi
	movq	-192(%rbp), %rdi
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	%r14, %rsi
	movq	-184(%rbp), %rdi
	leal	8(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movq	-328(%rbp), %rdx
	movl	$1, %ecx
	movq	-320(%rbp), %rsi
	movq	-176(%rbp), %rdi
	call	cudaMemcpy@PLT
	movq	-336(%rbp), %rdx
	movl	$1, %ecx
	movq	-360(%rbp), %rsi
	movq	-168(%rbp), %rdi
	call	cudaMemcpy@PLT
	movl	_ZL8outnodes(%rip), %edx
	addl	_ZL7innodes(%rip), %edx
	movl	$1, %ecx
	movq	-264(%rbp), %rax
	addl	$2, %edx
	movq	-344(%rbp), %rsi
	movslq	%edx, %rdx
	movq	-160(%rbp), %rdi
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	-272(%rbp), %rsi
	movq	-152(%rbp), %rdi
	leal	2(%rax), %edx
	movq	-264(%rbp), %rax
	movslq	%edx, %rdx
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	-312(%rbp), %rsi
	movq	-144(%rbp), %rdi
	leal	2(%rax), %edx
	movq	-264(%rbp), %rax
	movslq	%edx, %rdx
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	-240(%rbp), %rsi
	movq	-136(%rbp), %rdi
	leal	2(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-128(%rbp), %rdi
	movl	$1, %ecx
	movq	-248(%rbp), %rsi
	leal	2(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-120(%rbp), %rdi
	movl	$1, %ecx
	movq	-280(%rbp), %rsi
	leal	4(%rax), %edx
	movl	_ZL5resol(%rip), %eax
	movslq	%edx, %rdx
	addl	$8, %eax
	cltq
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movq	-112(%rbp), %rdi
	movq	%rbx, %rsi
	movl	$1, %ecx
	movl	$2008, %edx
	call	cudaMemcpy@PLT
	cvtsi2sdl	-292(%rbp), %xmm0
	mulsd	.LC64(%rip), %xmm0
	call	ceil@PLT
	movl	_ZL3rnd(%rip), %eax
	movq	%r14, %r8
	movsd	%xmm0, -408(%rbp)
	pushq	%rax
	movl	_ZL6nerror(%rip), %eax
	pushq	%rax
	movl	_ZL8outnodes(%rip), %eax
	pushq	%rax
	movl	_ZL5resol(%rip), %eax
	pushq	%rax
	movl	_ZL7innodes(%rip), %eax
	pushq	%rax
	pushq	%rbx
	pushq	-320(%rbp)
	pushq	-224(%rbp)
	pushq	%r15
	pushq	-280(%rbp)
	pushq	-312(%rbp)
	movss	_ZL4gain(%rip), %xmm0
	pushq	-272(%rbp)
	movq	-344(%rbp), %r9
	movq	-248(%rbp), %rcx
	movq	-240(%rbp), %rdx
	movq	-360(%rbp), %rsi
	movl	-292(%rbp), %edi
	call	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
	addq	$96, %rsp
	movl	$256, %edx
	leaq	fln(%rip), %rsi
	leaq	fltmp(%rip), %rdi
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC19(%rip), %rsi
	movq	%rax, %rdi
	call	__strcat_chk@PLT
	leaq	.LC5(%rip), %rsi
	movq	%rax, %rdi
	call	fopen@PLT
	xorl	%r11d, %r11d
	xorl	%ebx, %ebx
	movl	$0x00000000, _ZL4rslt(%rip)
	movq	%rax, fl1(%rip)
	movl	_ZL1n(%rip), %eax
	movl	$0x00000000, _ZL5rslt2(%rip)
	movl	%eax, _ZL1m(%rip)
	movl	%r11d, _ZL1n(%rip)
	movl	%ebx, _ZL4pcnt(%rip)
	xorl	%ebx, %ebx
.L345:
	movl	-292(%rbp), %eax
	cmpl	%eax, %ebx
	jge	.L930
	incl	_ZL1n(%rip)
	cmpl	$3, _ZL4ans1(%rip)
	movl	$1, %edx
	jne	.L347
.L346:
	movl	_ZL7innodes(%rip), %eax
	movl	%edx, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	cmpl	%edx, %eax
	jl	.L931
	imull	%ebx, %eax
	movq	-344(%rbp), %rcx
	movq	%r12, %rsi
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %eax
	movl	_ZL1i(%rip), %edx
	cmpl	$2, %eax
	jne	.L348
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-312(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	jmp	.L349
.L348:
	decl	%eax
	jne	.L349
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	movss	(%rcx,%rax,4), %xmm0
	movq	-312(%rbp), %rcx
	movss	%xmm0, (%rcx,%rax,4)
.L349:
	movl	_ZL1i(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L346
.L931:
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	jmp	.L351
.L354:
	imull	%ebx, %eax
	movq	-344(%rbp), %rcx
	movq	%r12, %rsi
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %eax
	movl	_ZL1i(%rip), %edx
	cmpl	$2, %eax
	jne	.L352
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-312(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L353:
	movl	_ZL1i(%rip), %eax
	leal	1(%rax), %edx
.L347:
	movl	_ZL7innodes(%rip), %eax
	movl	%edx, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	cmpl	%edx, %eax
	jge	.L354
	jmp	.L932
.L352:
	decl	%eax
	jne	.L353
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	movq	%r12, %rsi
	movq	fl1(%rip), %rdi
	imull	%ebx, %eax
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-272(%rbp), %rcx
	imull	%ebx, %eax
	addl	_ZL1i(%rip), %eax
	cltq
	movss	(%rcx,%rax,4), %xmm0
	movq	-312(%rbp), %rcx
	movss	%xmm0, (%rcx,%rax,4)
	jmp	.L353
.L932:
	movq	-400(%rbp), %rdx
	leaq	.LC34(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L351:
	addq	$4, -400(%rbp)
	incl	%ebx
	jmp	.L345
.L930:
	movq	fl1(%rip), %rdi
	call	fclose@PLT
	movq	-88(%rbp), %rdi
	xorl	%r10d, %r10d
	xorl	%esi, %esi
	movq	-304(%rbp), %rdx
	movl	%r10d, _ZL1i(%rip)
	call	cudaMemset@PLT
	movq	-304(%rbp), %rdx
	movq	-104(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movq	-304(%rbp), %rdx
	movq	-96(%rbp), %rdi
	xorl	%esi, %esi
	call	cudaMemset@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	%r14, %rsi
	movq	-184(%rbp), %rdi
	leal	8(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movq	-336(%rbp), %rdx
	movl	$1, %ecx
	movq	-360(%rbp), %rsi
	movq	-168(%rbp), %rdi
	call	cudaMemcpy@PLT
	movl	_ZL8outnodes(%rip), %edx
	addl	_ZL7innodes(%rip), %edx
	movl	$1, %ecx
	movq	-264(%rbp), %rax
	addl	$2, %edx
	movq	-344(%rbp), %rsi
	movslq	%edx, %rdx
	movq	-160(%rbp), %rdi
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	-272(%rbp), %rsi
	movq	-152(%rbp), %rdi
	leal	2(%rax), %edx
	movq	-264(%rbp), %rax
	movslq	%edx, %rdx
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	-312(%rbp), %rsi
	movq	-144(%rbp), %rdi
	leal	2(%rax), %edx
	movq	-264(%rbp), %rax
	movslq	%edx, %rdx
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movl	$1, %ecx
	movq	-240(%rbp), %rsi
	movq	-136(%rbp), %rdi
	leal	2(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-128(%rbp), %rdi
	movl	$1, %ecx
	movq	-248(%rbp), %rsi
	leal	2(%rax), %edx
	movslq	%edx, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movl	_ZL7innodes(%rip), %eax
	movq	-120(%rbp), %rdi
	movl	$1, %ecx
	movq	-280(%rbp), %rsi
	leal	4(%rax), %edx
	movl	_ZL5resol(%rip), %eax
	movslq	%edx, %rdx
	addl	$8, %eax
	cltq
	imulq	%rax, %rdx
	salq	$2, %rdx
	call	cudaMemcpy@PLT
	movq	-112(%rbp), %rdi
	movl	$1, %ecx
	movl	$2008, %edx
	leaq	_ZL8dmyclass(%rip), %rsi
	call	cudaMemcpy@PLT
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L356
	call	cudaGetErrorString@PLT
	movl	$777, %ecx
	movl	$2, %edi
	leaq	.LC65(%rip), %rdx
	movq	%rax, %r8
	leaq	.LC66(%rip), %rsi
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L356:
	movl	$8388609, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	cvttsd2sil	-408(%rbp), %eax
	salq	$9, %rdx
	movl	$1, -60(%rbp)
	movq	%rdx, -68(%rbp)
	movl	%eax, -80(%rbp)
	movabsq	$4294967297, %rax
	movq	%rax, -76(%rbp)
	movq	-80(%rbp), %rdi
	movl	-72(%rbp), %esi
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L357
	pushq	%r9
	movl	_ZL3rnd(%rip), %eax
	pushq	-96(%rbp)
	pushq	-104(%rbp)
	pushq	-88(%rbp)
	pushq	%rax
	movl	_ZL6nerror(%rip), %eax
	pushq	%rax
	movl	_ZL8outnodes(%rip), %eax
	pushq	%rax
	movl	_ZL5resol(%rip), %eax
	pushq	%rax
	movl	_ZL7innodes(%rip), %eax
	pushq	%rax
	pushq	-112(%rbp)
	pushq	-176(%rbp)
	pushq	-192(%rbp)
	movss	_ZL4gain(%rip), %xmm0
	pushq	%r15
	movq	-184(%rbp), %r8
	movl	-292(%rbp), %edi
	pushq	-120(%rbp)
	pushq	-144(%rbp)
	pushq	-152(%rbp)
	movq	-160(%rbp), %r9
	movq	-128(%rbp), %rcx
	movq	-136(%rbp), %rdx
	movq	-168(%rbp), %rsi
	call	_Z62__device_stub__Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	subq	$-128, %rsp
.L357:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L358
	call	cudaGetErrorString@PLT
	leaq	.LC67(%rip), %rsi
	movl	$2, %edi
	movq	%rax, %rdx
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L358:
	movq	-352(%rbp), %rdx
	movq	-88(%rbp), %rsi
	movq	%r13, %rdi
	movl	$2, %ecx
	call	cudaMemcpy@PLT
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L359
	call	cudaGetErrorString@PLT
	leaq	.LC67(%rip), %rsi
	movl	$2, %edi
	movq	%rax, %rdx
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L359:
	movq	-376(%rbp), %rdi
	movq	-104(%rbp), %rsi
	movl	$2, %ecx
	movq	-352(%rbp), %rdx
	call	cudaMemcpy@PLT
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L360
	call	cudaGetErrorString@PLT
	leaq	.LC67(%rip), %rsi
	movl	$2, %edi
	movq	%rax, %rdx
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L360:
	movq	-384(%rbp), %rdi
	movq	-96(%rbp), %rsi
	movl	$2, %ecx
	movq	-352(%rbp), %rdx
	call	cudaMemcpy@PLT
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L361
	call	cudaGetErrorString@PLT
	leaq	.LC67(%rip), %rsi
	movl	$2, %edi
	movq	%rax, %rdx
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L361:
	xorl	%edi, %edi
	xorl	%r8d, %r8d
	xorps	%xmm1, %xmm1
	xorl	%eax, %eax
	movl	%edi, _ZL4pcnt(%rip)
	movaps	%xmm1, %xmm0
	xorl	%edx, %edx
	movl	$0x00000000, _ZL4rslt(%rip)
	movl	$0x00000000, _ZL5rslt2(%rip)
	movl	%r8d, _ZL1i(%rip)
.L362:
	cmpl	%eax, -292(%rbp)
	jle	.L933
	movq	-376(%rbp), %rbx
	addl	0(%r13,%rax,4), %edx
	movb	$1, -392(%rbp)
	addss	(%rbx,%rax,4), %xmm0
	movq	-384(%rbp), %rbx
	addss	(%rbx,%rax,4), %xmm1
	incq	%rax
	jmp	.L362
.L933:
	cmpb	$0, -392(%rbp)
	je	.L364
	movl	-416(%rbp), %eax
	movl	%edx, _ZL4pcnt(%rip)
	movss	%xmm1, _ZL5rslt2(%rip)
	movl	%eax, _ZL1i(%rip)
	movss	%xmm0, _ZL4rslt(%rip)
.L364:
	movl	_ZL4pcnt(%rip), %ecx
	movl	_ZL3rnd(%rip), %edx
	leaq	.LC68(%rip), %rsi
	movb	$3, %al
	movl	$2, %edi
	cvtss2sd	_ZL4rslt(%rip), %xmm0
	cvtss2sd	_ZL6orslt2(%rip), %xmm2
	cvtss2sd	_ZL5rslt2(%rip), %xmm1
	call	__printf_chk@PLT
	xorps	%xmm0, %xmm0
	ucomiss	_ZL6orslt2(%rip), %xmm0
	movl	$1, _ZL4kmax(%rip)
	jp	.L365
	jne	.L365
	movss	_ZL5rslt2(%rip), %xmm0
	movss	%xmm0, _ZL6orslt2(%rip)
.L365:
	xorps	%xmm0, %xmm0
	ucomiss	_ZL5orslt(%rip), %xmm0
	movss	_ZL4rslt(%rip), %xmm1
	jp	.L367
	jne	.L367
	movss	%xmm1, _ZL5orslt(%rip)
.L367:
	movss	_ZL5rslt2(%rip), %xmm0
	subss	_ZL6orslt2(%rip), %xmm0
	movss	%xmm0, _ZL5prslt(%rip)
	xorps	%xmm0, %xmm0
	comiss	%xmm0, %xmm1
	jbe	.L369
	movss	_ZL5orslt(%rip), %xmm0
	divss	%xmm1, %xmm0
	movss	%xmm0, _ZL5nrslt(%rip)
.L369:
	movl	_ZL4pcnt(%rip), %eax
	cmpl	_ZL5pocnt(%rip), %eax
	movl	_ZL3rnd(%rip), %edx
	jle	.L372
	movl	%edx, _ZL3rnn(%rip)
	leaq	fln(%rip), %rsi
	movl	$256, %edx
	leaq	fltmp(%rip), %rdi
	movl	%eax, _ZL5pocnt(%rip)
	leaq	.LC53(%rip), %rbx
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC49(%rip), %rsi
	movq	%rax, %rdi
	call	__strcat_chk@PLT
	leaq	.LC50(%rip), %rsi
	movq	%rax, %rdi
	call	fopen@PLT
	movl	$1, _ZL4kmax(%rip)
	movq	%rax, fl6(%rip)
	movl	$1, %eax
.L373:
	cmpl	%eax, _ZL8outnodes(%rip)
	movl	%eax, _ZL1k(%rip)
	jl	.L934
	movl	$1, %eax
.L380:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L935
	xorl	%edx, %edx
.L379:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L936
	movl	$1, %eax
.L378:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1l(%rip)
	movl	_ZL1i(%rip), %edx
	jl	.L937
	cmpl	%edx, %eax
	je	.L375
	xorl	%eax, %eax
.L374:
	movslq	_ZL1l(%rip), %rdx
	movl	%eax, _ZL1m(%rip)
	movq	fl6(%rip), %rdi
	movq	%rdx, %rcx
	cmpl	%eax, (%r14,%rdx,4)
	jl	.L938
	movl	_ZL1i(%rip), %edx
	movl	-216(%rbp), %esi
	imull	%r15d, %edx
	addl	_ZL1j(%rip), %edx
	imull	%esi, %edx
	movl	$2, %esi
	addl	%ecx, %edx
	movl	-212(%rbp), %ecx
	imull	%r15d, %edx
	addl	%edx, %eax
	movq	%rbx, %rdx
	imull	%ecx, %eax
	movq	-320(%rbp), %rcx
	addl	_ZL1k(%rip), %eax
	cltq
	cvtss2sd	(%rcx,%rax,4), %xmm0
	movb	$1, %al
	call	__fprintf_chk@PLT
	movl	_ZL1m(%rip), %eax
	incl	%eax
	jmp	.L374
.L938:
	leaq	.LC7(%rip), %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
.L375:
	movl	_ZL1l(%rip), %eax
	incl	%eax
	jmp	.L378
.L937:
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L379
.L936:
	incl	%eax
	jmp	.L380
.L935:
	movq	fl6(%rip), %rdi
	leaq	.LC7(%rip), %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movl	_ZL1k(%rip), %eax
	incl	%eax
	jmp	.L373
.L934:
	movq	fl6(%rip), %rdi
	leaq	.LC7(%rip), %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	leaq	.LC34(%rip), %rbx
	call	__fprintf_chk@PLT
	movl	$1, %eax
.L381:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L939
	movl	$1, %edx
.L383:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	fl6(%rip), %rdi
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L940
	imull	%r15d, %eax
	movq	-280(%rbp), %rcx
	movl	$2, %esi
	addl	%edx, %eax
	movq	%rbx, %rdx
	cltq
	cvtss2sd	(%rcx,%rax,4), %xmm0
	movb	$1, %al
	call	__fprintf_chk@PLT
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L383
.L940:
	incl	%eax
	jmp	.L381
.L939:
	movq	fl6(%rip), %rdi
	call	fflush@PLT
	movq	fl6(%rip), %rdi
	call	fclose@PLT
	leaq	.LC69(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL3rnn(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	leaq	.LC70(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cvtss2sd	_ZL5prslt(%rip), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC71(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cvtss2sd	_ZL5nrslt(%rip), %xmm0
	movq	%rax, %rdi
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC72(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL5pocnt(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	call	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@PLT
	movss	_ZL5rslt2(%rip), %xmm0
	comiss	_ZL6orslt2(%rip), %xmm0
	jbe	.L384
	movss	%xmm0, _ZL6orslt2(%rip)
.L384:
	movss	_ZL4rslt(%rip), %xmm0
	movss	_ZL5orslt(%rip), %xmm1
	comiss	%xmm0, %xmm1
	jbe	.L372
	movss	%xmm0, _ZL5orslt(%rip)
.L372:
	movl	_ZL1m(%rip), %eax
	movl	%eax, _ZL1n(%rip)
	movl	_ZL3rnd(%rip), %eax
	incl	%eax
	jmp	.L328
.L330:
	xorl	%esi, %esi
	leaq	_ZSt4cout(%rip), %rdi
	movq	%rsi, fl6(%rip)
	leaq	.LC73(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL3rnn(%rip), %esi
	movq	%rax, %rdi
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	call	_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@PLT
.L285:
	leaq	fltmp(%rip), %rbx
	leaq	fln(%rip), %r13
	movl	$256, %edx
	movq	%r13, %rsi
	movq	%rbx, %rdi
	leaq	.LC5(%rip), %r12
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC19(%rip), %rsi
	movq	%rbx, %rdi
	call	__strcat_chk@PLT
	movq	%r12, %rsi
	movq	%rbx, %rdi
	call	fopen@PLT
	movl	$256, %edx
	movq	%r13, %rsi
	movq	%rbx, %rdi
	movq	%rax, fl1(%rip)
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC49(%rip), %rsi
	movq	%rbx, %rdi
	call	__strcat_chk@PLT
	xorl	%edx, %edx
	movq	%r12, %rsi
	movq	%rbx, %rdi
	movq	%rdx, fl6(%rip)
	call	fopen@PLT
	movl	$256, %edx
	movq	%r13, %rsi
	movq	%rbx, %rdi
	movq	%rax, fl6(%rip)
	call	__strcpy_chk@PLT
	movl	$256, %edx
	leaq	.LC39(%rip), %rsi
	movq	%rbx, %rdi
	call	__strcat_chk@PLT
	xorl	%ecx, %ecx
	movq	%r12, %rsi
	movq	%rbx, %rdi
	movq	%rcx, fl2(%rip)
	call	fopen@PLT
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.L389
	leaq	.LC74(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC15(%rip), %rbx
	movl	$1, %eax
.L390:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl2(%rip), %rdi
	jl	.L941
	cltq
	movq	%rbx, %rsi
	leaq	(%r14,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rdx
	xorl	%eax, %eax
	movl	%r15d, %ecx
	movl	%eax, _ZL1j(%rip)
	movq	-280(%rbp), %rsi
	movq	%rdx, %rax
	movl	(%r14,%rdx,4), %edx
	imull	%eax, %ecx
	movslq	%ecx, %rcx
	leaq	(%rsi,%rcx,4), %rdi
	xorl	%ecx, %ecx
	xorl	%esi, %esi
.L391:
	cmpl	%ecx, %edx
	jl	.L942
	cvtsi2ssl	%ecx, %xmm0
	movb	$1, %sil
	movss	%xmm0, 4(%rdi,%rcx,4)
	incq	%rcx
	jmp	.L391
.L942:
	testb	%sil, %sil
	je	.L393
	testl	%edx, %edx
	movl	$-1, %ecx
	cmovs	%ecx, %edx
	incl	%edx
	movl	%edx, _ZL1j(%rip)
.L393:
	incl	%eax
	jmp	.L390
.L941:
	leaq	.LC14(%rip), %rbx
	leaq	_ZL4omax(%rip), %rdx
	xorl	%eax, %eax
	movq	%rbx, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	_ZL4omin(%rip), %rdx
	xorl	%eax, %eax
	movq	%rbx, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl2(%rip), %rdi
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	$1, %eax
.L395:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl2(%rip), %rdi
	jl	.L943
	movq	-248(%rbp), %rcx
	cltq
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L395
.L943:
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	leaq	.LC14(%rip), %rbx
	call	__isoc23_fscanf@PLT
	movl	$1, %eax
.L397:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl2(%rip), %rdi
	jl	.L944
	movq	-240(%rbp), %rcx
	cltq
	movq	%rbx, %rsi
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L397
.L944:
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	xorl	%r12d, %r12d
	xorl	%r13d, %r13d
	call	__isoc23_fscanf@PLT
	movl	-216(%rbp), %edi
	xorl	%r11d, %r11d
	movslq	-212(%rbp), %rcx
	movl	_ZL7innodes(%rip), %r9d
	movl	_ZL1j(%rip), %edx
	movl	$1, _ZL1i(%rip)
	imull	%r15d, %edi
	movl	%ecx, %r10d
	leaq	0(,%rcx,4), %rbx
	movl	_ZL1l(%rip), %r8d
	imull	%r15d, %r10d
	movl	_ZL1m(%rip), %eax
	movl	%edi, %esi
	imull	%ecx, %edi
	imull	%r15d, %esi
	movl	%edi, -292(%rbp)
	movq	%rbx, %rdi
	leal	1(%r9), %ebx
	imull	%ecx, %esi
	movl	%ebx, -304(%rbp)
	movl	$1, %ecx
	movl	%esi, -264(%rbp)
.L399:
	cmpl	%ecx, %r9d
	jl	.L945
	movl	(%r14,%rcx,4), %edx
	movl	-264(%rbp), %ebx
	xorl	%r11d, %r11d
.L400:
	cmpl	%r11d, %edx
	jl	.L946
	leal	(%rbx,%r10), %r8d
	movl	%r8d, -272(%rbp)
	movl	$1, %r8d
.L401:
	cmpl	%r8d, %r9d
	jl	.L947
	movslq	-272(%rbp), %r13
	movq	-224(%rbp), %r12
	movl	(%r14,%r8,4), %eax
	leaq	(%r12,%r13,4), %r12
	xorl	%r13d, %r13d
.L402:
	cmpl	%r13d, %eax
	jl	.L948
	movl	$0, (%r12)
	incl	%r13d
	addq	%rdi, %r12
	jmp	.L402
.L948:
	testl	%eax, %eax
	movl	$-1, %r13d
	cmovs	%r13d, %eax
	addl	%r10d, -272(%rbp)
	incq	%r8
	movb	$1, %r13b
	incl	%eax
	jmp	.L401
.L947:
	movl	-292(%rbp), %r12d
	movl	-304(%rbp), %r8d
	incl	%r11d
	addl	%r12d, %ebx
	movb	$1, %r12b
	jmp	.L400
.L946:
	testl	%edx, %edx
	movl	$-1, %r11d
	cmovs	%r11d, %edx
	addl	%esi, -264(%rbp)
	incq	%rcx
	movb	$1, %r11b
	incl	%edx
	jmp	.L399
.L945:
	testb	%r12b, %r12b
	je	.L407
	movl	%r8d, _ZL1l(%rip)
.L407:
	testb	%r11b, %r11b
	je	.L408
	movl	%edx, _ZL1j(%rip)
.L408:
	testb	%r13b, %r13b
	je	.L409
	movl	%eax, _ZL1m(%rip)
.L409:
	movl	$1, %eax
	leaq	.LC15(%rip), %rbx
.L410:
	cmpl	%eax, _ZL8outnodes(%rip)
	movl	%eax, _ZL1k(%rip)
	movl	$1, %eax
	jl	.L949
.L417:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L950
	xorl	%edx, %edx
.L416:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L951
	movl	$1, %eax
.L415:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1l(%rip)
	movl	_ZL1i(%rip), %edx
	jl	.L952
	cmpl	%edx, %eax
	je	.L412
	xorl	%edx, %edx
.L411:
	movslq	_ZL1l(%rip), %rax
	movl	%edx, _ZL1m(%rip)
	movq	fl2(%rip), %rdi
	movq	%rax, %rcx
	cmpl	%edx, (%r14,%rax,4)
	jl	.L953
	movl	_ZL1i(%rip), %eax
	movl	-216(%rbp), %esi
	imull	%r15d, %eax
	addl	_ZL1j(%rip), %eax
	imull	%esi, %eax
	movq	%rbx, %rsi
	addl	%ecx, %eax
	movl	-212(%rbp), %ecx
	imull	%r15d, %eax
	addl	%edx, %eax
	imull	%ecx, %eax
	movq	-224(%rbp), %rcx
	addl	_ZL1k(%rip), %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	movl	-216(%rbp), %ecx
	leaq	.LC14(%rip), %rsi
	movq	fl6(%rip), %rdi
	imull	%r15d, %eax
	addl	_ZL1j(%rip), %eax
	imull	%ecx, %eax
	movl	-212(%rbp), %ecx
	addl	_ZL1l(%rip), %eax
	imull	%r15d, %eax
	addl	_ZL1m(%rip), %eax
	imull	%ecx, %eax
	movq	-320(%rbp), %rcx
	addl	_ZL1k(%rip), %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1i(%rip), %eax
	movl	-216(%rbp), %ecx
	movl	_ZL1m(%rip), %edx
	movq	-224(%rbp), %rsi
	imull	%r15d, %eax
	addl	_ZL1j(%rip), %eax
	imull	%ecx, %eax
	addl	_ZL1l(%rip), %eax
	movl	-212(%rbp), %ecx
	imull	%r15d, %eax
	addl	%edx, %eax
	incl	%edx
	imull	%ecx, %eax
	movslq	%eax, %rcx
	addl	_ZL1k(%rip), %eax
	leaq	(%rsi,%rcx,4), %rcx
	cltq
	cvtsi2ssl	(%rsi,%rax,4), %xmm0
	cvtsi2ssl	(%rcx), %xmm1
	addss	%xmm1, %xmm0
	cvttss2sil	%xmm0, %eax
	movl	%eax, (%rcx)
	jmp	.L411
.L953:
	leaq	.LC7(%rip), %r12
	xorl	%eax, %eax
	movq	%r12, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl6(%rip), %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L412:
	movl	_ZL1l(%rip), %eax
	incl	%eax
	jmp	.L415
.L952:
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L416
.L951:
	incl	%eax
	jmp	.L417
.L950:
	movq	fl2(%rip), %rdi
	leaq	.LC7(%rip), %r12
	xorl	%eax, %eax
	movq	%r12, %rsi
	call	__isoc23_fscanf@PLT
	movq	fl6(%rip), %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1k(%rip), %eax
	incl	%eax
	jmp	.L410
.L949:
	leaq	.LC34(%rip), %rbx
	jmp	.L418
.L389:
	leaq	.LC75(%rip), %rsi
	jmp	.L863
.L955:
	incl	%eax
.L418:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	jl	.L954
	movl	$1, %edx
.L420:
	movslq	_ZL1i(%rip), %rcx
	movl	%edx, _ZL1j(%rip)
	movq	fl6(%rip), %rdi
	movq	%rcx, %rax
	cmpl	%edx, (%r14,%rcx,4)
	jl	.L955
	imull	%r15d, %eax
	movq	-280(%rbp), %rcx
	movq	%rbx, %rsi
	addl	%edx, %eax
	cltq
	leaq	(%rcx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL1j(%rip), %eax
	leal	1(%rax), %edx
	jmp	.L420
.L954:
	movq	fl6(%rip), %rdi
	leaq	.LC50(%rip), %rbx
	call	fclose@PLT
	movq	%rbx, %rsi
	leaq	.LC76(%rip), %rdi
	call	fopen@PLT
	leaq	.LC77(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	movq	%rax, fl4(%rip)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cmpl	$3, _ZL4ans1(%rip)
	je	.L519
	movq	%rbx, %rsi
	leaq	.LC78(%rip), %rdi
	leaq	fln(%rip), %r12
	call	fopen@PLT
	movl	$256, %edx
	movq	%r12, %rsi
	leaq	fltmp(%rip), %rdi
	movq	%rax, fl5(%rip)
	call	__strcpy_chk@PLT
	movl	$256, %edx
	movq	%rax, %rdi
	movq	-368(%rbp), %rax
	movq	16(%rax), %rsi
	call	__strcat_chk@PLT
	movl	$256, %edx
	movq	%r12, %rsi
	movq	%rax, %rdi
	call	__strcpy_chk@PLT
	movl	$256, %edx
	movq	%rax, %rdi
	movq	-368(%rbp), %rax
	movq	16(%rax), %rsi
	call	__strcat_chk@PLT
	movl	$256, %edx
	leaq	.LC79(%rip), %rsi
	movq	%rax, %rdi
	call	__strcat_chk@PLT
	movq	%rbx, %rsi
	movq	%rax, %rdi
	call	fopen@PLT
	leaq	.LC80(%rip), %rdx
	movl	$2, %esi
	movq	%rax, %rdi
	movq	%rax, fl7(%rip)
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movq	fl7(%rip), %rdi
	leaq	.LC81(%rip), %rdx
	xorl	%eax, %eax
	movl	$2, %esi
	call	__fprintf_chk@PLT
	xorl	%edx, %edx
	movl	%edx, _ZL5c1cnt(%rip)
	movl	%edx, _ZL5c2cnt(%rip)
	movl	%edx, _ZL6invcnt(%rip)
	movl	%edx, _ZL1n(%rip)
	jmp	.L519
.L960:
	testb	%cl, %cl
	je	.L438
	xorl	%edx, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
	incl	%eax
	movl	%eax, _ZL1k(%rip)
.L438:
	movss	%xmm2, _ZL8tmp2_wts(%rip)
	movl	$1, %edx
	leaq	_ZL8classval(%rip), %r13
.L439:
	movl	_ZL7innodes(%rip), %eax
	movl	%edx, _ZL1i(%rip)
	movl	%eax, -292(%rbp)
	cmpl	%edx, %eax
	jge	.L487
	movl	$0x00000000, _ZL4cmax(%rip)
	xorl	%r12d, %r12d
	xorl	%edi, %edi
	xorl	%esi, %esi
	movl	$0x00000000, _ZL5c2max(%rip)
	xorps	%xmm6, %xmm6
	xorl	%r10d, %r10d
	movl	_ZL8outnodes(%rip), %r8d
	movb	$0, -272(%rbp)
	movl	$1, %edx
	xorl	%ebx, %ebx
	xorl	%ecx, %ecx
	movl	$0x00000000, _ZL5c3max(%rip)
	xorl	%r11d, %r11d
	xorl	%r13d, %r13d
	movss	_ZL5c4max(%rip), %xmm4
	movl	%r12d, _ZL5k3max(%rip)
	movaps	%xmm6, %xmm2
	xorl	%r9d, %r9d
	movaps	%xmm6, %xmm1
	movl	$0x00000000, _ZL7totprob(%rip)
	movaps	%xmm6, %xmm5
	movl	$1, _ZL1k(%rip)
	movl	%r12d, _ZL4kmax(%rip)
	movl	%r12d, _ZL5k2max(%rip)
	xorl	%r12d, %r12d
.L488:
	movl	%edx, %eax
	cmpl	%edx, %r8d
	jge	.L492
	testb	%r11b, %r11b
	je	.L493
	xorl	%eax, %eax
	testl	%r8d, %r8d
	movss	%xmm6, _ZL7totprob(%rip)
	cmovns	%r8d, %eax
	incl	%eax
	movl	%eax, _ZL1k(%rip)
.L493:
	cmpb	$0, -272(%rbp)
	je	.L494
	movl	%r10d, _ZL4kmax(%rip)
.L494:
	testb	%r13b, %r13b
	je	.L495
	movl	%edi, _ZL5k2max(%rip)
.L495:
	testb	%r12b, %r12b
	je	.L496
	movss	%xmm2, _ZL5c2max(%rip)
.L496:
	testb	%sil, %sil
	je	.L497
	movl	-412(%rbp), %eax
	movl	%eax, _ZL5k4max(%rip)
.L497:
	testb	%bl, %bl
	je	.L498
	movl	-264(%rbp), %eax
	movl	%eax, _ZL5k3max(%rip)
.L498:
	testb	%cl, %cl
	je	.L499
	movss	%xmm4, _ZL5c4max(%rip)
.L499:
	testb	%r9b, %r9b
	je	.L500
	movss	%xmm1, _ZL5c3max(%rip)
.L500:
	cmpb	$0, -272(%rbp)
	je	.L501
	movss	%xmm5, _ZL4cmax(%rip)
.L501:
	xorps	%xmm0, %xmm0
	comiss	_ZL7totprob(%rip), %xmm0
	jb	.L502
	movl	-292(%rbp), %eax
	imull	%r8d, %eax
	cvtsi2ssl	%eax, %xmm0
	movss	%xmm0, _ZL7totprob(%rip)
.L502:
	movslq	_ZL4kmax(%rip), %rsi
	leaq	_ZL8dmyclass(%rip), %rdx
	cmpl	$3, _ZL4ans1(%rip)
	movl	_ZL1n(%rip), %ecx
	movq	fl4(%rip), %rdi
	movss	(%rdx,%rsi,4), %xmm8
	jne	.L518
	movslq	_ZL5k4max(%rip), %r9
	leaq	_ZL8classval(%rip), %rax
	movaps	%xmm8, %xmm7
	movss	_ZL7totprob(%rip), %xmm5
	movss	(%rax,%rsi,4), %xmm0
	cvttss2sil	%xmm8, %r8d
	movss	(%rax,%r9,4), %xmm3
	movss	(%rdx,%r9,4), %xmm6
	movslq	_ZL5k3max(%rip), %r9
	divss	%xmm5, %xmm0
	movss	(%rax,%r9,4), %xmm2
	movss	(%rdx,%r9,4), %xmm4
	movslq	_ZL5k2max(%rip), %r9
	movss	(%rax,%r9,4), %xmm1
	movss	(%rdx,%r9,4), %xmm9
	divss	%xmm5, %xmm3
	cvtss2sd	%xmm0, %xmm0
	mulsd	.LC83(%rip), %xmm0
	divss	%xmm5, %xmm2
	cvtss2sd	%xmm3, %xmm3
	mulsd	.LC83(%rip), %xmm3
	divss	%xmm5, %xmm1
	cvtsi2ssl	%r8d, %xmm5
	subss	%xmm5, %xmm7
	xorps	%xmm5, %xmm5
	cvtss2sd	%xmm2, %xmm2
	mulsd	.LC83(%rip), %xmm2
	ucomiss	%xmm5, %xmm7
	cvtss2sd	%xmm1, %xmm1
	mulsd	.LC83(%rip), %xmm1
	jp	.L508
	jne	.L508
	cvttss2sil	%xmm6, %eax
	leaq	.LC84(%rip), %rdx
	movl	$2, %esi
	cvttss2sil	%xmm9, %r9d
	pushq	%rax
	cvttss2sil	%xmm4, %eax
	pushq	%rax
	movb	$4, %al
	call	__fprintf_chk@PLT
	popq	%r11
	popq	%rbx
.L510:
	movslq	_ZL4kmax(%rip), %rdx
	leaq	_ZL8classval(%rip), %rax
	movss	_ZL7totprob(%rip), %xmm4
	movss	_ZL3LoC(%rip), %xmm3
	movq	fl4(%rip), %rdi
	movss	(%rax,%rdx,4), %xmm0
	movslq	_ZL5k2max(%rip), %rdx
	mulss	%xmm4, %xmm3
	cvtss2sd	%xmm0, %xmm2
	mulsd	.LC86(%rip), %xmm2
	movaps	%xmm0, %xmm1
	subss	(%rax,%rdx,4), %xmm1
	andps	.LC3(%rip), %xmm1
	cvtss2sd	%xmm1, %xmm1
	comisd	%xmm1, %xmm2
	jbe	.L840
	movaps	%xmm0, %xmm1
	incl	_ZL7nLoCcnt(%rip)
	leaq	.LC87(%rip), %rdx
	divss	%xmm4, %xmm1
	comiss	%xmm3, %xmm0
	addss	_ZL4nLoC(%rip), %xmm1
	movss	%xmm1, _ZL4nLoC(%rip)
	jbe	.L842
.L858:
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movq	fl4(%rip), %rdi
	xorl	%eax, %eax
	leaq	.LC7(%rip), %rdx
	movl	$2, %esi
	call	__fprintf_chk@PLT
	cmpl	$3, _ZL4ans1(%rip)
	jne	.L518
.L519:
	movq	fl1(%rip), %rdi
	call	feof@PLT
	movl	%eax, -264(%rbp)
	testl	%eax, %eax
	jne	.L956
	xorl	%eax, %eax
	incl	_ZL1n(%rip)
	cmpl	$3, _ZL4ans1(%rip)
	movl	%eax, _ZL4kmax(%rip)
	movl	%eax, _ZL5k2max(%rip)
	movl	%eax, _ZL5k3max(%rip)
	movl	%eax, _ZL5k4max(%rip)
	movl	$1, %eax
	movl	$0x00000000, _ZL4cmax(%rip)
	movl	$0x00000000, _ZL5c2max(%rip)
	movl	$0x00000000, _ZL5c3max(%rip)
	movl	$0x00000000, _ZL5c4max(%rip)
	movl	$0x00000000, _ZL8classval(%rip)
	jne	.L423
.L422:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	jl	.L957
	movq	-256(%rbp), %rbx
	cltq
	leaq	.LC14(%rip), %rsi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %edx
	movslq	_ZL1i(%rip), %rax
	cmpl	$2, %edx
	jne	.L424
	movq	-232(%rbp), %rbx
	movq	fl1(%rip), %rdi
	leaq	.LC14(%rip), %rsi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-288(%rbp), %rbx
	leaq	.LC14(%rip), %rsi
	movq	fl1(%rip), %rdi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	jmp	.L425
.L424:
	decl	%edx
	jne	.L425
	movq	-232(%rbp), %rbx
	movq	fl1(%rip), %rdi
	leaq	.LC14(%rip), %rsi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-232(%rbp), %rbx
	movss	(%rbx,%rax,4), %xmm0
	movq	-288(%rbp), %rbx
	movss	%xmm0, (%rbx,%rax,4)
.L425:
	movl	_ZL1i(%rip), %eax
	incl	%eax
	jmp	.L422
.L957:
	leaq	.LC7(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	jmp	.L427
.L430:
	movq	-256(%rbp), %rbx
	cltq
	leaq	.LC14(%rip), %rsi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movl	_ZL6nerror(%rip), %edx
	movslq	_ZL1i(%rip), %rax
	cmpl	$2, %edx
	jne	.L428
	movq	-232(%rbp), %rbx
	movq	fl1(%rip), %rdi
	leaq	.LC14(%rip), %rsi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-288(%rbp), %rbx
	leaq	.LC14(%rip), %rsi
	movq	fl1(%rip), %rdi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L429:
	movl	_ZL1i(%rip), %eax
	incl	%eax
.L423:
	cmpl	%eax, _ZL7innodes(%rip)
	movl	%eax, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	jge	.L430
	jmp	.L958
.L428:
	decl	%edx
	jne	.L429
	movq	-232(%rbp), %rbx
	movq	fl1(%rip), %rdi
	leaq	.LC14(%rip), %rsi
	leaq	(%rbx,%rax,4), %rdx
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
	movslq	_ZL1i(%rip), %rax
	movq	-232(%rbp), %rbx
	movss	(%rbx,%rax,4), %xmm0
	movq	-288(%rbp), %rbx
	movss	%xmm0, (%rbx,%rax,4)
	jmp	.L429
.L958:
	leaq	-196(%rbp), %rdx
	leaq	.LC34(%rip), %rsi
	xorl	%eax, %eax
	call	__isoc23_fscanf@PLT
.L427:
	xorl	%eax, %eax
	movl	_ZL10MissingDat(%rip), %ebx
	movl	$1, %r12d
	movb	$1, %r13b
	movl	%eax, _ZL6skpchk(%rip)
	movl	_ZL7innodes(%rip), %eax
	movl	$1, _ZL1i(%rip)
	movl	%eax, -292(%rbp)
	xorl	%eax, %eax
.L431:
	cmpl	%r12d, -292(%rbp)
	jl	.L959
	movq	-256(%rbp), %rax
	xorps	%xmm7, %xmm7
	movss	(%rax,%r12,4), %xmm0
	movq	-424(%rbp), %rax
	movss	%xmm0, (%rax,%r12,4)
	movq	-248(%rbp), %rax
	movss	(%rax,%r12,4), %xmm4
	movq	-240(%rbp), %rax
	movss	(%rax,%r12,4), %xmm2
	movaps	%xmm4, %xmm1
	subss	%xmm2, %xmm1
	comiss	%xmm7, %xmm1
	jbe	.L583
	cvtsi2ssl	%ebx, %xmm3
	ucomiss	%xmm3, %xmm4
	setp	%al
	cmovne	%r13d, %eax
	testb	%al, %al
	je	.L583
	ucomiss	%xmm3, %xmm0
	setp	%al
	cmovne	%r13d, %eax
	testb	%al, %al
	je	.L583
	subss	%xmm2, %xmm0
	movss	%xmm1, -304(%rbp)
	cvtsi2ssl	(%r14,%r12,4), %xmm5
	divss	%xmm1, %xmm0
	movss	%xmm5, -272(%rbp)
	mulss	%xmm5, %xmm0
	call	roundf@PLT
	movq	-256(%rbp), %rax
	movss	-304(%rbp), %xmm1
	movss	%xmm0, (%rax,%r12,4)
	movq	-232(%rbp), %rax
	movss	(%rax,%r12,4), %xmm0
	divss	%xmm1, %xmm0
	mulss	-272(%rbp), %xmm0
	call	roundf@PLT
	movq	-232(%rbp), %rax
	movss	-304(%rbp), %xmm1
	movss	%xmm0, (%rax,%r12,4)
	movq	-288(%rbp), %rax
	movss	(%rax,%r12,4), %xmm0
	divss	%xmm1, %xmm0
	mulss	-272(%rbp), %xmm0
	call	roundf@PLT
	movq	-288(%rbp), %rax
	movss	%xmm0, (%rax,%r12,4)
	xorl	%eax, %eax
	movl	%eax, -296(%rbp)
	jmp	.L432
.L583:
	movl	$1, -296(%rbp)
.L432:
	incq	%r12
	movb	$1, %al
	jmp	.L431
.L959:
	testb	%al, %al
	je	.L435
	movl	-296(%rbp), %eax
	movl	%eax, _ZL6skpchk(%rip)
.L435:
	movl	$1, _ZL1k(%rip)
	movl	_ZL8outnodes(%rip), %eax
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	movss	.LC2(%rip), %xmm2
	leaq	_ZL8classval(%rip), %rsi
.L436:
	incq	%rdx
	cmpl	%edx, %eax
	jl	.L960
	movss	%xmm2, (%rsi,%rdx,4)
	movb	$1, %cl
	jmp	.L436
.L487:
	xorl	%eax, %eax
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm1
	movslq	%edx, %rcx
	movl	$0, %esi
	movl	%eax, _ZL1j(%rip)
	movq	-256(%rbp), %rax
	movss	(%rax,%rcx,4), %xmm0
	movl	(%r14,%rcx,4), %ecx
	xorl	%eax, %eax
	cvtsi2ssl	%ecx, %xmm3
	ucomiss	%xmm1, %xmm0
	setnp	%al
	cmovne	%esi, %eax
	comiss	%xmm0, %xmm3
	movl	%eax, _ZL6skpchk(%rip)
	movl	$1, %eax
	jb	.L440
	ucomiss	%xmm1, %xmm0
	jp	.L617
	movl	$1, %eax
	je	.L440
.L617:
	imull	%r15d, %edx
	movq	-280(%rbp), %rax
	movslq	%edx, %rdx
	leaq	(%rax,%rdx,4), %rdi
	xorl	%edx, %edx
	xorl	%eax, %eax
.L443:
	movaps	%xmm0, %xmm1
	subss	4(%rdi,%rdx,4), %xmm1
	movl	%eax, %esi
	movq	%rdx, %r9
	andps	.LC3(%rip), %xmm1
	comiss	%xmm2, %xmm1
	setnb	%al
	cmpl	%edx, %ecx
	setge	%r8b
	incq	%rdx
	andb	%r8b, %al
	jne	.L443
	testb	%sil, %sil
	je	.L444
	movl	%r9d, _ZL1j(%rip)
.L444:
	xorl	%eax, %eax
.L440:
	movl	%eax, _ZL2jx(%rip)
	movl	$1, %ecx
.L445:
	movl	_ZL7innodes(%rip), %eax
	movl	%ecx, _ZL1l(%rip)
	movslq	_ZL1i(%rip), %rdx
	movl	%eax, -336(%rbp)
	cmpl	%ecx, %eax
	jl	.L961
	cmpl	%edx, %ecx
	je	.L447
	cmpl	$0, _ZL2jx(%rip)
	jne	.L447
	xorl	%eax, %eax
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm0
	movq	-256(%rbp), %rbx
	movl	%eax, _ZL1m(%rip)
	movslq	%ecx, %rax
	movss	(%rbx,%rax,4), %xmm1
	ucomiss	%xmm0, %xmm1
	jp	.L618
	movl	$1, %r8d
	je	.L449
.L618:
	movq	-256(%rbp), %rbx
	movslq	%edx, %rax
	xorl	%r8d, %r8d
	ucomiss	(%rbx,%rax,4), %xmm0
	movl	$0, %eax
	setnp	%r8b
	cmovne	%eax, %r8d
.L449:
	movslq	%ecx, %rax
	movl	%r8d, _ZL6skpchk(%rip)
	movl	(%r14,%rax,4), %eax
	cvtsi2ssl	%eax, %xmm3
	movl	%eax, -272(%rbp)
	comiss	%xmm1, %xmm3
	jb	.L451
	testl	%r8d, %r8d
	jne	.L451
	movl	%r15d, %eax
	movq	-280(%rbp), %rbx
	xorl	%esi, %esi
	imull	%ecx, %eax
	cltq
	leaq	(%rbx,%rax,4), %r11
	xorl	%eax, %eax
.L453:
	movaps	%xmm1, %xmm0
	subss	4(%r11,%rsi,4), %xmm0
	movl	%eax, %r10d
	movq	%rsi, %r9
	andps	.LC3(%rip), %xmm0
	comiss	%xmm2, %xmm0
	setnb	%dil
	cmpl	%esi, -272(%rbp)
	setge	%al
	incq	%rsi
	andb	%dil, %al
	jne	.L453
	testb	%r10b, %r10b
	je	.L451
	movl	%r9d, _ZL1m(%rip)
.L451:
	movl	-216(%rbp), %eax
	movl	%edx, %esi
	movl	_ZL1m(%rip), %edi
	xorl	%ebx, %ebx
	imull	%r15d, %esi
	addl	_ZL1j(%rip), %esi
	xorl	%r12d, %r12d
	xorl	%r9d, %r9d
	imull	%eax, %esi
	movl	-212(%rbp), %eax
	movl	$1, _ZL1k(%rip)
	movl	$1, %r11d
	movq	%rdx, -344(%rbp)
	movl	_ZL8outnodes(%rip), %r10d
	movss	_ZL8tmp2_wts(%rip), %xmm0
	addl	%ecx, %esi
	movslq	%ecx, %rcx
	imull	%eax, %esi
	movl	_ZL6nerror(%rip), %eax
	movl	%eax, -304(%rbp)
	movl	_ZL1p(%rip), %eax
	imull	%r15d, %esi
.L454:
	movl	%r11d, -292(%rbp)
	cmpl	%r11d, %r10d
	jl	.L962
	movl	-212(%rbp), %r9d
	movq	-224(%rbp), %rdx
	imull	%edi, %r9d
	addl	%esi, %r9d
	addl	%r11d, %r9d
	cmpl	$2, -304(%rbp)
	movslq	%r9d, %r9
	cvtsi2ssl	(%rdx,%r9,4), %xmm0
	jne	.L455
	movq	-232(%rbp), %rax
	movq	-288(%rbp), %rdx
	cvttss2sil	(%rax,%rcx,4), %r9d
	movl	%edi, %eax
	cvttss2sil	(%rdx,%rcx,4), %r12d
	subl	%r9d, %eax
.L456:
	leal	(%r12,%rdi), %r9d
	cmpl	%eax, %r9d
	jl	.L588
	xorl	%r9d, %r9d
	testl	%eax, %eax
	cmovs	%r9d, %eax
	cmpl	%eax, -272(%rbp)
	jl	.L588
	movl	-212(%rbp), %r9d
	movl	-292(%rbp), %edx
	imull	%eax, %r9d
	addl	%esi, %r9d
	addl	%edx, %r9d
	movq	-224(%rbp), %rdx
	movslq	%r9d, %r9
	cvtsi2ssl	(%rdx,%r9,4), %xmm4
	movb	$1, %dl
	ucomiss	%xmm0, %xmm4
	cmova	%eax, %edi
	cmova	%edx, %ebx
	incl	%eax
	jmp	.L456
.L455:
	cmpl	$1, -304(%rbp)
	jne	.L460
	movq	-232(%rbp), %rax
	cvttss2sil	(%rax,%rcx,4), %r12d
	movl	%edi, %eax
	subl	%r12d, %eax
.L461:
	leal	(%r12,%rdi), %r9d
	cmpl	%eax, %r9d
	jl	.L588
	xorl	%r9d, %r9d
	testl	%eax, %eax
	cmovs	%r9d, %eax
	cmpl	%eax, -272(%rbp)
	jl	.L588
	movl	-212(%rbp), %r9d
	movl	-292(%rbp), %edx
	imull	%eax, %r9d
	addl	%esi, %r9d
	addl	%edx, %r9d
	movq	-224(%rbp), %rdx
	movslq	%r9d, %r9
	cvtsi2ssl	(%rdx,%r9,4), %xmm4
	movb	$1, %dl
	ucomiss	%xmm0, %xmm4
	cmova	%eax, %edi
	cmova	%edx, %ebx
	incl	%eax
	jmp	.L461
.L588:
	movb	$1, %r12b
.L460:
	movl	-212(%rbp), %r9d
	imull	%edi, %r9d
	leal	(%r9,%rsi), %edx
	movslq	%edx, %r9
	movl	%edx, -312(%rbp)
	movq	-224(%rbp), %rdx
	movl	(%rdx,%r9,4), %edx
	movq	-344(%rbp), %r9
	movl	%edx, -328(%rbp)
	movq	-256(%rbp), %rdx
	cmpl	$0, -328(%rbp)
	cvtsi2ssl	(%r14,%r9,4), %xmm5
	movss	(%rdx,%r9,4), %xmm4
	jle	.L464
	comiss	%xmm4, %xmm5
	jb	.L464
	comiss	%xmm1, %xmm3
	jb	.L838
	movaps	%xmm2, %xmm0
	testl	%r8d, %r8d
	jne	.L474
	movl	-292(%rbp), %edx
	movl	-312(%rbp), %r9d
	cvtsi2sdl	-328(%rbp), %xmm4
	addl	%edx, %r9d
	movq	-224(%rbp), %rdx
	movslq	%r9d, %r9
	cvtsi2ssl	(%rdx,%r9,4), %xmm0
	movq	-320(%rbp), %rdx
	mulss	(%rdx,%r9,4), %xmm0
	cvtss2sd	%xmm0, %xmm0
	divsd	%xmm4, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	jmp	.L469
.L464:
	movaps	%xmm2, %xmm0
	cmpl	$1, %r8d
	je	.L470
.L548:
	cvtsi2ssl	%r10d, %xmm6
	movss	.LC2(%rip), %xmm0
	divss	%xmm6, %xmm0
.L470:
	comiss	%xmm4, %xmm5
	jb	.L474
	jmp	.L547
.L838:
	cmpl	$1, %r8d
	jne	.L548
	movaps	%xmm2, %xmm0
.L547:
	comiss	%xmm1, %xmm3
	jb	.L474
	testl	%r8d, %r8d
	jne	.L474
.L469:
	movss	0(%r13,%r11,4), %xmm4
	mulss	%xmm0, %xmm4
	movss	%xmm4, 0(%r13,%r11,4)
.L474:
	incq	%r11
	movb	$1, %r9b
	jmp	.L454
.L962:
	testb	%r9b, %r9b
	je	.L476
	movss	%xmm0, _ZL8tmp2_wts(%rip)
.L476:
	testb	%bl, %bl
	je	.L477
	movl	%edi, _ZL1m(%rip)
.L477:
	testb	%r12b, %r12b
	je	.L478
	movl	%eax, _ZL1p(%rip)
.L478:
	xorl	%eax, %eax
	xorl	%edx, %edx
	xorps	%xmm0, %xmm0
.L479:
	incq	%rax
	cmpl	%eax, %r10d
	jl	.L963
	addss	0(%r13,%rax,4), %xmm0
	movb	$1, %dl
	jmp	.L479
.L963:
	testb	%dl, %dl
	je	.L481
	xorl	%eax, %eax
	testl	%r10d, %r10d
	xorps	%xmm1, %xmm1
	movss	%xmm0, _ZL7totprob(%rip)
	cmovns	%r10d, %eax
	incl	%eax
	ucomiss	%xmm0, %xmm1
	movl	%eax, _ZL1k(%rip)
	jp	.L482
	jne	.L482
.L481:
	movl	-336(%rbp), %eax
	leaq	.LC82(%rip), %rsi
	leaq	_ZSt4cout(%rip), %rdi
	imull	%eax, %r10d
	cvtsi2ssl	%r10d, %xmm0
	movss	%xmm0, _ZL7totprob(%rip)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movss	.LC2(%rip), %xmm2
.L482:
	movl	$1, _ZL1k(%rip)
	movl	_ZL8outnodes(%rip), %eax
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	movss	_ZL7totprob(%rip), %xmm1
.L484:
	incq	%rdx
	cmpl	%edx, %eax
	jl	.L964
	movss	0(%r13,%rdx,4), %xmm0
	movb	$1, %cl
	divss	%xmm1, %xmm0
	movss	%xmm0, 0(%r13,%rdx,4)
	jmp	.L484
.L964:
	testb	%cl, %cl
	je	.L447
	xorl	%edx, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
	incl	%eax
	movl	%eax, _ZL1k(%rip)
.L447:
	movl	_ZL1l(%rip), %eax
	leal	1(%rax), %ecx
	jmp	.L445
.L961:
	incl	%edx
	jmp	.L439
.L492:
	leaq	_ZL8classval(%rip), %r11
	movss	(%r11,%rdx,4), %xmm0
	comiss	%xmm5, %xmm0
	jbe	.L839
	movslq	%r10d, %rcx
	movl	-264(%rbp), %eax
	movaps	%xmm2, %xmm3
	movaps	%xmm0, %xmm5
	movl	%edi, -264(%rbp)
	movb	$1, %r13b
	movl	%r10d, %edi
	movb	$1, %r12b
	movss	(%r11,%rcx,4), %xmm2
	movl	%edx, %r10d
	movb	$1, %sil
	movb	$1, %bl
	movb	$1, -272(%rbp)
	movb	$1, %cl
	movb	$1, %r9b
	jmp	.L491
.L839:
	comiss	%xmm2, %xmm0
	ja	.L592
	comiss	%xmm1, %xmm0
	ja	.L593
	comiss	%xmm4, %xmm0
	ja	.L594
	movaps	%xmm1, %xmm3
	movl	-412(%rbp), %eax
	movaps	%xmm4, %xmm1
	jmp	.L491
.L592:
	movl	-264(%rbp), %eax
	movaps	%xmm2, %xmm3
	movb	$1, %r13b
	movaps	%xmm0, %xmm2
	movl	%edi, -264(%rbp)
	movb	$1, %r12b
	movl	%edx, %edi
	movb	$1, %sil
	movb	$1, %bl
	jmp	.L857
.L593:
	movaps	%xmm0, %xmm3
	movb	$1, %sil
.L857:
	movb	$1, %cl
	movb	$1, %r9b
	jmp	.L491
.L594:
	movaps	%xmm1, %xmm3
	movb	$1, %sil
	movaps	%xmm0, %xmm1
	movb	$1, %cl
.L491:
	movaps	%xmm1, %xmm4
	addss	%xmm0, %xmm6
	movl	%eax, -412(%rbp)
	incq	%rdx
	movaps	%xmm3, %xmm1
	movb	$1, %r11b
	jmp	.L488
.L518:
	movslq	_ZL4kmax(%rip), %rax
	leaq	_ZL8dmyclass(%rip), %rbx
	movl	_ZL1n(%rip), %ecx
	movq	fl4(%rip), %rdi
	movss	(%rbx,%rax,4), %xmm0
	cvttss2sil	%xmm0, %r8d
	movaps	%xmm0, %xmm2
	cvtsi2ssl	%r8d, %xmm1
	subss	%xmm1, %xmm2
	xorps	%xmm1, %xmm1
	ucomiss	%xmm1, %xmm2
	jp	.L507
	jne	.L507
	leaq	.LC90(%rip), %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	call	__fprintf_chk@PLT
	movslq	_ZL5k2max(%rip), %rdx
	movl	$2, %esi
	movslq	_ZL4kmax(%rip), %rax
	pushq	%r10
	cvttss2sil	-196(%rbp), %ecx
	cvttss2sil	(%rbx,%rdx,4), %r9d
	movq	fl7(%rip), %rdi
	leaq	.LC91(%rip), %rdx
	cvttss2sil	(%rbx,%rax,4), %r8d
	xorl	%eax, %eax
	pushq	%rcx
	movslq	_ZL5k4max(%rip), %rcx
	cvttss2sil	(%rbx,%rcx,4), %ecx
	pushq	%rcx
	movslq	_ZL5k3max(%rip), %rcx
	cvttss2sil	(%rbx,%rcx,4), %ecx
	pushq	%rcx
	movl	_ZL1n(%rip), %ecx
	call	__fprintf_chk@PLT
	addq	$32, %rsp
	jmp	.L520
.L508:
	movaps	%xmm3, %xmm7
	movaps	%xmm2, %xmm5
	movaps	%xmm1, %xmm3
	cvtss2sd	%xmm8, %xmm8
	movaps	%xmm0, %xmm1
	leaq	.LC85(%rip), %rdx
	movaps	%xmm8, %xmm0
	movb	$8, %al
	movl	$2, %esi
	cvtss2sd	%xmm6, %xmm6
	cvtss2sd	%xmm4, %xmm4
	cvtss2sd	%xmm9, %xmm2
	call	__fprintf_chk@PLT
	jmp	.L510
.L840:
	comiss	%xmm3, %xmm0
	leaq	.LC89(%rip), %rdx
	ja	.L858
.L842:
	leaq	.LC88(%rip), %rdx
	jmp	.L858
.L507:
	leaq	.LC92(%rip), %rdx
	movl	$2, %esi
	movb	$1, %al
	cvtss2sd	%xmm0, %xmm0
	call	__fprintf_chk@PLT
	movslq	_ZL5k3max(%rip), %rcx
	movslq	_ZL4kmax(%rip), %rdi
	leaq	_ZL8dmyclass(%rip), %rax
	movslq	_ZL5k4max(%rip), %rsi
	movslq	_ZL5k2max(%rip), %rdx
	cvtss2sd	-196(%rbp), %xmm4
	cvtss2sd	(%rax,%rdi,4), %xmm0
	cvtss2sd	(%rax,%rcx,4), %xmm2
	movq	fl7(%rip), %rdi
	movl	_ZL1n(%rip), %ecx
	cvtss2sd	(%rax,%rsi,4), %xmm3
	cvtss2sd	(%rax,%rdx,4), %xmm1
	movl	$2, %esi
	movb	$5, %al
	leaq	.LC93(%rip), %rdx
	call	__fprintf_chk@PLT
.L520:
	movslq	_ZL4kmax(%rip), %rcx
	movslq	_ZL5k2max(%rip), %rdx
	leaq	_ZL8classval(%rip), %rax
	leaq	_ZL8dmyclass(%rip), %rsi
	movss	_ZL7totprob(%rip), %xmm6
	movq	fl7(%rip), %rdi
	movss	(%rax,%rcx,4), %xmm5
	movss	(%rax,%rdx,4), %xmm4
	movss	-196(%rbp), %xmm10
	movss	(%rsi,%rcx,4), %xmm2
	movss	_ZL8dmyclass(%rip), %xmm9
	movaps	%xmm4, %xmm1
	movaps	%xmm5, %xmm7
	divss	%xmm6, %xmm1
	subss	%xmm10, %xmm2
	andps	.LC3(%rip), %xmm2
	comiss	%xmm9, %xmm2
	divss	%xmm6, %xmm7
	cvtss2sd	%xmm1, %xmm1
	mulsd	.LC83(%rip), %xmm1
	cvtss2sd	%xmm7, %xmm0
	mulsd	.LC83(%rip), %xmm0
	jb	.L843
	xorps	%xmm2, %xmm2
	ucomiss	%xmm2, %xmm5
	jp	.L523
	jne	.L523
	leaq	.LC94(%rip), %rdx
	movl	$2, %esi
	movb	$2, %al
	incl	_ZL6invcnt(%rip)
	call	__fprintf_chk@PLT
	jmp	.L525
.L523:
	movslq	_ZL5k4max(%rip), %rcx
	leaq	_ZL8classval(%rip), %rax
	movss	_ZL3LoC(%rip), %xmm8
	movss	(%rax,%rcx,4), %xmm3
	movslq	_ZL5k3max(%rip), %rcx
	mulss	%xmm6, %xmm8
	movss	(%rax,%rcx,4), %xmm2
	divss	%xmm6, %xmm3
	leaq	_ZL8dmyclass(%rip), %rax
	divss	%xmm6, %xmm2
	movss	(%rax,%rdx,4), %xmm6
	subss	%xmm10, %xmm6
	andps	.LC3(%rip), %xmm6
	comiss	%xmm6, %xmm9
	cvtss2sd	%xmm3, %xmm3
	mulsd	.LC83(%rip), %xmm3
	cvtss2sd	%xmm2, %xmm2
	mulsd	.LC83(%rip), %xmm2
	jbe	.L844
	movaps	%xmm5, %xmm6
	subss	%xmm4, %xmm6
	cvtss2sd	%xmm4, %xmm4
	mulsd	.LC86(%rip), %xmm4
	andps	.LC3(%rip), %xmm6
	cvtss2sd	%xmm6, %xmm6
	comisd	%xmm6, %xmm4
	jbe	.L845
	incl	_ZL7nLoCcnt(%rip)
	addss	_ZL4nLoC(%rip), %xmm7
	comiss	%xmm8, %xmm5
	movss	%xmm7, _ZL4nLoC(%rip)
	jbe	.L846
	incl	_ZL5c2cnt(%rip)
	leaq	.LC95(%rip), %rdx
	jmp	.L861
.L846:
	leaq	.LC96(%rip), %rdx
	jmp	.L859
.L845:
	comiss	%xmm8, %xmm5
	leaq	.LC97(%rip), %rdx
	ja	.L861
	leaq	.LC98(%rip), %rdx
	jmp	.L859
.L844:
	comiss	%xmm8, %xmm5
	leaq	.LC99(%rip), %rdx
	ja	.L861
	leaq	.LC100(%rip), %rdx
.L859:
	movl	$2, %esi
	movb	$4, %al
	call	__fprintf_chk@PLT
	incl	_ZL6invcnt(%rip)
	jmp	.L525
.L843:
	movss	_ZL3LoC(%rip), %xmm8
	movslq	_ZL5k4max(%rip), %rdx
	movss	(%rax,%rdx,4), %xmm3
	movslq	_ZL5k3max(%rip), %rdx
	mulss	%xmm6, %xmm8
	movss	(%rax,%rdx,4), %xmm2
	divss	%xmm6, %xmm3
	divss	%xmm6, %xmm2
	movaps	%xmm5, %xmm6
	subss	%xmm4, %xmm6
	andps	.LC3(%rip), %xmm6
	cvtss2sd	%xmm6, %xmm4
	cvtss2sd	%xmm5, %xmm6
	mulsd	.LC86(%rip), %xmm6
	cvtss2sd	%xmm3, %xmm3
	mulsd	.LC83(%rip), %xmm3
	comisd	%xmm4, %xmm6
	cvtss2sd	%xmm2, %xmm2
	mulsd	.LC83(%rip), %xmm2
	jbe	.L849
	incl	_ZL7nLoCcnt(%rip)
	addss	_ZL4nLoC(%rip), %xmm7
	leaq	.LC101(%rip), %rdx
	comiss	%xmm8, %xmm5
	movss	%xmm7, _ZL4nLoC(%rip)
	ja	.L860
	jmp	.L851
.L849:
	comiss	%xmm8, %xmm5
	jbe	.L851
	leaq	.LC103(%rip), %rdx
.L860:
	movl	$2, %esi
	movb	$4, %al
	call	__fprintf_chk@PLT
	incl	_ZL5c1cnt(%rip)
	jmp	.L525
.L851:
	incl	_ZL6invcnt(%rip)
	leaq	.LC102(%rip), %rdx
.L861:
	movl	$2, %esi
	movb	$4, %al
	call	__fprintf_chk@PLT
.L525:
	movl	_ZL1n(%rip), %ecx
	movq	fl5(%rip), %rdi
	leaq	.LC104(%rip), %rdx
	movb	$1, %al
	movl	$2, %esi
	cvtss2sd	-196(%rbp), %xmm0
	call	__fprintf_chk@PLT
	jmp	.L519
.L956:
	leaq	_ZSt4cout(%rip), %rbx
	leaq	.LC105(%rip), %rsi
	movq	%rbx, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cvtsi2ssl	_ZL7nLoCcnt(%rip), %xmm1
	movss	_ZL4nLoC(%rip), %xmm0
	movq	%rax, %rdi
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC7(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	fl1(%rip), %rdi
	call	fclose@PLT
	movq	fl2(%rip), %rdi
	call	fclose@PLT
	movq	fl4(%rip), %rdi
	call	fclose@PLT
	cmpl	$2, _ZL4ans1(%rip)
	jg	.L544
	movl	$256, %edx
	leaq	fln(%rip), %rsi
	leaq	fltmp(%rip), %rdi
	call	__strcpy_chk@PLT
	movq	fl5(%rip), %rdi
	leaq	.LC106(%rip), %r12
	leaq	.LC107(%rip), %r13
	call	fclose@PLT
	movq	%r12, %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	movq	fl7(%rip), %rdi
	call	__fprintf_chk@PLT
	movq	%r13, %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	movq	fl7(%rip), %rdi
	call	__fprintf_chk@PLT
	movq	%r12, %rsi
	movq	%rbx, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r13, %rsi
	movq	%rbx, %rdi
	leaq	.LC110(%rip), %r13
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	cmpl	$3, _ZL8outnodes(%rip)
	movq	fl7(%rip), %rdi
	jle	.L545
	leaq	.LC108(%rip), %r14
	movl	$2, %esi
	xorl	%eax, %eax
	movq	%r14, %rdx
	call	__fprintf_chk@PLT
	movl	_ZL1n(%rip), %ecx
	movl	$2, %esi
	movl	_ZL5c1cnt(%rip), %r8d
	movl	_ZL5c2cnt(%rip), %r9d
	movl	_ZL6invcnt(%rip), %eax
	pushq	%rdi
	movq	fl7(%rip), %rdi
	leal	(%r8,%r9), %edx
	pushq	%rax
	cvtsi2ssl	%edx, %xmm0
	mulss	.LC109(%rip), %xmm0
	movl	%ecx, %edx
	subl	%eax, %edx
	movb	$1, %al
	cvtsi2ssl	%edx, %xmm1
	movq	%r13, %rdx
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	call	__fprintf_chk@PLT
	popq	%r8
	movq	%r14, %rsi
	popq	%r9
	movq	%rbx, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL5c1cnt(%rip), %ecx
	movl	_ZL5c2cnt(%rip), %r8d
	movl	_ZL1n(%rip), %edx
	movl	_ZL6invcnt(%rip), %r9d
	leal	(%rcx,%r8), %eax
	cvtsi2ssl	%eax, %xmm0
	mulss	.LC109(%rip), %xmm0
	movl	%edx, %eax
	subl	%r9d, %eax
	cvtsi2ssl	%eax, %xmm1
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	jmp	.L862
.L545:
	leaq	.LC111(%rip), %r14
	movl	$2, %esi
	xorl	%eax, %eax
	movq	%r14, %rdx
	call	__fprintf_chk@PLT
	movl	_ZL1n(%rip), %ecx
	movl	_ZL6invcnt(%rip), %eax
	movl	$2, %esi
	cvtsi2ssl	_ZL5c1cnt(%rip), %xmm0
	mulss	.LC109(%rip), %xmm0
	movl	%ecx, %edx
	subl	%eax, %edx
	cvtsi2ssl	%edx, %xmm1
	pushq	%rdx
	movq	fl7(%rip), %rdi
	movq	%r13, %rdx
	pushq	%rax
	movl	_ZL5c2cnt(%rip), %r9d
	movb	$1, %al
	movl	_ZL5c1cnt(%rip), %r8d
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	call	__fprintf_chk@PLT
	popq	%rcx
	movq	%rbx, %rdi
	popq	%rsi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movl	_ZL1n(%rip), %edx
	movl	_ZL5c1cnt(%rip), %ecx
	movl	_ZL6invcnt(%rip), %r9d
	movl	_ZL5c2cnt(%rip), %r8d
	movl	%edx, %eax
	cvtsi2ssl	%ecx, %xmm0
	mulss	.LC109(%rip), %xmm0
	subl	%r9d, %eax
	cvtsi2ssl	%eax, %xmm1
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
.L862:
	movq	%r13, %rsi
	movl	$2, %edi
	movb	$1, %al
	call	__printf_chk@PLT
	movq	%r12, %rdx
	movl	$2, %esi
	xorl	%eax, %eax
	movq	fl7(%rip), %rdi
	call	__fprintf_chk@PLT
	movl	$2, %edi
	movq	%r12, %rsi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	fl7(%rip), %rdi
	call	fclose@PLT
.L544:
	leaq	.LC112(%rip), %rsi
	movq	%rbx, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	xorl	%edi, %edi
	call	times@PLT
	leaq	.LC44(%rip), %rsi
	movq	%rbx, %rdi
	movq	%rax, stop(%rip)
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	start(%rip), %rax
	subq	stop(%rip), %rax
	cvtsi2sdq	%rax, %xmm0
	andps	.LC45(%rip), %xmm0
	mulsd	.LC46(%rip), %xmm0
	divsd	.LC47(%rip), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	leaq	.LC48(%rip), %rsi
	movq	%rax, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	-56(%rbp), %rax
	subq	%fs:40, %rax
	je	.L549
	call	__stack_chk_fail@PLT
.L549:
	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
.LFE4000:
	.size	main, .-main
	.section	.rodata.str1.1
.LC113:
	.string	"_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_"
	.section	.text.startup
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB4028:
	.cfi_startproc
	endbr64
	pushq	%rax
	.cfi_def_cfa_offset 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	.LC113(%rip), %rdx
	movq	%rax, %rdi
	leaq	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 40
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 48
	movq	%rax, _ZL20__cudaFatCubinHandle(%rip)
	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	%rdx
	.cfi_def_cfa_offset 8
	jmp	atexit@PLT
	.cfi_endproc
.LFE4028:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.globl	fl10
	.bss
	.align 8
	.type	fl10, @object
	.size	fl10, 8
fl10:
	.zero	8
	.globl	fl9
	.align 8
	.type	fl9, @object
	.size	fl9, 8
fl9:
	.zero	8
	.globl	fl8
	.align 8
	.type	fl8, @object
	.size	fl8, 8
fl8:
	.zero	8
	.globl	fl7
	.align 8
	.type	fl7, @object
	.size	fl7, 8
fl7:
	.zero	8
	.globl	fl6
	.align 8
	.type	fl6, @object
	.size	fl6, 8
fl6:
	.zero	8
	.globl	fl5
	.align 8
	.type	fl5, @object
	.size	fl5, 8
fl5:
	.zero	8
	.globl	fl4
	.align 8
	.type	fl4, @object
	.size	fl4, 8
fl4:
	.zero	8
	.globl	fl3
	.align 8
	.type	fl3, @object
	.size	fl3, 8
fl3:
	.zero	8
	.globl	fl2
	.align 8
	.type	fl2, @object
	.size	fl2, 8
fl2:
	.zero	8
	.globl	fl1
	.align 8
	.type	fl1, @object
	.size	fl1, 8
fl1:
	.zero	8
	.globl	savedpar
	.type	savedpar, @object
	.size	savedpar, 1
savedpar:
	.zero	1
	.globl	bcchoice
	.type	bcchoice, @object
	.size	bcchoice, 1
bcchoice:
	.zero	1
	.globl	urchoicex
	.type	urchoicex, @object
	.size	urchoicex, 1
urchoicex:
	.zero	1
	.globl	urchoice
	.type	urchoice, @object
	.size	urchoice, 1
urchoice:
	.zero	1
	.globl	fltmp
	.align 32
	.type	fltmp, @object
	.size	fltmp, 256
fltmp:
	.zero	256
	.globl	fln
	.align 32
	.type	fln, @object
	.size	fln, 256
fln:
	.zero	256
	.data
	.align 4
	.type	_ZL8outnodes, @object
	.size	_ZL8outnodes, 4
_ZL8outnodes:
	.long	100
	.align 4
	.type	_ZL7innodes, @object
	.size	_ZL7innodes, 4
_ZL7innodes:
	.long	100
	.local	_ZL6invcnt
	.comm	_ZL6invcnt,4,4
	.local	_ZL5pocnt
	.comm	_ZL5pocnt,4,4
	.local	_ZL4pcnt
	.comm	_ZL4pcnt,4,4
	.local	_ZL5c2cnt
	.comm	_ZL5c2cnt,4,4
	.local	_ZL5c1cnt
	.comm	_ZL5c1cnt,4,4
	.local	_ZL1p
	.comm	_ZL1p,4,4
	.local	_ZL1m
	.comm	_ZL1m,4,4
	.local	_ZL1n
	.comm	_ZL1n,4,4
	.local	_ZL1l
	.comm	_ZL1l,4,4
	.local	_ZL1k
	.comm	_ZL1k,4,4
	.local	_ZL1j
	.comm	_ZL1j,4,4
	.local	_ZL1i
	.comm	_ZL1i,4,4
	.local	_ZL3rnd
	.comm	_ZL3rnd,4,4
	.local	_ZL3rnn
	.comm	_ZL3rnn,4,4
	.local	_ZL4tcnt
	.comm	_ZL4tcnt,4,4
	.local	_ZL4ans1
	.comm	_ZL4ans1,4,4
	.local	_ZL5k4max
	.comm	_ZL5k4max,4,4
	.local	_ZL5k3max
	.comm	_ZL5k3max,4,4
	.local	_ZL5k2max
	.comm	_ZL5k2max,4,4
	.local	_ZL4kmax
	.comm	_ZL4kmax,4,4
	.align 4
	.type	_ZL8oneround, @object
	.size	_ZL8oneround, 4
_ZL8oneround:
	.long	100
	.local	_ZL6argfnd
	.comm	_ZL6argfnd,4,4
	.globl	stop
	.bss
	.align 8
	.type	stop, @object
	.size	stop, 8
stop:
	.zero	8
	.globl	start
	.align 8
	.type	start, @object
	.size	start, 8
start:
	.zero	8
	.local	_ZL8fst_gain
	.comm	_ZL8fst_gain,4,4
	.local	_ZL5nrslt
	.comm	_ZL5nrslt,4,4
	.local	_ZL5prslt
	.comm	_ZL5prslt,4,4
	.local	_ZL6orslt2
	.comm	_ZL6orslt2,4,4
	.local	_ZL5orslt
	.comm	_ZL5orslt,4,4
	.local	_ZL5rslt2
	.comm	_ZL5rslt2,4,4
	.local	_ZL4rslt
	.comm	_ZL4rslt,4,4
	.local	_ZL4omin
	.comm	_ZL4omin,4,4
	.local	_ZL4omax
	.comm	_ZL4omax,4,4
	.data
	.align 4
	.type	_ZL10MissingDat, @object
	.size	_ZL10MissingDat, 4
_ZL10MissingDat:
	.long	-9999
	.local	_ZL6skpchk
	.comm	_ZL6skpchk,4,4
	.align 4
	.type	_ZL7nLoCcnt, @object
	.size	_ZL7nLoCcnt, 4
_ZL7nLoCcnt:
	.long	1
	.local	_ZL6nerror
	.comm	_ZL6nerror,4,4
	.local	_ZL6nresol
	.comm	_ZL6nresol,4,4
	.align 4
	.type	_ZL5resol, @object
	.size	_ZL5resol, 4
_ZL5resol:
	.long	100
	.local	_ZL2jx
	.comm	_ZL2jx,4,4
	.local	_ZL4nLoC
	.comm	_ZL4nLoC,4,4
	.align 4
	.type	_ZL3LoC, @object
	.size	_ZL3LoC, 4
_ZL3LoC:
	.long	1059481190
	.local	_ZL7totprob
	.comm	_ZL7totprob,4,4
	.local	_ZL8tmp2_wts
	.comm	_ZL8tmp2_wts,4,4
	.local	_ZL5c4max
	.comm	_ZL5c4max,4,4
	.local	_ZL5c3max
	.comm	_ZL5c3max,4,4
	.local	_ZL5c2max
	.comm	_ZL5c2max,4,4
	.local	_ZL4cmax
	.comm	_ZL4cmax,4,4
	.local	_ZL8classval
	.comm	_ZL8classval,2008,32
	.local	_ZL8dmyclass
	.comm	_ZL8dmyclass,2008,32
	.local	_ZL4gain
	.comm	_ZL4gain,4,4
	.local	_ZL5bgain
	.comm	_ZL5bgain,4,4
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC1:
	.long	-971228160
	.align 4
.LC2:
	.long	1065353216
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC3:
	.long	2147483647
	.long	0
	.long	0
	.long	0
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC4:
	.long	0
	.long	1072693248
	.section	.rodata.cst16
	.align 16
.LC37:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 16
.LC45:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.section	.rodata.cst8
	.align 8
.LC46:
	.long	0
	.long	1086556160
	.align 8
.LC47:
	.long	0
	.long	1093567616
	.align 8
.LC64:
	.long	0
	.long	1063256064
	.align 8
.LC83:
	.long	0
	.long	1079574528
	.align 8
.LC86:
	.long	1202590843
	.long	1065646817
	.section	.rodata.cst4
	.align 4
.LC109:
	.long	1120403456
	.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:

/* CUDA version of the DBNN code for classification of stars, galaxies. The code was originally written by Prof. Sajeeth

Author: Ajay Vibhute

*/



#include <hip/hip_runtime.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <iostream>
using namespace std;
#include <stdlib.h>
#include<sys/times.h> // times() fun. is here.
#include <time.h>
#include <vector>
#define classes 500
#define max_resol 1600
#define features 100
#include"kernel.cu"
using std::vector;
/**************************
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

#include "vsipc.h"
***************************/

//#define oneround 100       //  Memory size.
//#define fst_gain 1.0 Moved to be a floating variable
static float bgain,gain,dmyclass[classes+2],classval[classes+2],cmax,c2max,c3max,c4max,tmp2_wts,totprob,oldj;
static float LoC=0.65;
static float nLoC=0.0;
static int jx=0, resol=100,nresol=0,nerror=0,nLoCcnt=1,skpchk=0,MissingDat=-9999;
static float omax,omin,rslt,rslt2,orslt,orslt2,prslt,nrslt,fst_gain;
clock_t start,stop;
static int argfnd, oneround=100,kmax,k2max,k3max,k4max,ans1,tcnt,rnn,rnd,i,j,k,l,n,m,p,c1cnt,c2cnt,pcnt,pocnt,invcnt,innodes=100,outnodes=100;
char fln[256],fltmp[256],urchoice,urchoicex,bcchoice,savedpar;
FILE *fl1,*fl2,*fl3,*fl4,*fl5,*fl6,*fl7,*fl8,*fl9,*fl10;
int main(int argv, char *argp[256])
/*
 Important note for revision in ver. 4.02
 Compute the bin center of gravities and the Kernel fit that holds the probability to
 find them. The slope of it should be used as bgain for each bin.
*/
/*
 You can now run dbnn in automated mode by specifying the parameters in 0.par and 1.par
 files. Also dbnn can now use the bin values from the saved apf file.
*/
{
	if(argv > 3)
	{
		argfnd=1;
		cout << "The selected option is " << *argp[3] <<"\n";    
		switch(*argp[3])
		{
			case '0':
				ans1=0;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
			else
			{ 
				cout << "No Parameter File... existing..";
				exit(1);
			}
			break;
			case '1':
				ans1=1;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
				if((fl2=fopen("1.par","r"))!=NULL)
				{
					fscanf(fl2,"%f",&gain);
					fscanf(fl2,"%d",&oneround);
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
			break;
			case '2':
				ans1=2;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
			break;
			case '3':
				ans1=3;
				if((fl2=fopen("0.par","r"))!=NULL)
				{
					fscanf(fl2,"%c\n",&bcchoice);  //Handle missing or out of range values? Y if yes. NEW in Ver 7
					fscanf(fl2,"%c\n",&urchoice);
					fscanf(fl2,"%c\n",&savedpar);
					fscanf(fl2,"%c\n",&urchoicex);
					if(bcchoice == 'Y'||bcchoice =='y')
					{
						fscanf(fl2,"%d\n",&skpchk);
						if(skpchk <0) MissingDat=skpchk;
						cout << "System  is configured for handling missing data with missing data indicator" << MissingDat <<"\n";
					}
					fclose(fl2);			
				}
				else
				{ 
					cout << "No Parameter File... existing..";
					exit(1);
				}
			break;
				default:
					cout << "Create the APF file(0) or Create the Weights file (1) or Classify Data(2,3) ?";
					cin >> ans1;
			break;
		}
    }
    else
    {
		argfnd=0;
		cout << "Create the APF file(0) or Create the Weights file (1) or Classify Data(2,3) ?";
		cin >> ans1;
    }
    if(ans1 == 2)
    {
		if(argfnd==1)
		bgain=0.0;
		else
		{
			cout << "Allowed relaxation on the boundary (in % use 0 for default from training data) :";
			cin >> bgain;
			bgain=bgain*1.0;
		}
    }
    else
    bgain= 0;  // During training we are strict on boundary constraints.
    if(argv < 3)
    {
		cout << "Enter the name of the input file without extension (dat) :";
		cin >> fln;
    }
    else
    {
		strcpy(fln,argp[1]);
    }
    strcpy(fltmp,fln);
    strcat(fltmp,".dat");
/*
  The structure of the data file is:
  Feature1 Feature2 Feature3 ....(etc upto innodes) ActualClass
  Feature1 Feature2 Feature3 ....(etc upto innodes) ActualClass
  Feature1 Feature2 Feature3 ....(etc upto innodes) ActualClass
  The delimiters are spaces and not tabs!!
  ActualClass should be a numeric > 0
*/
    if((fl1=fopen(fltmp,"r"))!=NULL)
    {
		strcpy(fltmp,fln);
	    strcat(fltmp,".inf");
/*
  The format of the info file is: (in each line enter)
  innodes
  outnodes
  margin   <- This addition is required for regression problems.
  1.0       <- You can give any real positive value here. It is just a label.
  2.0
  ... (etc. upto no of classes)
  0.65 <- The Margin or Line of Control for marginal values.
  100 <- By default, the maximum bin size is set to 100. You can change this if required.
  0,1,2 <- no error bars, uniform error bar, upper lower separate error values per entry.
*/	
     	if((fl2=fopen(fltmp,"r"))!=NULL)
	    {
			i=0;
			fscanf(fl2,"%d",&innodes);
			fscanf(fl2,"%d",&outnodes);
			for (i=0;i<=outnodes;i++) // dmyclass[0] contains margin others are expected values.
			fscanf(fl2,"%f",&dmyclass[i]);
			fscanf(fl2,"%f",&LoC);   // New parameter to specify the Line Of Control
			fscanf(fl2,"%d",&nresol);
			fscanf(fl2,"%d",&nerror);
			cout <<"You have "<< innodes << " input nodes and " << outnodes <<" Output nodes with " << "margin set to " << LoC << " and error levels set to "<< nerror <<"\n";
			cout << "The target outputs are\n";
			for (i=0;i<=outnodes;i++) cout << dmyclass[i] <<"\n";
			if(nresol >0) 
			{
				resol=nresol;cout << "The maximum binsize is: " << resol <<"\n";
			}	
			else
			{
				cout << "The maximum binsize is: " << resol<<"\n";
			}
			fst_gain*=1.0/outnodes;
	    }
	    else
	    {
			cout << "Unable to find the Info file. Exiting !!";
			exit(1);
	    }
  
    } // program ends.
    else   // data file read error.
    {
		cout << "Unable to open the data file";
		exit(1);
    }
    cout << "Going to initialise the arrays\n";
 /**************** Let us Define the Network Structure *********************************/
//float mask_disp_maxres; // Space to save max resol for normalisation of mask_dist
    strcpy(fltmp,fln);
    strcat(fltmp,".dat");

	int numlines=getNumlines(fltmp);
	printf("NUMLINES:%d\n",numlines);

	float vectso[innodes+outnodes+2],tmpv,max[innodes+2],min[innodes+2],vects[innodes+outnodes+2];
	float err1vects[innodes+2], err2vects[innodes+2];
	//float arr_vects[numlines][innodes+outnodes+2];
	float *arr_tmpv=(float*)malloc(sizeof(float)*(numlines+2));
	float *arr_vects=(float*)malloc(sizeof(float)*(numlines+2)*(innodes+outnodes+2));
	float *arr_err1vects=(float*)malloc(sizeof(float)*(numlines+2)*(innodes+2));
	float *arr_err2vects=(float*)malloc(sizeof(float)*(numlines+2)*(innodes+2));
	int totsize=(innodes+2)*(resol+2)*(innodes+2)*(resol+4)*(outnodes+2);
	int totsendreceivesize=(innodes+1)*(resol+2)*(innodes+1)*(resol+1)*(outnodes+1);
	float *arr_anti_wts=(float*) malloc(totsize*sizeof(float));
	int *arr_anti_net=(int*)malloc(sizeof(int)*totsize);
	int ik=innodes+1,jk=resol+1,lk=innodes+1,mk=resol+1,kk=outnodes+1;
	int resolution[innodes+8];
	float classtot[innodes+2][resol+2];           // Total Prob. computed
	if(classtot==NULL){cout << "Out of Memory to Run Code at classtot.. Exiting\n";exit(1);}
	//float binloc[innodes+4][resol+8];
	float *arr_binloc=(float*)malloc(sizeof(float)*(innodes+4)*(resol+8));
	int rn=resol+1;
	int iin=innodes+4;





  /***************************Let us put up the Network***********************************/
//    Start the counter for case 2 here.................
	start = times(NULL);
	if (ans1==0)
	{
		n=0;
	    omax=-400;
	    omin=400;
	    while (!feof(fl1))
		{
			skpchk=0;
			for(i=1;i<=innodes;i++)
			if (n==0)
			{
			fscanf(fl1,"%f",&vects[i]); 
			if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
			if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]); err2vects[i]=err1vects[i];} 
			if(vects[i] != MissingDat)
				{
					min[i]=vects[i];
					max[i]=vects[i];
				}
				else max[i]=MissingDat;
			}
			else
			{
				fscanf(fl1,"%f",&vects[i]);
				if(vects[i] != MissingDat)
				{
					if( vects[i]> max[i]) max[i]=vects[i];
					if (min[i] > vects[i]) min[i]=vects[i];
				}
			}
			fscanf(fl1,"%f\n",&tmpv);
			if(tmpv>omax) omax = tmpv;
			if(tmpv<omin) omin =tmpv;
			k=1;
			j=1;
			n++;
		}
		cout << "No of vectors =" << n <<" and i/n is= " << 1.0/n << "\n";
		for(i=1;i<=innodes;i++)
		{
			if(min[i]==max[i])if(min[i]!=0){min[i]= -1.0*max[i];}else{min[i]=0.0; max[i]=1.0;}
		}
		if(argfnd==0)
		{
			cout <<"Do you want to use the saved parameters (Y/N)? ";
			cin >>savedpar;
		}
		if (savedpar == 'y') savedpar='Y';
		else
		if(savedpar == 'n') savedpar='N';
		if((savedpar == 'Y') || (savedpar=='y'))
		{
			strcpy(fltmp,fln);
			strcat(fltmp,".apf");
			fl2=NULL;
			if((fl2=fopen(fltmp,"r"))!=NULL)
			{
				cout << "Reading from the saved information\n";
				for (i=1;i<=innodes;i++)
				{
					fscanf(fl2,"%d",&resolution[i]);
					for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;
				}
				cout << innodes << " items read from " << fltmp <<"\n";
			}
			else
			{
				cout << "ERROR: File " << fltmp << " not found" << "\n";
				exit(1);
			}
		}
		else
		for(i=1;i<=innodes;i++)
		{
			if(min[i]==max[i])if(min[i]!=0){min[i]= -1.0*max[i];}else{min[i]=0.0; max[i]=1.0;}
			cin >> resolution[i];
			for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;

		}
		for(k=1;k<=outnodes;k++)
		for(i=1;i<=innodes;i++)
		for(j=0;j<=resolution[i];j++)
		for(l=1;l<=innodes;l++)
		for(m=0;m<=resolution[l];m++)
		{
			//anti_net[i][j][l][m][k]=1;
			//anti_wts[i][j][l][m][k]=(float)(1.0);
			arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]=(double)(1.0);
			arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]=1;
		}
      // Start the counter now...............
		start = times(NULL);
		rewind(fl1);
tcnt=0;
		while (!feof(fl1))
		{
			tcnt++;
            		for (i=1;i<=innodes;i++) 
            		{
				fscanf(fl1,"%f",&vects[i]); 
				if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
				if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]);err2vects[i]=err1vects[i];} 
			}
			fscanf(fl1,"%f\n",&tmpv);
			for(i=1;i<=innodes;i++)
			{
				if((vects[i] != MissingDat)&&(max[i] !=MissingDat))
				{
					vectso[i]=vects[i];
					vects[i]=round((vects[i]-min[i])/(max[i]-min[i])*resolution[i]);
					err1vects[i]=round((err1vects[i])/(max[i]-min[i])*resolution[i]);
					err2vects[i]=round((err2vects[i])/(max[i]-min[i])*resolution[i]);
				}
			}
			for (i=1;i<=innodes;i++)
			{
				j=0;
				if(vects[i] != MissingDat)
				{
//					oldj=(float)2*resolution[i];

					while ((fabs(vects[i]-arr_binloc[(i*rn)+(j+1)]) >=1.0 )&& (j<= resolution[i]))
					{
	//					oldj=fabs(vects[i]-binloc[i][j+1]);
						j++;
					}
					for (l=1;l<=innodes;l++)
					{
						m=0;
						if(i!=l)
						{
//							oldj=(float)2*resolution[l];
							while ((fabs(vects[l]-arr_binloc[(l*rn)+(m+1)]) >=1.0)&& (m<= resolution[l]))
							{
	//							oldj=fabs(vects[l]-binloc[l][m+1]);
								m++;
							}
							k=1;
							while ((k<=outnodes)&&(fabs(tmpv - dmyclass[k])) > dmyclass[0]) k++;
							//(anti_net[i][j][l][m][k])++;
							//(anti_net[i][j][l][m][0])++;
							(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)])++;
							(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)])++;


						}

					}
				}
			}
		}//end of while
		fclose(fl1);
		fclose(fl2);
		stop = times(NULL);
		cout << "The computation took " << fabs(start - stop)*10000/(CLOCKS_PER_SEC) << " Secs.\n";
         /*
            The conditional Probability,
	    P(A|B) = P(A intersection B)/P(B) is the
	    probability for the occurance of A(k) if B(ij) has happened =
	    Share of B(ij) that is held by A(k) / Probability of total B(ij)
	    in that particular feature i with resolution j.

                      */
		strcpy(fltmp,fln);
		strcat(fltmp,".awf");      // This file holds the weights
		fl6=fopen(fltmp,"w+");
		strcpy(fltmp,fln);
		strcat(fltmp,".apf");     // This file holds the estimated probability
		if((fl1=fopen(fltmp,"w+"))!=NULL)
		{
			for(i=1;i<=innodes;i++) fprintf(fl1,"%d ",resolution[i]);
			fprintf(fl1,"\n%f %f \n",omax,omin);
			for(i=1;i<=innodes;i++) fprintf(fl1,"%f ",max[i]);
			fprintf(fl1,"\n");
			for(i=1;i<=innodes;i++) fprintf(fl1,"%f ",min[i]);
			fprintf(fl1,"\n");
			for(k=1;k<=outnodes;k++)
			{
				for(i=1;i<=innodes;i++)
				for(j=0;j<=resolution[i];j++)
				{
					for(l=1;l<=innodes;l++)
					if(i!=l)
					{
						for(m=0;m<=resolution[l];m++)
						{
							//fprintf(fl1,"%d ",anti_net[i][j][l][m][k]);
							//fprintf(fl6,"%f ",(float)anti_wts[i][j][l][m][k]);

							fprintf(fl1,"%d ",arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
							fprintf(fl6,"%f ",(float)arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
						}
						fprintf(fl6,"\n");
						fprintf(fl1,"\n");
					}
				}
				fprintf(fl6,"\n");
				fprintf(fl1,"\n");
			}
			fprintf(fl6,"\n");
			fprintf(fl1,"\n");
		}
		else
		{
			cout << "Unable to create file for output\n";
			exit(1);
		}
		for(i=1;i<=innodes;i++)
		for(j=1;j<=resolution[i];j++)
		fprintf(fl6,"%f\n", (float)arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.
		fclose(fl1);
		fclose(fl6);
		fflush(NULL);
		cout << "Creating the Anticipated Weights data file\n";
	}
/**********************************End of Case 0 ******************************/












	if(ans1==1)
	{
		start = times(NULL);
		pcnt=0;
		pocnt=0;
		rslt=0.0;
		rslt2=0.0;
		orslt=rslt;
		orslt2=rslt2;

		for(i=0;i<totsize;i++)
			arr_anti_wts[i]=0;
		cout << "The programe will now modify the compensatory weights\n";
		if(argfnd==0)
		{
			cout << "Please enter the gain:";
			cin >> gain;
			cout << "Please enter the number of training epochs:";
			cin >> oneround;
		}
		// Start the counter in this round here...................
		start = times(NULL);
		strcpy(fltmp,fln);
		strcat(fltmp,".awf");
		if((fl6=fopen(fltmp,"r"))!=NULL)
		{
			strcpy(fltmp,fln);
			strcat(fltmp,".apf");
			fl2=NULL;
			if((fl2=fopen(fltmp,"r"))!=NULL)
			{
				for (i=1;i<=innodes;i++)
				{
					fscanf(fl2,"%d",&resolution[i]);
					for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;
				}

				fscanf(fl2,"\n%f",&omax);
				fscanf(fl2,"%f",&omin);
				fscanf(fl2,"\n");
				for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&max[i]);
				fscanf(fl2,"\n");
				for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&min[i]);
				fscanf(fl2,"\n");
				for(i=1;i<=innodes;i++)for(j=0;j<=resolution[i];j++)
				//for(l=1;l<=innodes;l++)for(m=0;m<=resolution[l];m++) anti_net[i][j][l][m][0] =0;
				for(l=1;l<=innodes;l++)for(m=0;m<=resolution[l];m++) arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)] =0;
				int ijk=0;
				for(k=1;k<=outnodes;k++)
				{
					for(i=1;i<=innodes;i++)
					for(j=0;j<=resolution[i];j++)
					{
						for(l=1;l<=innodes;l++)
						if(i!=l)
						{
							for(m=0;m<=resolution[l];m++)
							{
								ijk++;
								//fscanf(fl2,"%d",&anti_net[i][j][l][m][k]);
								//anti_net[i][j][l][m][0]+=anti_net[i][j][l][m][k];
								//fscanf(fl6,"%f",&anti_wts[i][j][l][m][k]);
								fscanf(fl2,"%d",&arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
								arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)]+=arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)];
								fscanf(fl6,"%f",&arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
							}
							fscanf(fl2,"\n");
							fscanf(fl6,"\n");
						}
					}
					fscanf(fl2,"\n");
					fscanf(fl6,"\n");
				}

				for(i=1;i<=innodes;i++)
				for(j=1;j<=resolution[i];j++)
					fscanf(fl6,"%f\n", &arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.

			}
			else
			{
				cout << "Unable to Open the APF information file\n";
				exit(1);
			}
			fclose(fl2);
		}
		else
		{
			cout << "Unable to Open the AWF information file\n";
			exit(1);
		}
		fclose(fl6);
		/*GPU Memory allocation*/

		int *d_arr_anti_net,*d_resolution;
		float *d_arr_anti_wts,*d_arr_tmpv,*d_arr_vects,*d_arr_err1vects,*d_arr_err2vects,*d_min,*d_max,*d_arr_binloc,*d_dmyclass;
		float *d_rslt,*d_rslt2,*tmp_rslt,*tmp_rslt2;
		int *d_pcnt,*tmp_pcnt,chunksize=0;
		hipError_t status ;
		tmp_pcnt=(int*)malloc(sizeof(int)*numlines);
		tmp_rslt=(float*)malloc(sizeof(float)*numlines);
		tmp_rslt2=(float*)malloc(sizeof(float)*numlines);
		for(i=0;i<numlines;i++)
			tmp_pcnt[i]=0;
		
		//allocate memory on GPU
		status=hipMalloc((void **)&d_pcnt,sizeof(int)*(numlines+10));
		status=hipMemset(d_pcnt, 0, sizeof(int)*(numlines+10));
		status=hipMalloc((void **)&d_rslt,sizeof(float)*(numlines+10));
		status=hipMemset(d_rslt, 0, sizeof(float)*(numlines+10));
		status=hipMalloc((void **)&d_rslt2,sizeof(float)*(numlines+10));
		status=hipMemset(d_rslt2, 0, sizeof(float)*(numlines+10));

		status=hipMalloc((void **)&d_arr_anti_net,sizeof(int)*totsize);
		status=hipMemset(d_arr_anti_net, 0, sizeof(int)*totsize);
		status=hipMalloc((void **)&d_resolution,sizeof(int)*(innodes+8));
		status=hipMemset(d_resolution, 0, sizeof(int)*(innodes+8));

		status=hipMalloc((void **)&d_arr_anti_wts,sizeof(float)*totsize);
		status=hipMemset(d_arr_anti_wts, 0, sizeof(int)*totsize);

		status=hipMalloc((void **)&d_arr_tmpv,sizeof(float)*(numlines+2));
		status=hipMemset(d_arr_tmpv, 0, sizeof(float)*(numlines+2));

		status=hipMalloc((void **)&d_arr_vects,sizeof(float)*(numlines+2)*(innodes+outnodes+2));
		status=hipMemset(d_arr_vects, 0, sizeof(float)*(numlines+2)*(innodes+outnodes+2));

		status=hipMalloc((void **)&d_arr_err1vects,sizeof(float)*(numlines+2)*(innodes+2));
		status=hipMemset(d_arr_err1vects, 0, sizeof(float)*(numlines+2)*(innodes+2));

		status=hipMalloc((void **)&d_arr_err2vects,sizeof(float)*(numlines+2)*(innodes+2));
		status=hipMemset(d_arr_err2vects, 0, sizeof(float)*(numlines+2)*(innodes+2));

		status=hipMalloc((void **)&d_min,sizeof(float)*(innodes+2));
		status=hipMemset(d_min, 0, sizeof(float)*(innodes+2));

		status=hipMalloc((void **)&d_max,sizeof(float)*(innodes+2));
		status=hipMemset(d_max, 0,sizeof(float)*(innodes+2));

		status=hipMalloc((void **)&d_arr_binloc,sizeof(float)*(innodes+4)*(resol+8));
		status=hipMemset(d_arr_binloc, 0, sizeof(float)*(innodes+4)*(resol+8));

		status=hipMalloc((void **)&d_dmyclass,sizeof(float)*(classes+2));
		status=hipMemset(d_dmyclass, 0, sizeof(float)*(classes+2));

		if (status != hipSuccess)
			printf("Error in cuda memory allocation\n");


		for(rnd=0;rnd<=oneround;rnd++)     // Training round starts here....
		{
			if((n==pocnt)&& (n>0)){ printf("breaking\n"); break;}
			strcpy(fltmp,fln);
			strcat(fltmp,".dat");
			fl1=fopen(fltmp,"r");
			n=0;
			rslt=0.0;
			rslt2=0.0;
			pcnt=0;
			int cindex=0;
			for(cindex=0;cindex<numlines;cindex++)
			{
				for(k=1;k<=outnodes;k++) classval[k]=1.0;
				n++;
				if(ans1==3)
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"\n");
				}
				else
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&arr_err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);arr_err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"%f\n",&arr_tmpv[cindex]);
				}
			}
			fclose(fl1);

			hipMemcpy(d_arr_anti_net,arr_anti_net,sizeof(int)*totsize,hipMemcpyHostToDevice);
			hipMemcpy(d_resolution,resolution,sizeof(int)*(innodes+8),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_anti_wts,arr_anti_wts,sizeof(float)*totsize,hipMemcpyHostToDevice);
			hipMemcpy(d_arr_tmpv,arr_tmpv,sizeof(float)*(numlines+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_vects,arr_vects,sizeof(float)*(numlines+2)*(innodes+outnodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_err1vects,arr_err1vects,sizeof(float)*(numlines+2)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_err2vects,arr_err2vects,sizeof(float)*(numlines+2)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_min,min,sizeof(float)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_max,max,sizeof(float)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_binloc,arr_binloc,sizeof(float)*(innodes+4)*(resol+8),hipMemcpyHostToDevice);
			hipMemcpy(d_dmyclass,dmyclass,sizeof(float)*(classes+2),hipMemcpyHostToDevice);


			int numblocks=ceil(numlines/512.0);
			kernel1(numlines,arr_tmpv,min,max,resolution,arr_vects,arr_err1vects,arr_err2vects,arr_binloc,rn,arr_anti_net,arr_anti_wts,dmyclass,gain,innodes,resol,outnodes,nerror,rnd);

			strcpy(fltmp,fln);
			strcat(fltmp,".dat");
			fl1=fopen(fltmp,"r");

			m=n;
			n=0;
			rslt=0.0;
			rslt2=0.0;
			pcnt=0;


//			while (!feof(fl1))                    // Test round...
			for(cindex=0;cindex<numlines;cindex++)
			{
				n++;

				if(ans1==3)
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&arr_err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);arr_err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"\n");
				}
				else
				{
					for (i=1;i<=innodes;i++)
					{
						fscanf(fl1,"%f",&arr_vects[(cindex*innodes)+i]);
						if(nerror ==2){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);fscanf(fl1,"%f",&arr_err2vects[(cindex*innodes)+i]);}else
						if(nerror ==1){fscanf(fl1,"%f",&arr_err1vects[(cindex*innodes)+i]);arr_err2vects[(cindex*innodes)+i]=arr_err1vects[(cindex*innodes)+i];}
					}
					fscanf(fl1,"%f\n",&arr_tmpv[cindex]);
				}

			}
			fclose(fl1);
			i=0;

			status=hipMemset(d_pcnt, 0, sizeof(int)*(numlines+10));
			status=hipMemset(d_rslt, 0, sizeof(float)*(numlines+10));
			status=hipMemset(d_rslt2, 0, sizeof(float)*(numlines+10));
			//copy the results
			hipMemcpy(d_resolution,resolution,sizeof(int)*(innodes+8),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_tmpv,arr_tmpv,sizeof(float)*(numlines+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_vects,arr_vects,sizeof(float)*(numlines+2)*(innodes+outnodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_err1vects,arr_err1vects,sizeof(float)*(numlines+2)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_err2vects,arr_err2vects,sizeof(float)*(numlines+2)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_min,min,sizeof(float)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_max,max,sizeof(float)*(innodes+2),hipMemcpyHostToDevice);
			hipMemcpy(d_arr_binloc,arr_binloc,sizeof(float)*(innodes+4)*(resol+8),hipMemcpyHostToDevice);
			hipMemcpy(d_dmyclass,dmyclass,sizeof(float)*(classes+2),hipMemcpyHostToDevice);

			if((status = hipGetLastError()) != hipSuccess)
			{
				printf("Error(%s:%d) %s\n",__FILE__,__LINE__,hipGetErrorString(status));
			}

			numblocks=ceil(numlines/512.0);
			kernel2<<<numblocks,512>>>(numlines,d_arr_tmpv,d_min,d_max,d_resolution,d_arr_vects,d_arr_err1vects,d_arr_err2vects,d_arr_binloc,rn,d_arr_anti_net,d_arr_anti_wts,d_dmyclass,gain,innodes,resol,outnodes,nerror,rnd,d_pcnt,d_rslt,d_rslt2);


			if((status = hipGetLastError()) != hipSuccess)
			{
				printf("%s\n",hipGetErrorString(status));
			}
			hipMemcpy(tmp_pcnt,d_pcnt,sizeof(int)*numlines,hipMemcpyDeviceToHost);
			if((status = hipGetLastError()) != hipSuccess)
			{
				printf("%s\n",hipGetErrorString(status));
			}
			hipMemcpy(tmp_rslt,d_rslt,sizeof(float)*numlines,hipMemcpyDeviceToHost);
			if((status = hipGetLastError()) != hipSuccess)
			{
				printf("%s\n",hipGetErrorString(status));
			}
			hipMemcpy(tmp_rslt2,d_rslt2,sizeof(float)*numlines,hipMemcpyDeviceToHost);
			if((status = hipGetLastError()) != hipSuccess)
			{
				printf("%s\n",hipGetErrorString(status));
			}

			pcnt=0;
			rslt=0;
			rslt2=0;
			for(i=0;i<numlines;i++)
			{
				pcnt+=tmp_pcnt[i];
				rslt+=tmp_rslt[i];
				rslt2+=tmp_rslt2[i];
			}



			printf("rnd:%d\trslt:%f\tRslt2:%f\tOrslt2:%f\tpcnt:%d\n",rnd,rslt,rslt2,orslt2,pcnt);

			kmax=1;
			if(orslt2==0) orslt2=rslt2;
			if(orslt==0) orslt=rslt;

			prslt=(rslt2-orslt2);
			if(rslt > 0)
			nrslt=(orslt/rslt);
			if(pcnt>pocnt)
			{
				rnn=rnd;
				pocnt=pcnt;   // The best result is now saved in pocnt
				strcpy(fltmp,fln);
				strcat(fltmp,".awf");
				fl6=fopen(fltmp,"w+");
				kmax=1;
				for(k=1;k<=outnodes;k++)
				{
					for(i=1;i<=innodes;i++)
					for(j=0;j<=resolution[i];j++)
					{
						for(l=1;l<=innodes;l++)
						if(i!=l)
						{
							for(m=0;m<=resolution[l];m++)
							{
								//fprintf(fl6,"%f ",anti_wts[i][j][l][m][k]);
								fprintf(fl6,"%f ",arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);

							}
							fprintf(fl6,"\n");
						}
					}
					fprintf(fl6,"\n");
				}
				fprintf(fl6,"\n");
				for(i=1;i<=innodes;i++)
				for(j=1;j<=resolution[i];j++)
				fprintf(fl6,"%f\n", arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.
				fflush(fl6);
				fclose(fl6);
				cout << "Round:" << rnn << "| TProb["<<prslt<<"," <<nrslt<<"] | Passed count:" << pocnt << endl;
				if(orslt2 <rslt2) orslt2=rslt2;
				if(rslt < orslt) orslt=rslt;
			}
			n=m;
		}  //rnd inc.
		fl6=NULL;
		cout << "Best result at round " << rnn<< endl;
	}  // ans <> 1
/***********************************End of Case 1*******************************/







    strcpy(fltmp,fln);
    strcat(fltmp,".dat");
    fl1=fopen(fltmp,"r");
    strcpy(fltmp,fln);
    strcat(fltmp,".awf");
    fl6=NULL;
    fl6=fopen(fltmp,"r");
    strcpy(fltmp,fln);
    strcat(fltmp,".apf");
    fl2=NULL;
    if((fl2=fopen(fltmp,"r"))!=NULL)
	{
		cout << "Creating the Anticipated Network outputs\n";
		for (i=1;i<=innodes;i++)
		{ 
			fscanf(fl2,"%d",&resolution[i]);
			for(j=0;j<=resolution[i];j++) arr_binloc[(i*rn)+(j+1)]=j*1.0;
		}
		fscanf(fl2,"%f",&omax);
		fscanf(fl2,"%f",&omin);
		fscanf(fl2,"\n");
        for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&max[i]);
        fscanf(fl2,"\n");
    	for(i=1;i<=innodes;i++) fscanf(fl2,"%f",&min[i]);
		fscanf(fl2,"\n");
		for(i=1;i<=innodes;i++)for(j=0;j<=resolution[i];j++) 
		for(l=1;l<=innodes;l++)for(m=0;m<=resolution[l];m++) arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)] =0;
        for(k=1;k<=outnodes;k++)
        {
			for(i=1;i<=innodes;i++)
			for(j=0;j<=resolution[i];j++)
			{
				for(l=1;l<=innodes;l++)
				if(i!=l)
				{
					for(m=0;m<=resolution[l];m++)
					{

						fscanf(fl2,"%d",&arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
						fscanf(fl6,"%f",&arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
						arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)]+=(float)(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]);
					}
					fscanf(fl2,"\n");
					fscanf(fl6,"\n");
				}
			}
			fscanf(fl2,"\n");
			fscanf(fl6,"\n");
		}
    }
    else
    {
		cout << "Unable to Open the APF information file";
		exit(1);
    }
    for(i=1;i<=innodes;i++)
    for(j=1;j<=resolution[i];j++)
    {
		fscanf(fl6,"%f\n",&arr_binloc[(i*rn)+(j)]);                 /// Let us print the bins.
    }
    fclose(fl6);
    fl4=fopen("output.dat","w+");  // Network Output values
    cout << "Read all input parameters\n";
// *********** case 3 ***********************************************
    if (ans1 !=3)
    {
		fl5=fopen("actual.dat","w+");  // Expected Output Values
		strcpy(fltmp,fln);
		strcat(fltmp,argp[2]);
		strcpy(fltmp,fln);
		strcat(fltmp,argp[2]);
		strcat(fltmp,".cmp");         // Lets see how well the classification went.
		fl7=fopen(fltmp,"w+");
		fprintf(fl7,"Sample         Predicted     Actual            Prediction \n");
		fprintf(fl7," No.       Ist 2nd  3rd  4th  item             Confidence\n");
		c1cnt=0;
		c2cnt=0;
		invcnt=0;
		n=0;
    }
 // Create classtot values ***********************
    while (!feof(fl1))
	{
		n++;
		cmax= 0.0;
		c2max=0.0;
		c3max=0.0;
		c4max=0.0;
		kmax=0;
		k2max=0;
		k3max=0;
		k4max=0;
        classval[0]=0.0;
	    if(ans1==3)
	    {
			for (i=1;i<=innodes;i++) 
			{
				fscanf(fl1,"%f",&vects[i]);
				if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
				if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]);err2vects[i]=err1vects[i];} 
			}
			fscanf(fl1,"\n");
	    }
	    else
	    {
			for (i=1;i<=innodes;i++) 
			{
				fscanf(fl1,"%f",&vects[i]);
				if(nerror ==2){fscanf(fl1,"%f",&err1vects[i]);fscanf(fl1,"%f",&err2vects[i]);}else
				if(nerror ==1){fscanf(fl1,"%f",&err1vects[i]);err2vects[i]=err1vects[i];} 
			}
			fscanf(fl1,"%f\n",&tmpv);
	    }
        skpchk=0;
	    for(i=1;i<=innodes;i++)
        {
			vectso[i]=vects[i]; 
            if((((max[i]-min[i]) >0)&& (vects[i] !=MissingDat))&&(max[i] !=MissingDat)) 
            {
				vects[i]=round(((vects[i]-min[i])/(max[i]-min[i]))*resolution[i]);
				err1vects[i]=round((err1vects[i])/(max[i]-min[i])*resolution[i]);
				err2vects[i]=round((err2vects[i])/(max[i]-min[i])*resolution[i]);
				skpchk=0;
		    }
            else
            skpchk=1;
        }
		for(k=1;k<=outnodes;k++) classval[k]=1.0; tmp2_wts=1.0;
 		for (i=1;i<=innodes;i++)
		{
			j=0;
            if(vects[i]==MissingDat)
				skpchk=1;
            else
				skpchk=0;
            if ((resolution[i] >= vects[i]) &&(skpchk==0))
            {
                while ((fabs(vects[i]-arr_binloc[(i*rn)+(j+1)]) >=1.0)&& (j<= resolution[i]))
                {
                    j++;
                }
                jx=0;
            }
			else
			{
//NSP_added jx=-1;				  
			  jx=1;
			}
	        for (l=1;l<=innodes;l++)
	        {
				if((i!=l) && (jx==0))
				{
					m=0;
					if((vects[l]==MissingDat)||(vects[i]==MissingDat))
						skpchk=1;
					else
						skpchk=0;
					if ((resolution[l] >= vects[l]) &&(skpchk==0))
					{
						while ((fabs(vects[l]-arr_binloc[(l*rn)+(m+1)]) >=1.0)&& (m<= resolution[l]))
						{       
							m++;
						}
					}
					for (k=1;k<=outnodes;k++)
					{

						if(jx==0){tmp2_wts=(float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)];}else{tmp2_wts=1.0/outnodes;}
						if(nerror ==2) 
						{
							for(p=(m-(int)err1vects[l]);p<=(m+(int)err2vects[l]);p++)
							{

								if(p<0) p=0; if(p>resolution[l]) break;
								if ((float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(p*kk)+k)] > tmp2_wts)
								m=p;
							}
						}
						if(nerror ==1) 
						{
							for(p=(m-(int)err1vects[l]);p<=(m+(int)err1vects[l]);p++)
							{

								if(p<0) p=0; if(p>resolution[l]) break;
								if ((float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(p*kk)+k)] > tmp2_wts)
								m=p;
							}
						}

						if((arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)] > 0) && (resolution[i]>= vects[i])&& (resolution[l]>= vects[l])&&(skpchk==0))
						{

							if(jx==0){tmp2_wts=(float)arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]*arr_anti_wts[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+k)]*1.0/(arr_anti_net[((i*jk*lk*mk*kk)+(j*lk*mk*kk)+(l*mk*kk)+(m*kk)+0)]);}
							else{tmp2_wts=1.0/outnodes;}
						}
						else
						if(skpchk == 1)   // || bcchoice == 'y')
						{
							tmp2_wts= 1.0; //(float)1.0/outnodes; //1.0; //
						}
						else
						{
							tmp2_wts=(float)1.0/outnodes;
						}
						if((resolution[i] >= vects[i])&& (resolution[l]>= vects[l])&&(skpchk==0))
						{
							classval[k]*=(float)tmp2_wts;
						}
					}
					totprob=0;
					for(k=1;k<=outnodes;k++) totprob+=classval[k];
					if (totprob==0) {totprob=innodes*outnodes; cout <<"Caution!! Item did not have known types\n";}
					for(k=1;k<=outnodes;k++) classval[k]=classval[k]/totprob;
 				
				}
			}
	    }
       cmax=0.0;
        c2max=0.0;
        c3max=0.0;
        k3max=0.0;
        kmax=0.0;
        k2max=0.0;
	    totprob=0.0;
	    for (k=1;k<=outnodes;k++)
	    {
			if (classval[k] > cmax)
	        {
				c4max=c3max;
				k4max=k3max;
				c3max=c2max;
				k3max=k2max;
                c2max=classval[kmax];
	            k2max=kmax;
	            cmax=classval[k];
	            kmax=k;
            }
            else
            if (classval[k]>c2max)
            {
				c4max=c3max;
				k4max=k3max;
				c3max=c2max;
				k3max=k2max;
                c2max=classval[k];
	            k2max=k;
            }
           else
            if (classval[k]>c3max)
            {
				c4max=c3max;
				k4max=k3max;
                c3max=classval[k];
	            k4max=k;
            }
           else
            if (classval[k]>c4max)
            {
                c4max=classval[k];
	            k4max=k;
            }
	        totprob += (float)classval[k];
        }
	    if(totprob <=0.0) totprob=innodes*outnodes;
        if(ans1 ==3)
		{
			if (dmyclass[(int)kmax]- (int)dmyclass[(int)kmax] ==0.0)
			{
				fprintf(fl4,"%d  %d %-5.2f %d %-5.2f %d %-5.2f %d %-5.2f",n, (int)dmyclass[(int)kmax],100.0*((classval[kmax])/totprob),(int)dmyclass[(int)k2max],100.0*((classval[k2max])/totprob),(int)dmyclass[(int)k3max],100.0*((classval[k3max])/totprob),(int)dmyclass[(int)k4max],100.0*((classval[k4max])/totprob));
		    }
		    else
		    {
				fprintf(fl4,"%d  %f %-5.2f %f %-5.2f %f %-5.2f %f %-5.2f",n, dmyclass[(int)kmax],100.0*((classval[kmax])/totprob),dmyclass[(int)k2max],100.0*((classval[k2max])/totprob),dmyclass[(int)k3max],100.0*((classval[k3max])/totprob),dmyclass[(int)k4max],100.0*((classval[k4max])/totprob));
            }
			if((fabs(classval[kmax]-classval[k2max]))<0.01*classval[kmax]) //classval[kmax])
			{
				nLoC+=classval[kmax]/totprob;
	            nLoCcnt++;
				if(classval[kmax]>totprob*LoC)    //LoC)
				{
					fprintf(fl4, " <-- Either of it"); 
				}
				else
				{
					fprintf(fl4, " <-- Rejected");
				}
			}
			else
			{
				if(classval[kmax]>totprob*LoC)    //LoC)
				{
					fprintf(fl4, " <-- confident");
				}
				else
				{
					fprintf(fl4, " <-- Rejected");
				}
			}
			fprintf(fl4,"\n");
		}
		if(ans1 !=3)
		{
			if (dmyclass[(int)kmax]- (int)dmyclass[(int)kmax] ==0.0)
			{
				fprintf(fl4,"%d  %d\n",n, (int)dmyclass[(int)kmax]);
				fprintf(fl7, "%-8d    %d   %d     %d  %d     %d   ",n,(int)dmyclass[(int)kmax],(int)dmyclass[(int)k2max],(int)dmyclass[(int)k3max],(int)dmyclass[(int)k4max],(int)tmpv);
		    }
		    else
		    {
				fprintf(fl4,"%d  %f\n",n, dmyclass[(int)kmax]);
				fprintf(fl7, "%-8d    %f   %f     %f    %f     %f    ",n,dmyclass[(int)kmax],dmyclass[(int)k2max],dmyclass[(int)k3max],dmyclass[(int)k4max],tmpv);
	        }
			if(fabs(dmyclass[kmax]-tmpv) >= dmyclass[0])
			{
				if (classval[kmax]==0.0)
				{
					invcnt++;
                    fprintf(fl7, "%-5.2f %% <-Out of range %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob));
				}
				else
				{
					if (fabs(dmyclass[k2max]-tmpv) < dmyclass[0])
					{
						if((fabs(classval[kmax]-classval[k2max]))<0.01*classval[k2max]) //classval[kmax])
						{
							nLoC+=classval[kmax]/totprob;
							nLoCcnt++;
							if (classval[kmax]>totprob*LoC) // LoC)
							{
								c2cnt++;  // No more differences. NSP (OCT 2001)
								fprintf(fl7, "%-5.2f %% <-F(1)P(2) %-5.2f %%  %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
							}
							else
							{
								fprintf(fl7, "%-5.2f %%  <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
								invcnt++;
							}
						}
						else
						{
							if (classval[kmax]>totprob*LoC) // LoC)
							{
								fprintf(fl7, "%-5.2f %% <-Failed %-5.2f %%  %-5.2f %%  %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
							}
							else
							{
								fprintf(fl7, "%-5.2f %% <-FMC %-5.2f %%  %-5.2f %%  %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
								invcnt++;
							}
						}
					}
					else
					{
						if (classval[kmax]>totprob*LoC) // LoC)
						{
							fprintf(fl7, "%-5.2f %% <-Failed %-5.2f %%  %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
						}
						else
						{
							fprintf(fl7, "%-5.2f %% <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
							invcnt++;
						}
					}
				}
			}
			else
			{
				if((fabs(classval[kmax]-classval[k2max]))<0.01*classval[kmax])
				{
					nLoC+=classval[kmax]/totprob;
					nLoCcnt++;
					if (classval[kmax]>totprob*LoC) // LoC)
					{
						fprintf(fl7, "%-5.2f %% <-P(1)F(2) %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
						c1cnt++;
					}
					else
					{
						invcnt++;
						fprintf(fl7, "%-5.2f %% <-PMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
					}
				}
				else
				{ 
					if (classval[kmax]>totprob*LoC) // LoC)
					{
						fprintf(fl7, "%-5.2f %% <-Passed %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
						c1cnt++;
					}
					else
					{
						invcnt++;
						fprintf(fl7, "%-5.2f %% <-PMC %-5.2f %% %-5.2f %% %-5.2f %% \n",100.0*((classval[kmax])/totprob),100.0*((classval[k2max])/totprob),100.0*((classval[k3max])/totprob),100.0*((classval[k4max])/totprob));
					}
				}
			}
			fprintf(fl5,"%d %e \n",n,(float) tmpv);
		} // ans1 != 3 ends here ******************
	}
	cout << "The suggested LoC is " << nLoC/nLoCcnt << "\n";
	fclose(fl1);
	fclose(fl2);
	fclose(fl4);
	if(ans1 < 3)
	{
		strcpy(fltmp,fln);
//	   tmp2_wts=0.0;
		fclose(fl5);
		fprintf(fl7,"*________________________________________________________________________\n");
		fprintf(fl7,"*Total    Success in   Success in   Non classified   Real success in    \n");
		cout << "*________________________________________________________________________\n";
		cout << "*Total    Success in   Success in   Non classified   Real success in    \n";
		if (outnodes > 3)
	    {
			fprintf(fl7,"* No.    Ist Choice  2nd Choice     items           two chances    \n");
     		fprintf(fl7,"* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt+c2cnt)/(n-invcnt));
     		cout << "* No.    Ist Choice  2nd Choice     items           two chances    \n";
     		printf("* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt+c2cnt)/(n-invcnt));
     	}
     	else
     	{
			fprintf(fl7,"* No.    Ist Choice  2nd Choice     items           First chance    \n");
     		fprintf(fl7,"* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt)/(n-invcnt));
     		cout << "* No.    Ist Choice  2nd Choice     items           First chance    \n";
     		printf("* %d       %d          %d           %d             %-5.2f %% \n",n,c1cnt,c2cnt,invcnt,(float)100.0*(c1cnt)/(n-invcnt));
     	}
	  	fprintf(fl7,"*________________________________________________________________________\n");
		printf("*________________________________________________________________________\n");
		fclose(fl7);
	} // ******** ans1!=3 ends here *************
	cout << "Done.\n";
	stop = times(NULL);
	cout << "The computation took " << fabs(start - stop)*10000/(CLOCKS_PER_SEC) << " Secs.\n";
} //end main




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

                                        # End of file scope inline assembly
	.section	.rodata.cst8,"aM",@progbits,8
	.p2align	3, 0x0                          # -- Begin function _Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
.LCPI0_0:
	.quad	0x3ff0000000000000              # double 1
	.section	.rodata.cst4,"aM",@progbits,4
	.p2align	2, 0x0
.LCPI0_1:
	.long	0xc61c3c00                      # float -9999
.LCPI0_3:
	.long	0x3f800000                      # float 1
	.section	.rodata.cst16,"aM",@progbits,16
	.p2align	4, 0x0
.LCPI0_2:
	.long	0x7fffffff                      # float NaN
	.long	0x7fffffff                      # float NaN
	.long	0x7fffffff                      # float NaN
	.long	0x7fffffff                      # float NaN
	.text
	.globl	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
	.type	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii,@function
_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii: # @_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$2264, %rsp                     # imm = 0x8D8
	.cfi_def_cfa_offset 2320
	.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	%r9, 56(%rsp)                   # 8-byte Spill
	movq	%r8, 16(%rsp)                   # 8-byte Spill
	movq	%rcx, 96(%rsp)                  # 8-byte Spill
	movq	%rdx, 208(%rsp)                 # 8-byte Spill
	movq	%rsi, 192(%rsp)                 # 8-byte Spill
	testl	%edi, %edi
	jle	.LBB0_79
# %bb.1:                                # %.lr.ph509
	movl	2392(%rsp), %ecx
	movl	2376(%rsp), %edx
	movq	2336(%rsp), %rax
	movq	2328(%rsp), %rsi
	movl	2384(%rsp), %r8d
	incl	%r8d
	leal	1(%rdx), %r9d
	leal	1(%rcx), %ebx
	cvtsi2sd	%ecx, %xmm1
	movsd	.LCPI0_0(%rip), %xmm4           # xmm4 = mem[0],zero
	movapd	%xmm4, %xmm2
	divsd	%xmm1, %xmm2
                                        # kill: def $ecx killed $ecx killed $rcx
	imull	%edx, %ecx
	cvtsi2ss	%ecx, %xmm5
	cvtsd2ss	%xmm2, %xmm6
	cvtss2sd	%xmm0, %xmm7
	movslq	2344(%rsp), %rcx
	movl	%edi, %edi
	movq	%rdi, 184(%rsp)                 # 8-byte Spill
	addq	$4, %rsi
	movq	%rsi, 176(%rsp)                 # 8-byte Spill
	movl	%r8d, %esi
	imull	%r9d, %esi
	leal	1(%rsi), %edi
	movl	%r8d, %r10d
	imull	%edi, %r10d
	movl	%r10d, 116(%rsp)                # 4-byte Spill
	movq	%rsi, 224(%rsp)                 # 8-byte Spill
                                        # kill: def $esi killed $esi killed $rsi
	imull	%r8d, %esi
	leaq	(%rax,%rcx,4), %rax
	addq	$4, %rax
	movq	%rax, 40(%rsp)                  # 8-byte Spill
	shlq	$2, %rcx
	movq	%rcx, 72(%rsp)                  # 8-byte Spill
	movl	%ebx, %eax
	movl	%r8d, 140(%rsp)                 # 4-byte Spill
	imull	%r8d, %eax
	imull	%eax, %edi
	movl	%edi, 112(%rsp)                 # 4-byte Spill
	movl	%esi, 132(%rsp)                 # 4-byte Spill
	imull	%ebx, %esi
	movl	%esi, 128(%rsp)                 # 4-byte Spill
	movl	%r9d, %ecx
	movl	%eax, 136(%rsp)                 # 4-byte Spill
	imull	%eax, %r9d
	movq	%r9, 216(%rsp)                  # 8-byte Spill
	movaps	.LCPI0_2(%rip), %xmm8           # xmm8 = [NaN,NaN,NaN,NaN]
	movss	.LCPI0_1(%rip), %xmm9           # xmm9 = mem[0],zero,zero,zero
	movss	.LCPI0_3(%rip), %xmm10          # xmm10 = mem[0],zero,zero,zero
	xorps	%xmm11, %xmm11
	movq	2352(%rsp), %r13
	movq	2320(%rsp), %rax
	movslq	%edx, %rsi
	movq	%rsi, 144(%rsp)                 # 8-byte Spill
	movl	%ebx, %r14d
	addq	$4, %rax
	movq	%rax, 168(%rsp)                 # 8-byte Spill
	movq	56(%rsp), %rax                  # 8-byte Reload
	addq	$4, %rax
	movq	%rax, 160(%rsp)                 # 8-byte Spill
	movq	%rcx, 64(%rsp)                  # 8-byte Spill
	leaq	-4(,%rcx,4), %rsi
	xorl	%r12d, %r12d
	movl	$0, 36(%rsp)                    # 4-byte Folded Spill
	xorl	%eax, %eax
	movq	%r14, 80(%rsp)                  # 8-byte Spill
	movq	%rsi, 152(%rsp)                 # 8-byte Spill
	movaps	%xmm5, 240(%rsp)                # 16-byte Spill
	movss	%xmm6, 120(%rsp)                # 4-byte Spill
	movsd	%xmm7, 200(%rsp)                # 8-byte Spill
.LBB0_2:                                # =>This Loop Header: Depth=1
                                        #     Child Loop BB0_4 Depth 2
                                        #     Child Loop BB0_10 Depth 2
                                        #     Child Loop BB0_13 Depth 2
                                        #       Child Loop BB0_15 Depth 3
                                        #       Child Loop BB0_18 Depth 3
                                        #         Child Loop BB0_21 Depth 4
                                        #         Child Loop BB0_25 Depth 4
                                        #           Child Loop BB0_30 Depth 5
                                        #           Child Loop BB0_35 Depth 5
                                        #         Child Loop BB0_43 Depth 4
                                        #         Child Loop BB0_46 Depth 4
                                        #     Child Loop BB0_52 Depth 2
                                        #     Child Loop BB0_57 Depth 2
                                        #       Child Loop BB0_59 Depth 3
                                        #       Child Loop BB0_62 Depth 3
                                        #         Child Loop BB0_65 Depth 4
                                        #         Child Loop BB0_70 Depth 4
	movq	%rax, %rcx
	movq	192(%rsp), %rax                 # 8-byte Reload
	movq	%rcx, 88(%rsp)                  # 8-byte Spill
	movss	(%rax,%rcx,4), %xmm12           # xmm12 = mem[0],zero,zero,zero
	testl	%edx, %edx
	jle	.LBB0_8
# %bb.3:                                # %.lr.ph
                                        #   in Loop: Header=BB0_2 Depth=1
	movl	36(%rsp), %eax                  # 4-byte Reload
	movq	176(%rsp), %rcx                 # 8-byte Reload
	leaq	(%rcx,%rax,4), %rcx
	movq	%rcx, 24(%rsp)                  # 8-byte Spill
	movq	168(%rsp), %rcx                 # 8-byte Reload
	leaq	(%rcx,%rax,4), %rcx
	movq	%rcx, 104(%rsp)                 # 8-byte Spill
	movq	160(%rsp), %rcx                 # 8-byte Reload
	leaq	(%rcx,%rax,4), %rbp
	xorl	%r15d, %r15d
	movss	%xmm12, 124(%rsp)               # 4-byte Spill
	movq	%rbp, 48(%rsp)                  # 8-byte Spill
.LBB0_4:                                #   Parent Loop BB0_2 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movss	(%rbp,%r15), %xmm0              # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm9, %xmm0
	jne	.LBB0_5
	jnp	.LBB0_7
.LBB0_5:                                #   in Loop: Header=BB0_4 Depth=2
	movq	96(%rsp), %rax                  # 8-byte Reload
	movss	4(%rax,%r15), %xmm1             # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm9, %xmm1
	jne	.LBB0_6
	jnp	.LBB0_7
.LBB0_6:                                #   in Loop: Header=BB0_4 Depth=2
	movq	208(%rsp), %r14                 # 8-byte Reload
	movss	4(%r14,%r15), %xmm2             # xmm2 = mem[0],zero,zero,zero
	subss	%xmm2, %xmm0
	subss	%xmm2, %xmm1
	divss	%xmm1, %xmm0
	movq	16(%rsp), %rax                  # 8-byte Reload
	xorps	%xmm1, %xmm1
	cvtsi2ssl	4(%rax,%r15), %xmm1
	movss	%xmm1, 8(%rsp)                  # 4-byte Spill
	mulss	%xmm1, %xmm0
	callq	roundf@PLT
	movss	%xmm0, (%rbp,%r15)
	movq	104(%rsp), %rbp                 # 8-byte Reload
	movss	(%rbp,%r15), %xmm0              # xmm0 = mem[0],zero,zero,zero
	movq	96(%rsp), %rax                  # 8-byte Reload
	movss	4(%rax,%r15), %xmm1             # xmm1 = mem[0],zero,zero,zero
	subss	4(%r14,%r15), %xmm1
	divss	%xmm1, %xmm0
	mulss	8(%rsp), %xmm0                  # 4-byte Folded Reload
	callq	roundf@PLT
	movss	%xmm0, (%rbp,%r15)
	movq	24(%rsp), %rbp                  # 8-byte Reload
	movss	(%rbp,%r15), %xmm0              # xmm0 = mem[0],zero,zero,zero
	movq	96(%rsp), %rax                  # 8-byte Reload
	movss	4(%rax,%r15), %xmm1             # xmm1 = mem[0],zero,zero,zero
	subss	4(%r14,%r15), %xmm1
	movq	80(%rsp), %r14                  # 8-byte Reload
	divss	%xmm1, %xmm0
	mulss	8(%rsp), %xmm0                  # 4-byte Folded Reload
	callq	roundf@PLT
	movss	124(%rsp), %xmm12               # 4-byte Reload
                                        # xmm12 = mem[0],zero,zero,zero
	movq	152(%rsp), %rsi                 # 8-byte Reload
	xorps	%xmm11, %xmm11
	movss	.LCPI0_3(%rip), %xmm10          # xmm10 = mem[0],zero,zero,zero
	movss	.LCPI0_1(%rip), %xmm9           # xmm9 = mem[0],zero,zero,zero
	movaps	.LCPI0_2(%rip), %xmm8           # xmm8 = [NaN,NaN,NaN,NaN]
	movsd	200(%rsp), %xmm7                # 8-byte Reload
                                        # xmm7 = mem[0],zero
	movss	120(%rsp), %xmm6                # 4-byte Reload
                                        # xmm6 = mem[0],zero,zero,zero
	movaps	240(%rsp), %xmm5                # 16-byte Reload
	movsd	.LCPI0_0(%rip), %xmm4           # xmm4 = mem[0],zero
	movl	2376(%rsp), %edx
	movss	%xmm0, (%rbp,%r15)
	movq	48(%rsp), %rbp                  # 8-byte Reload
.LBB0_7:                                #   in Loop: Header=BB0_4 Depth=2
	addq	$4, %r15
	cmpq	%r15, %rsi
	jne	.LBB0_4
.LBB0_8:                                # %.preheader446
                                        #   in Loop: Header=BB0_2 Depth=1
	movl	2392(%rsp), %eax
	testl	%eax, %eax
	jle	.LBB0_11
# %bb.9:                                # %.lr.ph451.preheader
                                        #   in Loop: Header=BB0_2 Depth=1
	movl	$1, %eax
.LBB0_10:                               # %.lr.ph451
                                        #   Parent Loop BB0_2 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movl	$1065353216, 256(%rsp,%rax,4)   # imm = 0x3F800000
	incq	%rax
	cmpq	%rax, %r14
	jne	.LBB0_10
.LBB0_11:                               # %.preheader445
                                        #   in Loop: Header=BB0_2 Depth=1
	testl	%edx, %edx
	jle	.LBB0_49
# %bb.12:                               # %.lr.ph485
                                        #   in Loop: Header=BB0_2 Depth=1
	movq	88(%rsp), %rcx                  # 8-byte Reload
	imulq	144(%rsp), %rcx                 # 8-byte Folded Reload
	movq	56(%rsp), %rax                  # 8-byte Reload
	movq	%rcx, 104(%rsp)                 # 8-byte Spill
	leaq	(%rax,%rcx,4), %rax
	movq	%rax, 232(%rsp)                 # 8-byte Spill
	movl	$1, %edx
	movq	40(%rsp), %rax                  # 8-byte Reload
	movl	116(%rsp), %ecx                 # 4-byte Reload
	movl	%ecx, 24(%rsp)                  # 4-byte Spill
.LBB0_13:                               #   Parent Loop BB0_2 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB0_15 Depth 3
                                        #       Child Loop BB0_18 Depth 3
                                        #         Child Loop BB0_21 Depth 4
                                        #         Child Loop BB0_25 Depth 4
                                        #           Child Loop BB0_30 Depth 5
                                        #           Child Loop BB0_35 Depth 5
                                        #         Child Loop BB0_43 Depth 4
                                        #         Child Loop BB0_46 Depth 4
	movq	%rax, 48(%rsp)                  # 8-byte Spill
	movq	232(%rsp), %rax                 # 8-byte Reload
	movss	(%rax,%rdx,4), %xmm1            # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm9, %xmm1
	jne	.LBB0_14
	jnp	.LBB0_48
.LBB0_14:                               # %.preheader441
                                        #   in Loop: Header=BB0_13 Depth=2
	movq	$-1, %rax
	movl	24(%rsp), %ecx                  # 4-byte Reload
	movq	224(%rsp), %rsi                 # 8-byte Reload
	movq	%rdx, 8(%rsp)                   # 8-byte Spill
	movq	48(%rsp), %rdi                  # 8-byte Reload
.LBB0_15:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movaps	%xmm1, %xmm0
	subss	4(%rdi,%rax,4), %xmm0
	movl	%ecx, %r8d
	andps	%xmm8, %xmm0
	ucomiss	%xmm10, %xmm0
	jb	.LBB0_17
# %bb.16:                               #   in Loop: Header=BB0_15 Depth=3
	movq	16(%rsp), %rcx                  # 8-byte Reload
	movq	8(%rsp), %rdx                   # 8-byte Reload
	movslq	(%rcx,%rdx,4), %rdx
	leal	(%r8,%rsi), %ecx
	incq	%rax
	cmpq	%rdx, %rax
	movq	8(%rsp), %rdx                   # 8-byte Reload
	jle	.LBB0_15
.LBB0_17:                               # %.critedge
                                        #   in Loop: Header=BB0_13 Depth=2
	movl	$1, %r9d
	xorl	%r10d, %r10d
	movq	40(%rsp), %r11                  # 8-byte Reload
.LBB0_18:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB0_21 Depth 4
                                        #         Child Loop BB0_25 Depth 4
                                        #           Child Loop BB0_30 Depth 5
                                        #           Child Loop BB0_35 Depth 5
                                        #         Child Loop BB0_43 Depth 4
                                        #         Child Loop BB0_46 Depth 4
	cmpq	%r9, %rdx
	je	.LBB0_47
# %bb.19:                               #   in Loop: Header=BB0_18 Depth=3
	movq	104(%rsp), %rax                 # 8-byte Reload
	leaq	(%r9,%rax), %rcx
	movq	56(%rsp), %rax                  # 8-byte Reload
	movss	(%rax,%rcx,4), %xmm1            # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm9, %xmm1
	jne	.LBB0_20
	jnp	.LBB0_47
.LBB0_20:                               # %.preheader437
                                        #   in Loop: Header=BB0_18 Depth=3
	xorl	%eax, %eax
.LBB0_21:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        #       Parent Loop BB0_18 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movq	%rax, %rsi
	movaps	%xmm1, %xmm2
	subss	(%r11,%rax,4), %xmm2
	andps	%xmm8, %xmm2
	ucomiss	%xmm10, %xmm2
	jb	.LBB0_23
# %bb.22:                               #   in Loop: Header=BB0_21 Depth=4
	leaq	1(%rsi), %rax
	movq	16(%rsp), %rdx                  # 8-byte Reload
	movslq	(%rdx,%r9,4), %rdx
	leaq	-1(%rax), %rdi
	cmpq	%rdx, %rdi
	jle	.LBB0_21
.LBB0_23:                               # %.critedge2
                                        #   in Loop: Header=BB0_18 Depth=3
	movl	2392(%rsp), %eax
	testl	%eax, %eax
	movq	8(%rsp), %rdx                   # 8-byte Reload
	jle	.LBB0_47
# %bb.24:                               # %.lr.ph468
                                        #   in Loop: Header=BB0_18 Depth=3
	movl	$1, %eax
.LBB0_25:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        #       Parent Loop BB0_18 Depth=3
                                        # =>      This Loop Header: Depth=4
                                        #           Child Loop BB0_30 Depth 5
                                        #           Child Loop BB0_35 Depth 5
	ucomiss	%xmm0, %xmm10
	movaps	%xmm6, %xmm1
	jb	.LBB0_27
# %bb.26:                               #   in Loop: Header=BB0_25 Depth=4
	leal	(%r10,%rsi), %edx
	addl	%r8d, %edx
	imull	%ebx, %edx
	addl	%eax, %edx
	movslq	%edx, %rdx
	xorps	%xmm1, %xmm1
	cvtsi2ssl	(%r13,%rdx,4), %xmm1
.LBB0_27:                               #   in Loop: Header=BB0_25 Depth=4
	cmpl	$2, 2400(%rsp)
	jne	.LBB0_32
# %bb.28:                               #   in Loop: Header=BB0_25 Depth=4
	movq	2320(%rsp), %rdx
	cvttss2si	(%rdx,%rcx,4), %r15d
	movl	%esi, %edi
	subl	%r15d, %edi
	leal	(%rsi,%r15), %edx
	cmpl	%edx, %edi
	jg	.LBB0_37
# %bb.29:                               # %.lr.ph455
                                        #   in Loop: Header=BB0_25 Depth=4
	movq	16(%rsp), %rdx                  # 8-byte Reload
	movl	(%rdx,%r9,4), %edx
.LBB0_30:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        #       Parent Loop BB0_18 Depth=3
                                        #         Parent Loop BB0_25 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	testl	%edi, %edi
	cmovlel	%r12d, %edi
	cmpl	%edx, %edi
	jg	.LBB0_32
# %bb.31:                               #   in Loop: Header=BB0_30 Depth=5
	leal	(%r10,%rdi), %r14d
	addl	%r8d, %r14d
	imull	%ebx, %r14d
	addl	%eax, %r14d
	movslq	%r14d, %r14
	xorps	%xmm2, %xmm2
	cvtsi2ssl	(%r13,%r14,4), %xmm2
	ucomiss	%xmm1, %xmm2
	cmoval	%edi, %esi
	leal	1(%rdi), %r14d
	leal	(%rsi,%r15), %ebp
	cmpl	%ebp, %edi
	movl	%r14d, %edi
	jl	.LBB0_30
.LBB0_32:                               # %.loopexit434
                                        #   in Loop: Header=BB0_25 Depth=4
	cmpl	$1, 2400(%rsp)
	jne	.LBB0_37
# %bb.33:                               #   in Loop: Header=BB0_25 Depth=4
	movq	2320(%rsp), %rdx
	cvttss2si	(%rdx,%rcx,4), %r15d
	movl	%esi, %edi
	subl	%r15d, %edi
	leal	(%rsi,%r15), %edx
	cmpl	%edx, %edi
	jg	.LBB0_37
# %bb.34:                               # %.lr.ph461
                                        #   in Loop: Header=BB0_25 Depth=4
	movq	16(%rsp), %rdx                  # 8-byte Reload
	movl	(%rdx,%r9,4), %edx
.LBB0_35:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        #       Parent Loop BB0_18 Depth=3
                                        #         Parent Loop BB0_25 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	testl	%edi, %edi
	cmovlel	%r12d, %edi
	cmpl	%edx, %edi
	jg	.LBB0_37
# %bb.36:                               #   in Loop: Header=BB0_35 Depth=5
	leal	(%r10,%rdi), %ebp
	addl	%r8d, %ebp
	imull	%ebx, %ebp
	addl	%eax, %ebp
	movslq	%ebp, %r14
	xorps	%xmm2, %xmm2
	cvtsi2ssl	(%r13,%r14,4), %xmm2
	ucomiss	%xmm1, %xmm2
	cmoval	%edi, %esi
	leal	1(%rdi), %ebp
	leal	(%rsi,%r15), %r14d
	cmpl	%r14d, %edi
	movl	%ebp, %edi
	jl	.LBB0_35
.LBB0_37:                               # %.loopexit
                                        #   in Loop: Header=BB0_25 Depth=4
	leal	(%r10,%rsi), %edx
	addl	%r8d, %edx
	imull	%ebx, %edx
	movslq	%edx, %rdi
	movl	(%r13,%rdi,4), %edi
	movaps	%xmm6, %xmm1
	testl	%edi, %edi
	jle	.LBB0_40
# %bb.38:                               # %.loopexit
                                        #   in Loop: Header=BB0_25 Depth=4
	ucomiss	%xmm0, %xmm10
	movaps	%xmm6, %xmm1
	jb	.LBB0_40
# %bb.39:                               #   in Loop: Header=BB0_25 Depth=4
	addl	%eax, %edx
	movslq	%edx, %rdx
	xorps	%xmm1, %xmm1
	cvtsi2ssl	(%r13,%rdx,4), %xmm1
	movq	2360(%rsp), %r14
	mulss	(%r14,%rdx,4), %xmm1
	xorps	%xmm2, %xmm2
	cvtsi2ss	%edi, %xmm2
	divss	%xmm2, %xmm1
.LBB0_40:                               #   in Loop: Header=BB0_25 Depth=4
	mulss	256(%rsp,%rax,4), %xmm1
	movss	%xmm1, 256(%rsp,%rax,4)
	incq	%rax
	movq	80(%rsp), %r14                  # 8-byte Reload
	cmpq	%r14, %rax
	jne	.LBB0_25
# %bb.41:                               # %.preheader436
                                        #   in Loop: Header=BB0_18 Depth=3
	movl	2392(%rsp), %eax
	testl	%eax, %eax
	movq	8(%rsp), %rdx                   # 8-byte Reload
	jle	.LBB0_47
# %bb.42:                               # %.lr.ph472.preheader
                                        #   in Loop: Header=BB0_18 Depth=3
	xorps	%xmm1, %xmm1
	movl	$1, %eax
.LBB0_43:                               # %.lr.ph472
                                        #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        #       Parent Loop BB0_18 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	addss	256(%rsp,%rax,4), %xmm1
	incq	%rax
	cmpq	%rax, %r14
	jne	.LBB0_43
# %bb.44:                               # %._crit_edge
                                        #   in Loop: Header=BB0_18 Depth=3
	movl	2392(%rsp), %eax
	testl	%eax, %eax
	jle	.LBB0_47
# %bb.45:                               # %.lr.ph477.preheader
                                        #   in Loop: Header=BB0_18 Depth=3
	movaps	%xmm1, %xmm2
	cmpeqss	%xmm11, %xmm2
	movaps	%xmm2, %xmm3
	andps	%xmm5, %xmm3
	andnps	%xmm1, %xmm2
	orps	%xmm3, %xmm2
	movl	$1, %eax
.LBB0_46:                               # %.lr.ph477
                                        #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_13 Depth=2
                                        #       Parent Loop BB0_18 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movss	256(%rsp,%rax,4), %xmm1         # xmm1 = mem[0],zero,zero,zero
	divss	%xmm2, %xmm1
	movss	%xmm1, 256(%rsp,%rax,4)
	incq	%rax
	cmpq	%rax, %r14
	jne	.LBB0_46
.LBB0_47:                               # %.loopexit435
                                        #   in Loop: Header=BB0_18 Depth=3
	incq	%r9
	addl	140(%rsp), %r10d                # 4-byte Folded Reload
	addq	72(%rsp), %r11                  # 8-byte Folded Reload
	cmpq	64(%rsp), %r9                   # 8-byte Folded Reload
	jne	.LBB0_18
.LBB0_48:                               # %.loopexit440
                                        #   in Loop: Header=BB0_13 Depth=2
	incq	%rdx
	movl	24(%rsp), %eax                  # 4-byte Reload
	addl	132(%rsp), %eax                 # 4-byte Folded Reload
	movl	%eax, 24(%rsp)                  # 4-byte Spill
	movq	48(%rsp), %rax                  # 8-byte Reload
	addq	72(%rsp), %rax                  # 8-byte Folded Reload
	cmpq	64(%rsp), %rdx                  # 8-byte Folded Reload
	jne	.LBB0_13
.LBB0_49:                               # %.preheader444
                                        #   in Loop: Header=BB0_2 Depth=1
	movl	2392(%rsp), %eax
	testl	%eax, %eax
	jle	.LBB0_50
# %bb.51:                               # %.lr.ph490.preheader
                                        #   in Loop: Header=BB0_2 Depth=1
	movl	$1, %eax
	xorps	%xmm0, %xmm0
	movl	$1, %ecx
.LBB0_52:                               # %.lr.ph490
                                        #   Parent Loop BB0_2 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movss	256(%rsp,%rcx,4), %xmm1         # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm1
	cmoval	%ecx, %eax
	maxss	%xmm0, %xmm1
	incq	%rcx
	movaps	%xmm1, %xmm0
	cmpq	%rcx, %r14
	jne	.LBB0_52
	jmp	.LBB0_53
.LBB0_50:                               #   in Loop: Header=BB0_2 Depth=1
	movl	$1, %eax
.LBB0_53:                               # %._crit_edge491
                                        #   in Loop: Header=BB0_2 Depth=1
	cmpl	$0, 2408(%rsp)
	jle	.LBB0_78
# %bb.54:                               # %._crit_edge491
                                        #   in Loop: Header=BB0_2 Depth=1
	movslq	%eax, %rbp
	movq	2368(%rsp), %rax
	movss	(%rax,%rbp,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	subss	%xmm12, %xmm0
	andps	%xmm8, %xmm0
	ucomiss	(%rax), %xmm0
	jb	.LBB0_78
# %bb.55:                               # %._crit_edge491
                                        #   in Loop: Header=BB0_2 Depth=1
	movl	2376(%rsp), %eax
	testl	%eax, %eax
	jle	.LBB0_78
# %bb.56:                               # %.lr.ph505
                                        #   in Loop: Header=BB0_2 Depth=1
	movq	88(%rsp), %rax                  # 8-byte Reload
	imulq	144(%rsp), %rax                 # 8-byte Folded Reload
	movq	56(%rsp), %rcx                  # 8-byte Reload
	leaq	(%rcx,%rax,4), %rcx
	movl	$1, %edx
	movq	40(%rsp), %rsi                  # 8-byte Reload
	movl	112(%rsp), %edi                 # 4-byte Reload
.LBB0_57:                               #   Parent Loop BB0_2 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB0_59 Depth 3
                                        #       Child Loop BB0_62 Depth 3
                                        #         Child Loop BB0_65 Depth 4
                                        #         Child Loop BB0_70 Depth 4
	movss	(%rcx,%rdx,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm9, %xmm0
	jne	.LBB0_58
	jnp	.LBB0_77
.LBB0_58:                               # %.preheader439
                                        #   in Loop: Header=BB0_57 Depth=2
	movq	$-1, %r9
	movl	%edi, %r10d
	movq	216(%rsp), %r11                 # 8-byte Reload
.LBB0_59:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_57 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movaps	%xmm0, %xmm1
	subss	4(%rsi,%r9,4), %xmm1
	movl	%r10d, %r8d
	andps	%xmm8, %xmm1
	ucomiss	%xmm10, %xmm1
	jb	.LBB0_61
# %bb.60:                               #   in Loop: Header=BB0_59 Depth=3
	movq	16(%rsp), %rax                  # 8-byte Reload
	movslq	(%rax,%rdx,4), %rax
	leal	(%r8,%r11), %r10d
	incq	%r9
	cmpq	%rax, %r9
	jle	.LBB0_59
.LBB0_61:                               # %.lr.ph501
                                        #   in Loop: Header=BB0_57 Depth=2
	movl	$1, %r9d
	movq	40(%rsp), %r10                  # 8-byte Reload
.LBB0_62:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_57 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB0_65 Depth 4
                                        #         Child Loop BB0_70 Depth 4
	cmpq	%r9, %rdx
	je	.LBB0_76
# %bb.63:                               #   in Loop: Header=BB0_62 Depth=3
	movss	(%rcx,%r9,4), %xmm0             # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm9, %xmm0
	jne	.LBB0_64
	jnp	.LBB0_76
.LBB0_64:                               # %.preheader
                                        #   in Loop: Header=BB0_62 Depth=3
	movq	$-1, %r15
	movl	%r8d, %eax
.LBB0_65:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_57 Depth=2
                                        #       Parent Loop BB0_62 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movaps	%xmm0, %xmm1
	subss	4(%r10,%r15,4), %xmm1
	movl	%eax, %r11d
	andps	%xmm8, %xmm1
	ucomiss	%xmm10, %xmm1
	jb	.LBB0_67
# %bb.66:                               #   in Loop: Header=BB0_65 Depth=4
	movq	16(%rsp), %rax                  # 8-byte Reload
	movslq	(%rax,%r9,4), %r14
	leal	(%r11,%rbx), %eax
	incq	%r15
	cmpq	%r14, %r15
	jle	.LBB0_65
.LBB0_67:                               # %.critedge8
                                        #   in Loop: Header=BB0_62 Depth=3
	movl	2392(%rsp), %eax
	testl	%eax, %eax
	jle	.LBB0_68
# %bb.69:                               # %.lr.ph495
                                        #   in Loop: Header=BB0_62 Depth=3
	movq	2368(%rsp), %rax
	movss	(%rax), %xmm0                   # xmm0 = mem[0],zero,zero,zero
	movl	$1, %r15d
.LBB0_70:                               #   Parent Loop BB0_2 Depth=1
                                        #     Parent Loop BB0_57 Depth=2
                                        #       Parent Loop BB0_62 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movss	(%rax,%r15,4), %xmm1            # xmm1 = mem[0],zero,zero,zero
	subss	%xmm12, %xmm1
	andps	%xmm8, %xmm1
	ucomiss	%xmm0, %xmm1
	jbe	.LBB0_73
# %bb.71:                               #   in Loop: Header=BB0_70 Depth=4
	incq	%r15
	cmpq	%r15, 80(%rsp)                  # 8-byte Folded Reload
	jne	.LBB0_70
# %bb.72:                               #   in Loop: Header=BB0_62 Depth=3
	movl	%ebx, %r15d
	jmp	.LBB0_73
.LBB0_68:                               #   in Loop: Header=BB0_62 Depth=3
	movl	$1, %r15d
.LBB0_73:                               # %.critedge10
                                        #   in Loop: Header=BB0_62 Depth=3
	movss	256(%rsp,%rbp,4), %xmm0         # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm11, %xmm0
	jbe	.LBB0_76
# %bb.74:                               #   in Loop: Header=BB0_62 Depth=3
	movl	%r15d, %eax
	movss	256(%rsp,%rax,4), %xmm1         # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm1, %xmm0
	jbe	.LBB0_76
# %bb.75:                               #   in Loop: Header=BB0_62 Depth=3
	divss	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
	movapd	%xmm4, %xmm1
	subsd	%xmm0, %xmm1
	mulsd	%xmm7, %xmm1
	addl	%r11d, %r15d
	movslq	%r15d, %rax
	movq	2360(%rsp), %r11
	xorps	%xmm0, %xmm0
	cvtss2sd	(%r11,%rax,4), %xmm0
	addsd	%xmm1, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, (%r11,%rax,4)
.LBB0_76:                               #   in Loop: Header=BB0_62 Depth=3
	incq	%r9
	addl	136(%rsp), %r8d                 # 4-byte Folded Reload
	addq	72(%rsp), %r10                  # 8-byte Folded Reload
	cmpq	64(%rsp), %r9                   # 8-byte Folded Reload
	jne	.LBB0_62
.LBB0_77:                               # %.loopexit438
                                        #   in Loop: Header=BB0_57 Depth=2
	incq	%rdx
	addl	128(%rsp), %edi                 # 4-byte Folded Reload
	addq	72(%rsp), %rsi                  # 8-byte Folded Reload
	cmpq	64(%rsp), %rdx                  # 8-byte Folded Reload
	jne	.LBB0_57
.LBB0_78:                               # %.loopexit443
                                        #   in Loop: Header=BB0_2 Depth=1
	movq	88(%rsp), %rax                  # 8-byte Reload
	incq	%rax
	movl	2376(%rsp), %edx
	addl	%edx, 36(%rsp)                  # 4-byte Folded Spill
	cmpq	184(%rsp), %rax                 # 8-byte Folded Reload
	movq	80(%rsp), %r14                  # 8-byte Reload
	movq	152(%rsp), %rsi                 # 8-byte Reload
	jne	.LBB0_2
.LBB0_79:                               # %._crit_edge510
	addq	$2264, %rsp                     # imm = 0x8D8
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end0:
	.size	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii, .Lfunc_end0-_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
	.cfi_endproc
                                        # -- End function
	.globl	_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_ # -- Begin function _Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.type	_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_,@function
_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_: # @_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$272, %rsp                      # imm = 0x110
	.cfi_def_cfa_offset 320
	.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)
	movq	%rsp, %r9
	movss	%xmm0, (%r9)
	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	320(%rsp), %rax
	movq	%rax, 48(%rbx)
	leaq	328(%rsp), %rax
	movq	%rax, 56(%rbx)
	leaq	336(%rsp), %rax
	movq	%rax, 64(%rbx)
	leaq	344(%rsp), %rax
	movq	%rax, 72(%rbx)
	leaq	352(%rsp), %rax
	movq	%rax, 80(%rbx)
	leaq	360(%rsp), %rax
	movq	%rax, 88(%rbx)
	leaq	368(%rsp), %rax
	movq	%rax, 96(%rbx)
	movq	%r9, 104(%rbx)
	leaq	376(%rsp), %rax
	movq	%rax, 112(%rbx)
	leaq	384(%rsp), %rax
	movq	%rax, 120(%rbx)
	leaq	392(%rsp), %rax
	movq	%rax, 128(%rbx)
	leaq	400(%rsp), %rax
	movq	%rax, 136(%rbx)
	leaq	408(%rsp), %rax
	movq	%rax, 144(%rbx)
	leaq	416(%rsp), %rax
	movq	%rax, 152(%rbx)
	leaq	424(%rsp), %rax
	movq	%rax, 160(%rbx)
	leaq	432(%rsp), %rax
	movq	%rax, 168(%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	$_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$288, %rsp                      # imm = 0x120
	.cfi_adjust_cfa_offset -288
	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	_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, .Lfunc_end1-_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.cfi_endproc
                                        # -- End function
	.globl	_Z11getNumlinesPc               # -- Begin function _Z11getNumlinesPc
	.type	_Z11getNumlinesPc,@function
_Z11getNumlinesPc:                      # @_Z11getNumlinesPc
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	pushq	%rax
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -24
	.cfi_offset %rbp, -16
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, %rbx
	movq	%rax, %rdi
	callq	feof
	xorl	%ebp, %ebp
	testl	%eax, %eax
	jne	.LBB2_3
# %bb.1:                                # %.lr.ph.preheader
	xorl	%ebp, %ebp
.LBB2_2:                                # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movq	%rbx, %rdi
	callq	fgetc
	xorl	%ecx, %ecx
	cmpb	$10, %al
	sete	%cl
	addl	%ecx, %ebp
	movq	%rbx, %rdi
	callq	feof
	testl	%eax, %eax
	je	.LBB2_2
.LBB2_3:                                # %._crit_edge
	movq	%rbx, %rdi
	callq	fclose
	movl	%ebp, %eax
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end2:
	.size	_Z11getNumlinesPc, .Lfunc_end2-_Z11getNumlinesPc
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst8,"aM",@progbits,8
	.p2align	3, 0x0                          # -- Begin function main
.LCPI3_0:
	.quad	0x3ff0000000000000              # double 1
.LCPI3_5:
	.quad	0x40c3880000000000              # double 1.0E+4
.LCPI3_6:
	.quad	0x412e848000000000              # double 1.0E+6
.LCPI3_7:
	.quad	0x3f60000000000000              # double 0.001953125
.LCPI3_8:
	.quad	0x4059000000000000              # double 100
.LCPI3_9:
	.quad	0x3f847ae147ae147b              # double 0.01
	.section	.rodata.cst16,"aM",@progbits,16
	.p2align	4, 0x0
.LCPI3_1:
	.long	0x80000000                      # float -0
	.long	0x80000000                      # float -0
	.long	0x80000000                      # float -0
	.long	0x80000000                      # float -0
.LCPI3_2:
	.long	0x7fffffff                      # float NaN
	.long	0x7fffffff                      # float NaN
	.long	0x7fffffff                      # float NaN
	.long	0x7fffffff                      # float NaN
.LCPI3_4:
	.quad	0x7fffffffffffffff              # double NaN
	.quad	0x7fffffffffffffff              # double NaN
	.section	.rodata.cst4,"aM",@progbits,4
	.p2align	2, 0x0
.LCPI3_3:
	.long	0x3f800000                      # float 1
.LCPI3_10:
	.long	0x42c80000                      # float 100
.LCPI3_11:
	.long	0x00000000                      # float 0
	.text
	.globl	main
	.type	main,@function
main:                                   # @main
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$472, %rsp                      # imm = 0x1D8
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r15
	movl	%edi, %ebx
	cmpl	$4, %edi
	jl	.LBB3_24
# %bb.1:
	movb	$1, _ZL6argfnd(%rip)
	movl	$_ZSt4cout, %r14d
	movl	$_ZSt4cout, %edi
	movl	$.L.str.1, %esi
	movl	$23, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	24(%r15), %rax
	movb	(%rax), %al
	movb	%al, -296(%rbp)
	movq	_ZSt4cout(%rip), %rcx
	movq	-24(%rcx), %rcx
	cmpq	$0, _ZSt4cout+16(%rcx)
	je	.LBB3_3
# %bb.2:
	leaq	-296(%rbp), %rsi
	movl	$_ZSt4cout, %edi
	movl	$1, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	%rax, %r14
	jmp	.LBB3_4
.LBB3_24:
	movb	$0, _ZL6argfnd(%rip)
.LBB3_25:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.11, %esi
	movl	$77, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt3cin, %edi
	movl	$_ZL4ans1, %esi
	callq	_ZNSirsERi
	jmp	.LBB3_26
.LBB3_3:
	movsbl	%al, %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSo3putEc
.LBB3_4:                                # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%r14, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	24(%r15), %rax
	movzbl	(%rax), %eax
	addl	$-48, %eax
	cmpl	$3, %eax
	ja	.LBB3_25
# %bb.5:                                # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c.exit
	jmpq	*.LJTI3_0(,%rax,8)
.LBB3_6:
	movl	$0, _ZL4ans1(%rip)
	jmp	.LBB3_7
.LBB3_15:
	movl	$1, _ZL4ans1(%rip)
	movl	$.L.str.3, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.LBB3_13
# %bb.16:
	movl	$.L.str.4, %esi
	movl	$bcchoice, %edx
	movq	%rax, %rdi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.4, %esi
	movl	$urchoice, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.4, %esi
	movl	$savedpar, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.4, %esi
	movl	$urchoicex, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movb	bcchoice(%rip), %al
	andb	$-33, %al
	cmpb	$89, %al
	jne	.LBB3_20
# %bb.17:
	movq	fl2(%rip), %rdi
	movl	$.L.str.5, %esi
	movl	$_ZL6skpchk, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6skpchk(%rip), %eax
	testl	%eax, %eax
	jns	.LBB3_19
# %bb.18:
	movl	%eax, _ZL10MissingDat(%rip)
.LBB3_19:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.6, %esi
	movl	$75, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL10MissingDat(%rip), %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.LBB3_20:
	movq	fl2(%rip), %rdi
	callq	fclose
	movl	$.L.str.8, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.LBB3_13
# %bb.21:
	movl	$.L.str.9, %esi
	movl	$_ZL4gain, %edx
	movq	%rax, %rdi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.10, %esi
	movl	$_ZL8oneround, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_12
.LBB3_22:
	movl	$2, _ZL4ans1(%rip)
	jmp	.LBB3_7
.LBB3_23:
	movl	$3, _ZL4ans1(%rip)
.LBB3_7:
	movl	$.L.str.3, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.LBB3_13
# %bb.8:
	movl	$.L.str.4, %esi
	movl	$bcchoice, %edx
	movq	%rax, %rdi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.4, %esi
	movl	$urchoice, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.4, %esi
	movl	$savedpar, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.4, %esi
	movl	$urchoicex, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movb	bcchoice(%rip), %al
	andb	$-33, %al
	cmpb	$89, %al
	jne	.LBB3_12
# %bb.9:
	movq	fl2(%rip), %rdi
	movl	$.L.str.5, %esi
	movl	$_ZL6skpchk, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6skpchk(%rip), %eax
	testl	%eax, %eax
	jns	.LBB3_11
# %bb.10:
	movl	%eax, _ZL10MissingDat(%rip)
.LBB3_11:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.6, %esi
	movl	$75, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL10MissingDat(%rip), %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.LBB3_12:
	movq	fl2(%rip), %rdi
	callq	fclose
.LBB3_26:
	cmpl	$2, _ZL4ans1(%rip)
	jne	.LBB3_29
# %bb.27:
	cmpb	$1, _ZL6argfnd(%rip)
	jne	.LBB3_28
.LBB3_29:
	movl	$0, _ZL5bgain(%rip)
	jmp	.LBB3_30
.LBB3_28:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.12, %esi
	movl	$80, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt3cin, %edi
	movl	$_ZL5bgain, %esi
	callq	_ZNSi10_M_extractIfEERSiRT_
.LBB3_30:
	cmpl	$2, %ebx
	jg	.LBB3_36
# %bb.31:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.13, %esi
	movl	$58, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	_ZSt3cin(%rip), %rax
	movq	-24(%rax), %rax
	movq	$-257, %rbx                     # imm = 0xFEFF
	addq	_ZSt3cin+16(%rax), %rbx
	movl	$_ZSt3cin, %edi
	movl	$fln, %esi
	movl	$256, %edx                      # imm = 0x100
	callq	_ZSt17__istream_extractRSiPcl
	movq	_ZSt3cin(%rip), %rax
	movq	-24(%rax), %rax
	cmpl	$0, _ZSt3cin+32(%rax)
	jne	.LBB3_37
# %bb.32:
	cmpq	$-257, %rbx                     # imm = 0xFEFF
	ja	.LBB3_37
# %bb.33:
	movq	_ZSt3cin+232(%rax), %rdi
	movq	16(%rdi), %rax
	cmpq	24(%rdi), %rax
	jb	.LBB3_37
# %bb.34:                               # %_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv.exit.i
	movq	(%rdi), %rax
	callq	*72(%rax)
	cmpl	$-1, %eax
	jne	.LBB3_37
# %bb.35:
	movq	_ZSt3cin(%rip), %rax
	movq	-24(%rax), %rax
	leaq	_ZSt3cin(%rax), %rdi
	movl	32(%rdi), %esi
	orl	$2, %esi
	callq	_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate
	jmp	.LBB3_37
.LBB3_36:
	movq	8(%r15), %rsi
	movl	$fln, %edi
	callq	strcpy
.LBB3_37:                               # %_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_.exit
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1952539694, fltmp(%rax)        # imm = 0x7461642E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl1(%rip)
	testq	%rax, %rax
	je	.LBB3_56
# %bb.38:
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1718511918, fltmp(%rax)        # imm = 0x666E692E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.LBB3_55
# %bb.39:
	xorl	%ebx, %ebx
	movl	%ebx, _ZL1i(%rip)
	movl	$.L.str.10, %esi
	movl	$_ZL7innodes, %edx
	movq	%rax, %rdi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.10, %esi
	movl	$_ZL8outnodes, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	%ebx, _ZL1i(%rip)
	cmpl	%ebx, _ZL8outnodes(%rip)
	js	.LBB3_42
# %bb.40:                               # %.lr.ph.preheader
	xorl	%eax, %eax
.LBB3_41:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movq	fl2(%rip), %rdi
	cltq
	leaq	_ZL8dmyclass(,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL8outnodes(%rip), %ecx
	jl	.LBB3_41
.LBB3_42:                               # %._crit_edge
	movq	fl2(%rip), %rdi
	xorl	%r14d, %r14d
	movl	$.L.str.9, %esi
	movl	$_ZL3LoC, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.10, %esi
	movl	$_ZL6nresol, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.10, %esi
	movl	$_ZL6nerror, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	$_ZSt4cout, %edi
	movl	$.L.str.16, %esi
	movl	$9, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL7innodes(%rip), %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movq	%rax, %rbx
	movl	$.L.str.17, %esi
	movl	$17, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL8outnodes(%rip), %esi
	movq	%rbx, %rdi
	callq	_ZNSolsEi
	movq	%rax, %rbx
	movl	$.L.str.18, %esi
	movl	$19, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$.L.str.19, %esi
	movl	$14, %edx
	movq	%rbx, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	cvtss2sd	_ZL3LoC(%rip), %xmm0
	movq	%rbx, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
	movq	%rax, %rbx
	movl	$.L.str.20, %esi
	movl	$25, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL6nerror(%rip), %esi
	movq	%rbx, %rdi
	callq	_ZNSolsEi
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt4cout, %edi
	movl	$.L.str.21, %esi
	movl	$23, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$0, _ZL1i(%rip)
	cmpl	$0, _ZL8outnodes(%rip)
	js	.LBB3_44
.LBB3_43:                               # %.lr.ph948
                                        # =>This Inner Loop Header: Depth=1
	movslq	%r14d, %rax
	xorps	%xmm0, %xmm0
	cvtss2sd	_ZL8dmyclass(,%rax,4), %xmm0
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL1i(%rip), %eax
	leal	1(%rax), %r14d
	movl	%r14d, _ZL1i(%rip)
	cmpl	_ZL8outnodes(%rip), %eax
	jl	.LBB3_43
.LBB3_44:                               # %._crit_edge949
	movq	%r15, -472(%rbp)                # 8-byte Spill
	movl	_ZL6nresol(%rip), %eax
	testl	%eax, %eax
	jle	.LBB3_46
# %bb.45:
	movl	%eax, _ZL5resol(%rip)
.LBB3_46:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.22, %esi
	movl	$24, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL5resol(%rip), %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	xorps	%xmm0, %xmm0
	cvtsi2sdl	_ZL8outnodes(%rip), %xmm0
	movsd	.LCPI3_0(%rip), %xmm1           # xmm1 = mem[0],zero
	divsd	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	_ZL8fst_gain(%rip), %xmm0
	mulsd	%xmm1, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, _ZL8fst_gain(%rip)
	movl	$_ZSt4cout, %edi
	movl	$.L.str.25, %esi
	movl	$31, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1952539694, fltmp(%rax)        # imm = 0x7461642E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	callq	_Z11getNumlinesPc
	movl	%eax, %r12d
	movl	$.L.str.26, %edi
	movl	%eax, %esi
	xorl	%eax, %eax
	callq	printf
	movslq	_ZL7innodes(%rip), %r14
	leal	2(%r14), %ebx
	movq	%rsp, %rcx
	leaq	15(,%rbx,4), %rax
	andq	$-16, %rax
	subq	%rax, %rcx
	movq	%rcx, -160(%rbp)                # 8-byte Spill
	movq	%rcx, %rsp
	movq	%rsp, %rcx
	subq	%rax, %rcx
	movq	%rcx, -152(%rbp)                # 8-byte Spill
	movq	%rcx, %rsp
	movl	_ZL8outnodes(%rip), %r13d
	leal	(%r14,%r13), %r15d
	addl	$2, %r15d
	leaq	15(,%r15,4), %rcx
	andq	$-16, %rcx
	movq	%rsp, %rdx
	subq	%rcx, %rdx
	movq	%rdx, -120(%rbp)                # 8-byte Spill
	movq	%rdx, %rsp
	movq	%rsp, %rcx
	subq	%rax, %rcx
	movq	%rcx, -184(%rbp)                # 8-byte Spill
	movq	%rcx, %rsp
	movq	%rsp, %rcx
	subq	%rax, %rcx
	movq	%rcx, -176(%rbp)                # 8-byte Spill
	movq	%rcx, %rsp
	movl	%r12d, -236(%rbp)               # 4-byte Spill
	movslq	%r12d, %rax
	movq	%rax, -256(%rbp)                # 8-byte Spill
	leaq	8(,%rax,4), %r12
	movq	%r12, %rdi
	callq	malloc
	movq	%rax, -248(%rbp)                # 8-byte Spill
	movslq	%r15d, %rdi
	imulq	%r12, %rdi
	callq	malloc
	movq	%rax, -72(%rbp)                 # 8-byte Spill
	movslq	%ebx, %r15
	movq	%r12, -304(%rbp)                # 8-byte Spill
	imulq	%r15, %r12
	movq	%r12, %rdi
	callq	malloc
	movq	%rax, -64(%rbp)                 # 8-byte Spill
	movq	%r12, %rdi
	callq	malloc
	movq	%rax, -168(%rbp)                # 8-byte Spill
	movslq	_ZL5resol(%rip), %rbx
	leal	2(%rbx), %eax
	leal	4(%rbx), %ecx
	leal	2(%r13), %edx
	imull	%eax, %edx
	imull	%r15d, %r15d
	imull	%edx, %r15d
	imull	%ecx, %r15d
	movq	%r15, -280(%rbp)                # 8-byte Spill
	movslq	%r15d, %r15
	shlq	$2, %r15
	movq	%r15, %rdi
	callq	malloc
	movq	%rax, -192(%rbp)                # 8-byte Spill
	movq	%r15, -440(%rbp)                # 8-byte Spill
	movq	%r15, %rdi
	callq	malloc
	movq	%rax, %r15
	leal	1(%rbx), %eax
	movq	%rax, -56(%rbp)                 # 8-byte Spill
	leal	1(%r14), %eax
	movl	%eax, -76(%rbp)                 # 4-byte Spill
	incl	%r13d
	leal	8(%r14), %eax
	movq	%rsp, %rcx
	leaq	15(,%rax,4), %rax
	andq	$-16, %rax
	subq	%rax, %rcx
	movq	%rcx, -48(%rbp)                 # 8-byte Spill
	movq	%rcx, %rsp
	addq	$4, %r14
	addq	$8, %rbx
	imulq	%r14, %rbx
	shlq	$2, %rbx
	movq	%rbx, %rdi
	callq	malloc
	movq	%rax, -104(%rbp)                # 8-byte Spill
	xorl	%edi, %edi
	callq	times
	movq	%rax, start(%rip)
	movl	_ZL4ans1(%rip), %eax
	testl	%eax, %eax
	jne	.LBB3_208
# %bb.47:
	movl	$0, _ZL1n(%rip)
	movl	$-1010302976, _ZL4omax(%rip)    # imm = 0xC3C80000
	movl	$1137180672, _ZL4omin(%rip)     # imm = 0x43C80000
	movq	fl1(%rip), %rdi
	callq	feof
	testl	%eax, %eax
	jne	.LBB3_72
# %bb.48:                               # %.lr.ph957.preheader
	leaq	-92(%rbp), %r14
	movl	$1, %r12d
.LBB3_49:                               # %.lr.ph957
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_51 Depth 2
	movl	$0, _ZL6skpchk(%rip)
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-120(%rbp), %rbx                # 8-byte Reload
	jle	.LBB3_67
# %bb.50:                               # %.lr.ph953.preheader
                                        #   in Loop: Header=BB3_49 Depth=1
	movl	$1, %ecx
.LBB3_51:                               # %.lr.ph953
                                        #   Parent Loop BB3_49 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movl	_ZL1n(%rip), %eax
	movl	%eax, -144(%rbp)                # 4-byte Spill
	movq	fl1(%rip), %rdi
	movslq	%ecx, %rax
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	cmpl	$0, -144(%rbp)                  # 4-byte Folded Reload
	je	.LBB3_52
# %bb.60:                               #   in Loop: Header=BB3_51 Depth=2
	movl	_ZL1i(%rip), %eax
	xorps	%xmm1, %xmm1
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm1
	movslq	%eax, %rcx
	movss	(%rbx,%rcx,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm1, %xmm0
	jne	.LBB3_61
	jnp	.LBB3_66
.LBB3_61:                               #   in Loop: Header=BB3_51 Depth=2
	movq	-160(%rbp), %rdx                # 8-byte Reload
	ucomiss	(%rdx,%rcx,4), %xmm0
	jbe	.LBB3_63
# %bb.62:                               #   in Loop: Header=BB3_51 Depth=2
	movq	-160(%rbp), %rdx                # 8-byte Reload
	movss	%xmm0, (%rdx,%rcx,4)
.LBB3_63:                               #   in Loop: Header=BB3_51 Depth=2
	movq	-152(%rbp), %rdx                # 8-byte Reload
	movss	(%rdx,%rcx,4), %xmm1            # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm1
	ja	.LBB3_65
	jmp	.LBB3_66
.LBB3_52:                               #   in Loop: Header=BB3_51 Depth=2
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_57
# %bb.53:                               #   in Loop: Header=BB3_51 Depth=2
	cmpl	$2, %eax
	jne	.LBB3_58
# %bb.54:                               #   in Loop: Header=BB3_51 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-176(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_58
.LBB3_57:                               #   in Loop: Header=BB3_51 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rbx                # 8-byte Reload
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL1i(%rip), %rax
	movss	(%rbx,%rax,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-176(%rbp), %rcx                # 8-byte Reload
	movss	%xmm0, (%rcx,%rax,4)
.LBB3_58:                               #   in Loop: Header=BB3_51 Depth=2
	movl	_ZL1i(%rip), %eax
	xorps	%xmm0, %xmm0
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm0
	movslq	%eax, %rcx
	movq	-120(%rbp), %rbx                # 8-byte Reload
	movss	(%rbx,%rcx,4), %xmm1            # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm1
	movq	-152(%rbp), %rdx                # 8-byte Reload
	jne	.LBB3_59
	jnp	.LBB3_64
.LBB3_59:                               #   in Loop: Header=BB3_51 Depth=2
	movss	%xmm1, (%rdx,%rcx,4)
	movq	-160(%rbp), %rdx                # 8-byte Reload
	movss	%xmm1, (%rdx,%rcx,4)
	jmp	.LBB3_66
.LBB3_64:                               #   in Loop: Header=BB3_51 Depth=2
	movq	-160(%rbp), %rdx                # 8-byte Reload
.LBB3_65:                               #   in Loop: Header=BB3_51 Depth=2
	movss	%xmm0, (%rdx,%rcx,4)
.LBB3_66:                               #   in Loop: Header=BB3_51 Depth=2
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %eax
	jl	.LBB3_51
.LBB3_67:                               # %._crit_edge954
                                        #   in Loop: Header=BB3_49 Depth=1
	movq	fl1(%rip), %rdi
	movl	$.L.str.27, %esi
	movq	%r14, %rdx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movss	-92(%rbp), %xmm0                # xmm0 = mem[0],zero,zero,zero
	ucomiss	_ZL4omax(%rip), %xmm0
	jbe	.LBB3_69
# %bb.68:                               #   in Loop: Header=BB3_49 Depth=1
	movss	%xmm0, _ZL4omax(%rip)
.LBB3_69:                               #   in Loop: Header=BB3_49 Depth=1
	movss	_ZL4omin(%rip), %xmm1           # xmm1 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm1
	jbe	.LBB3_71
# %bb.70:                               #   in Loop: Header=BB3_49 Depth=1
	movss	%xmm0, _ZL4omin(%rip)
.LBB3_71:                               #   in Loop: Header=BB3_49 Depth=1
	movl	%r12d, _ZL1k(%rip)
	movl	%r12d, _ZL1j(%rip)
	incl	_ZL1n(%rip)
	movq	fl1(%rip), %rdi
	callq	feof
	testl	%eax, %eax
	je	.LBB3_49
.LBB3_72:                               # %._crit_edge958
	movl	$_ZSt4cout, %edi
	movl	$.L.str.28, %esi
	movl	$15, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL1n(%rip), %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movq	%rax, %rbx
	movl	$.L.str.29, %esi
	movl	$13, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	xorps	%xmm1, %xmm1
	cvtsi2sdl	_ZL1n(%rip), %xmm1
	movsd	.LCPI3_0(%rip), %xmm0           # xmm0 = mem[0],zero
	divsd	%xmm1, %xmm0
	movq	%rbx, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
	movl	$1, %ebx
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL7innodes(%rip), %eax
	testl	%eax, %eax
	jle	.LBB3_73
# %bb.74:                               # %.lr.ph962.preheader
	incq	%rax
	xorpd	%xmm0, %xmm0
	movaps	.LCPI3_1(%rip), %xmm1           # xmm1 = [-0.0E+0,-0.0E+0,-0.0E+0,-0.0E+0]
	movq	-160(%rbp), %rcx                # 8-byte Reload
	movq	-152(%rbp), %rdx                # 8-byte Reload
	movq	-56(%rbp), %rdi                 # 8-byte Reload
.LBB3_75:                               # %.lr.ph962
                                        # =>This Inner Loop Header: Depth=1
	movss	(%rdx,%rbx,4), %xmm3            # xmm3 = mem[0],zero,zero,zero
	movss	(%rcx,%rbx,4), %xmm2            # xmm2 = mem[0],zero,zero,zero
	ucomiss	%xmm2, %xmm3
	jne	.LBB3_79
	jp	.LBB3_79
# %bb.76:                               #   in Loop: Header=BB3_75 Depth=1
	ucomiss	%xmm0, %xmm3
	jne	.LBB3_77
	jnp	.LBB3_78
.LBB3_77:                               #   in Loop: Header=BB3_75 Depth=1
	xorps	%xmm1, %xmm2
	movss	%xmm2, (%rdx,%rbx,4)
	jmp	.LBB3_79
.LBB3_78:                               #   in Loop: Header=BB3_75 Depth=1
	movl	$0, (%rdx,%rbx,4)
	movl	$1065353216, (%rcx,%rbx,4)      # imm = 0x3F800000
.LBB3_79:                               #   in Loop: Header=BB3_75 Depth=1
	incq	%rbx
	cmpq	%rbx, %rax
	jne	.LBB3_75
	jmp	.LBB3_80
.LBB3_73:
	movl	$1, %eax
	movq	-152(%rbp), %rdx                # 8-byte Reload
	movq	-56(%rbp), %rdi                 # 8-byte Reload
.LBB3_80:                               # %._crit_edge963
	movl	%eax, _ZL1i(%rip)
	cmpb	$0, _ZL6argfnd(%rip)
	jne	.LBB3_82
# %bb.81:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.30, %esi
	movl	$47, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt3cin, %edi
	movl	$savedpar, %esi
	callq	_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_
	movq	-56(%rbp), %rdi                 # 8-byte Reload
	movq	-152(%rbp), %rdx                # 8-byte Reload
.LBB3_82:
	movzbl	savedpar(%rip), %eax
	cmpl	$110, %eax
	movq	-48(%rbp), %r8                  # 8-byte Reload
	je	.LBB3_94
# %bb.83:
	cmpl	$121, %eax
	jne	.LBB3_95
# %bb.84:                               # %.thread1692
	movb	$89, savedpar(%rip)
	jmp	.LBB3_85
.LBB3_94:                               # %.thread1694
	movb	$78, savedpar(%rip)
	jmp	.LBB3_96
.LBB3_95:
	andb	$-33, %al
	cmpb	$89, %al
	jne	.LBB3_96
.LBB3_85:
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1718640942, fltmp(%rax)        # imm = 0x6670612E
	movb	$0, fltmp+4(%rax)
	movq	$0, fl2(%rip)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl2(%rip)
	movl	$_ZSt4cout, %edi
	testq	%rax, %rax
	je	.LBB3_594
# %bb.86:
	movl	$.L.str.32, %esi
	movl	$35, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %esi
	testl	%esi, %esi
	movq	-48(%rbp), %r8                  # 8-byte Reload
	jle	.LBB3_93
# %bb.87:                               # %.lr.ph984.preheader
	movq	-104(%rbp), %rax                # 8-byte Reload
	leaq	4(%rax), %rbx
	movl	$1, %ecx
.LBB3_88:                               # %.lr.ph984
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_90 Depth 2
	movq	fl2(%rip), %rdi
	movslq	%ecx, %rax
	leaq	(%r8,%rax,4), %rdx
	movl	$.L.str.10, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movslq	_ZL1i(%rip), %rax
	movl	(%r8,%rax,4), %ecx
	movl	$0, %edx
	testl	%ecx, %ecx
	movq	-56(%rbp), %rsi                 # 8-byte Reload
	js	.LBB3_92
# %bb.89:                               # %.lr.ph977
                                        #   in Loop: Header=BB3_88 Depth=1
	movl	%eax, %edx
	imull	%esi, %edx
	movslq	%edx, %rdx
	incq	%rcx
	leaq	(%rbx,%rdx,4), %rdx
	xorl	%esi, %esi
.LBB3_90:                               #   Parent Loop BB3_88 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	xorps	%xmm0, %xmm0
	cvtsi2ss	%esi, %xmm0
	movss	%xmm0, (%rdx,%rsi,4)
	incq	%rsi
	cmpq	%rsi, %rcx
	jne	.LBB3_90
# %bb.91:                               #   in Loop: Header=BB3_88 Depth=1
	movl	%ecx, %edx
.LBB3_92:                               # %._crit_edge978
                                        #   in Loop: Header=BB3_88 Depth=1
	movl	%edx, _ZL1j(%rip)
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %esi
	cmpl	%esi, %eax
	jl	.LBB3_88
.LBB3_93:                               # %._crit_edge985
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movq	%rax, %rbx
	movl	$.L.str.33, %esi
	movl	$17, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$fltmp, %edi
	callq	strlen
	movl	$fltmp, %esi
	movq	%rbx, %rdi
	movq	%rax, %rdx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rbx, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movq	-56(%rbp), %rdi                 # 8-byte Reload
	jmp	.LBB3_107
.LBB3_96:                               # %.preheader921
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	jle	.LBB3_107
# %bb.97:                               # %.lr.ph973.preheader
	movq	-104(%rbp), %rax                # 8-byte Reload
	leaq	4(%rax), %rbx
	movl	$1, %ecx
.LBB3_98:                               # %.lr.ph973
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_105 Depth 2
	movslq	%ecx, %rax
	movss	(%rdx,%rax,4), %xmm1            # xmm1 = mem[0],zero,zero,zero
	movq	-160(%rbp), %rcx                # 8-byte Reload
	movss	(%rcx,%rax,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm1
	jne	.LBB3_102
	jp	.LBB3_102
# %bb.99:                               #   in Loop: Header=BB3_98 Depth=1
	ucomiss	.LCPI3_11(%rip), %xmm1
	jne	.LBB3_100
	jnp	.LBB3_101
.LBB3_100:                              #   in Loop: Header=BB3_98 Depth=1
	xorps	.LCPI3_1(%rip), %xmm0
	movss	%xmm0, (%rdx,%rax,4)
	jmp	.LBB3_102
.LBB3_101:                              #   in Loop: Header=BB3_98 Depth=1
	movl	$0, (%rdx,%rax,4)
	movl	$1065353216, (%rcx,%rax,4)      # imm = 0x3F800000
.LBB3_102:                              #   in Loop: Header=BB3_98 Depth=1
	leaq	(%r8,%rax,4), %rsi
	movl	$_ZSt3cin, %edi
	callq	_ZNSirsERi
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movslq	_ZL1i(%rip), %rax
	movl	(%r8,%rax,4), %ecx
	testl	%ecx, %ecx
	js	.LBB3_103
# %bb.104:                              # %.lr.ph967
                                        #   in Loop: Header=BB3_98 Depth=1
	movl	%eax, %edx
	movq	-56(%rbp), %rdi                 # 8-byte Reload
	imull	%edi, %edx
	movslq	%edx, %rdx
	incq	%rcx
	leaq	(%rbx,%rdx,4), %rdx
	xorl	%esi, %esi
.LBB3_105:                              #   Parent Loop BB3_98 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	xorps	%xmm0, %xmm0
	cvtsi2ss	%esi, %xmm0
	movss	%xmm0, (%rdx,%rsi,4)
	incq	%rsi
	cmpq	%rsi, %rcx
	jne	.LBB3_105
	jmp	.LBB3_106
.LBB3_103:                              #   in Loop: Header=BB3_98 Depth=1
	xorl	%ecx, %ecx
	movq	-56(%rbp), %rdi                 # 8-byte Reload
.LBB3_106:                              # %._crit_edge968
                                        #   in Loop: Header=BB3_98 Depth=1
	movl	%ecx, _ZL1j(%rip)
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %eax
	movq	-152(%rbp), %rdx                # 8-byte Reload
	jl	.LBB3_98
.LBB3_107:                              # %.loopexit922
	movl	_ZL8outnodes(%rip), %ecx
	testl	%ecx, %ecx
	jle	.LBB3_108
# %bb.109:                              # %.preheader920.lr.ph
	movl	_ZL7innodes(%rip), %eax
	movq	%rax, -232(%rbp)                # 8-byte Spill
	leal	1(%rax), %esi
	movq	%rcx, -416(%rbp)                # 8-byte Spill
	leal	1(%rcx), %eax
	movl	%eax, -432(%rbp)                # 4-byte Spill
	movq	%rdi, %rax
	imull	%r13d, %edi
	movl	%eax, %ecx
	movl	-76(%rbp), %eax                 # 4-byte Reload
	imull	%eax, %ecx
	leal	1(%rcx), %edx
	imull	%edi, %edx
	incl	%edx
	movl	%edx, -272(%rbp)                # 4-byte Spill
	imull	%edi, %ecx
	movq	%rcx, -88(%rbp)                 # 8-byte Spill
	movl	%edi, %ecx
	imull	%eax, %ecx
	movl	%ecx, -144(%rbp)                # 4-byte Spill
	movl	$1, %eax
	movq	%rax, -200(%rbp)                # 8-byte Spill
.LBB3_110:                              # %.preheader920
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_112 Depth 2
                                        #       Child Loop BB3_115 Depth 3
                                        #         Child Loop BB3_116 Depth 4
                                        #           Child Loop BB3_119 Depth 5
	movl	$1, %eax
	cmpl	$0, -232(%rbp)                  # 4-byte Folded Reload
	jle	.LBB3_126
# %bb.111:                              # %.preheader919.preheader
                                        #   in Loop: Header=BB3_110 Depth=1
	movl	$1, %r14d
	movl	-272(%rbp), %eax                # 4-byte Reload
.LBB3_112:                              # %.preheader919
                                        #   Parent Loop BB3_110 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_115 Depth 3
                                        #         Child Loop BB3_116 Depth 4
                                        #           Child Loop BB3_119 Depth 5
	movl	(%r8,%r14,4), %r12d
	testl	%r12d, %r12d
	js	.LBB3_113
# %bb.114:                              # %.preheader918.lr.ph
                                        #   in Loop: Header=BB3_112 Depth=2
	leal	1(%r12), %ecx
	movl	%ecx, -112(%rbp)                # 4-byte Spill
	xorl	%r11d, %r11d
	movl	%eax, -224(%rbp)                # 4-byte Spill
.LBB3_115:                              # %.preheader918
                                        #   Parent Loop BB3_110 Depth=1
                                        #     Parent Loop BB3_112 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_116 Depth 4
                                        #           Child Loop BB3_119 Depth 5
	movl	$1, %edx
	movl	%eax, %r9d
.LBB3_116:                              # %.preheader917
                                        #   Parent Loop BB3_110 Depth=1
                                        #     Parent Loop BB3_112 Depth=2
                                        #       Parent Loop BB3_115 Depth=3
                                        # =>      This Loop Header: Depth=4
                                        #           Child Loop BB3_119 Depth 5
	movl	(%r8,%rdx,4), %ebx
	testl	%ebx, %ebx
	js	.LBB3_117
# %bb.118:                              # %.lr.ph989
                                        #   in Loop: Header=BB3_116 Depth=4
	incq	%rbx
	movq	%rbx, %r8
	movl	%r9d, %r10d
	movq	-192(%rbp), %rcx                # 8-byte Reload
.LBB3_119:                              #   Parent Loop BB3_110 Depth=1
                                        #     Parent Loop BB3_112 Depth=2
                                        #       Parent Loop BB3_115 Depth=3
                                        #         Parent Loop BB3_116 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	movslq	%r10d, %r10
	movl	$1065353216, (%rcx,%r10,4)      # imm = 0x3F800000
	movl	$1, (%r15,%r10,4)
	addl	%r13d, %r10d
	decq	%r8
	jne	.LBB3_119
# %bb.120:                              #   in Loop: Header=BB3_116 Depth=4
	movq	-48(%rbp), %r8                  # 8-byte Reload
	jmp	.LBB3_121
.LBB3_117:                              #   in Loop: Header=BB3_116 Depth=4
	xorl	%ebx, %ebx
.LBB3_121:                              # %._crit_edge990
                                        #   in Loop: Header=BB3_116 Depth=4
	incq	%rdx
	addl	%edi, %r9d
	cmpq	%rsi, %rdx
	jne	.LBB3_116
# %bb.122:                              # %._crit_edge994
                                        #   in Loop: Header=BB3_115 Depth=3
	leal	1(%r11), %edx
	addl	-144(%rbp), %eax                # 4-byte Folded Reload
	cmpl	%r12d, %r11d
	movl	%edx, %r11d
	jne	.LBB3_115
# %bb.123:                              # %._crit_edge998
                                        #   in Loop: Header=BB3_112 Depth=2
	movl	%ebx, _ZL1m(%rip)
	movl	%esi, _ZL1l(%rip)
	movl	-224(%rbp), %eax                # 4-byte Reload
	jmp	.LBB3_124
.LBB3_113:                              #   in Loop: Header=BB3_112 Depth=2
	movl	$0, -112(%rbp)                  # 4-byte Folded Spill
.LBB3_124:                              #   in Loop: Header=BB3_112 Depth=2
	incq	%r14
	addl	-88(%rbp), %eax                 # 4-byte Folded Reload
	cmpq	%rsi, %r14
	jne	.LBB3_112
# %bb.125:                              # %._crit_edge1002
                                        #   in Loop: Header=BB3_110 Depth=1
	movl	-112(%rbp), %eax                # 4-byte Reload
	movl	%eax, _ZL1j(%rip)
	movl	%esi, %eax
.LBB3_126:                              #   in Loop: Header=BB3_110 Depth=1
	movq	-200(%rbp), %rdx                # 8-byte Reload
	leal	1(%rdx), %ecx
	incl	-272(%rbp)                      # 4-byte Folded Spill
	cmpl	-416(%rbp), %edx                # 4-byte Folded Reload
                                        # kill: def $ecx killed $ecx def $rcx
	movq	%rcx, -200(%rbp)                # 8-byte Spill
	jne	.LBB3_110
# %bb.127:                              # %._crit_edge1006
	movl	%eax, _ZL1i(%rip)
	movl	-432(%rbp), %eax                # 4-byte Reload
	jmp	.LBB3_128
.LBB3_108:
	movl	$1, %eax
.LBB3_128:
	movl	%eax, _ZL1k(%rip)
	xorl	%edi, %edi
	callq	times
	movq	%rax, start(%rip)
	movq	fl1(%rip), %rdi
	callq	rewind
	movq	fl1(%rip), %rdi
	callq	feof
	testl	%eax, %eax
	jne	.LBB3_171
# %bb.129:                              # %.preheader916.preheader
	movslq	-56(%rbp), %rcx                 # 4-byte Folded Reload
	leaq	(,%rcx,4), %r14
	movq	-104(%rbp), %rax                # 8-byte Reload
	movq	%rcx, -144(%rbp)                # 8-byte Spill
	leaq	(%rax,%rcx,4), %rax
	addq	$8, %rax
	movq	%rax, -232(%rbp)                # 8-byte Spill
.LBB3_132:                              # %.preheader916
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_134 Depth 2
                                        #     Child Loop BB3_141 Depth 2
                                        #     Child Loop BB3_147 Depth 2
                                        #       Child Loop BB3_151 Depth 3
                                        #       Child Loop BB3_155 Depth 3
                                        #         Child Loop BB3_158 Depth 4
                                        #         Child Loop BB3_164 Depth 4
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	jle	.LBB3_139
# %bb.133:                              # %.lr.ph1010.preheader
                                        #   in Loop: Header=BB3_132 Depth=1
	movl	$1, %eax
.LBB3_134:                              # %.lr.ph1010
                                        #   Parent Loop BB3_132 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	fl1(%rip), %rdi
	cltq
	movq	-120(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_137
# %bb.135:                              # %.lr.ph1010
                                        #   in Loop: Header=BB3_134 Depth=2
	cmpl	$2, %eax
	jne	.LBB3_138
# %bb.136:                              #   in Loop: Header=BB3_134 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-176(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_138
.LBB3_137:                              #   in Loop: Header=BB3_134 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rbx                # 8-byte Reload
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL1i(%rip), %rax
	movss	(%rbx,%rax,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-176(%rbp), %rcx                # 8-byte Reload
	movss	%xmm0, (%rcx,%rax,4)
.LBB3_138:                              #   in Loop: Header=BB3_134 Depth=2
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_134
.LBB3_139:                              # %._crit_edge1011
                                        #   in Loop: Header=BB3_132 Depth=1
	movq	fl1(%rip), %rdi
	movl	$.L.str.27, %esi
	leaq	-92(%rbp), %rdx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL7innodes(%rip), %eax
	movl	$1, -88(%rbp)                   # 4-byte Folded Spill
	testl	%eax, %eax
	jle	.LBB3_131
# %bb.140:                              # %.lr.ph1015
                                        #   in Loop: Header=BB3_132 Depth=1
	xorps	%xmm1, %xmm1
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm1
	movq	%rax, -416(%rbp)                # 8-byte Spill
	leaq	(,%rax,4), %rdx
	xorl	%ebx, %ebx
	movq	-160(%rbp), %rax                # 8-byte Reload
	movq	-120(%rbp), %rdi                # 8-byte Reload
	movq	-48(%rbp), %rcx                 # 8-byte Reload
	movss	%xmm1, -200(%rbp)               # 4-byte Spill
	movq	%rdx, -272(%rbp)                # 8-byte Spill
.LBB3_141:                              #   Parent Loop BB3_132 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movss	4(%rdi,%rbx), %xmm0             # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm1, %xmm0
	jne	.LBB3_142
	jnp	.LBB3_144
.LBB3_142:                              #   in Loop: Header=BB3_141 Depth=2
	movss	4(%rax,%rbx), %xmm2             # xmm2 = mem[0],zero,zero,zero
	ucomiss	%xmm1, %xmm2
	jne	.LBB3_143
	jnp	.LBB3_144
.LBB3_143:                              #   in Loop: Header=BB3_141 Depth=2
	movq	-152(%rbp), %rax                # 8-byte Reload
	movss	4(%rax,%rbx), %xmm1             # xmm1 = mem[0],zero,zero,zero
	subss	%xmm1, %xmm0
	subss	%xmm1, %xmm2
	movss	%xmm2, -112(%rbp)               # 4-byte Spill
	divss	%xmm2, %xmm0
	xorps	%xmm1, %xmm1
	cvtsi2ssl	4(%rcx,%rbx), %xmm1
	movss	%xmm1, -224(%rbp)               # 4-byte Spill
	mulss	%xmm1, %xmm0
	callq	roundf@PLT
	movq	-120(%rbp), %rax                # 8-byte Reload
	movss	%xmm0, 4(%rax,%rbx)
	movq	-184(%rbp), %r12                # 8-byte Reload
	movss	4(%r12,%rbx), %xmm0             # xmm0 = mem[0],zero,zero,zero
	divss	-112(%rbp), %xmm0               # 4-byte Folded Reload
	mulss	-224(%rbp), %xmm0               # 4-byte Folded Reload
	callq	roundf@PLT
	movss	%xmm0, 4(%r12,%rbx)
	movq	-176(%rbp), %r12                # 8-byte Reload
	movss	4(%r12,%rbx), %xmm0             # xmm0 = mem[0],zero,zero,zero
	divss	-112(%rbp), %xmm0               # 4-byte Folded Reload
	mulss	-224(%rbp), %xmm0               # 4-byte Folded Reload
	callq	roundf@PLT
	movq	-272(%rbp), %rdx                # 8-byte Reload
	movss	-200(%rbp), %xmm1               # 4-byte Reload
                                        # xmm1 = mem[0],zero,zero,zero
	movq	-48(%rbp), %rcx                 # 8-byte Reload
	movq	-120(%rbp), %rdi                # 8-byte Reload
	movq	-160(%rbp), %rax                # 8-byte Reload
	movss	%xmm0, 4(%r12,%rbx)
.LBB3_144:                              #   in Loop: Header=BB3_141 Depth=2
	addq	$4, %rbx
	cmpq	%rbx, %rdx
	jne	.LBB3_141
# %bb.145:                              # %.preheader914
                                        #   in Loop: Header=BB3_132 Depth=1
	movq	-416(%rbp), %r12                # 8-byte Reload
	testl	%r12d, %r12d
	jle	.LBB3_131
# %bb.146:                              # %.lr.ph1050
                                        #   in Loop: Header=BB3_132 Depth=1
	xorps	%xmm0, %xmm0
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm0
	movl	_ZL8outnodes(%rip), %eax
	movss	-92(%rbp), %xmm1                # xmm1 = mem[0],zero,zero,zero
	movss	_ZL8dmyclass(%rip), %xmm2       # xmm2 = mem[0],zero,zero,zero
	leal	1(%rax), %ecx
	incq	%r12
	movl	%r12d, %edx
	movl	%r12d, -88(%rbp)                # 4-byte Spill
	movl	$1, %edx
	movq	-232(%rbp), %rsi                # 8-byte Reload
	movaps	.LCPI3_2(%rip), %xmm5           # xmm5 = [NaN,NaN,NaN,NaN]
	movss	.LCPI3_3(%rip), %xmm6           # xmm6 = mem[0],zero,zero,zero
.LBB3_147:                              #   Parent Loop BB3_132 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_151 Depth 3
                                        #       Child Loop BB3_155 Depth 3
                                        #         Child Loop BB3_158 Depth 4
                                        #         Child Loop BB3_164 Depth 4
	movss	(%rdi,%rdx,4), %xmm3            # xmm3 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm3
	jne	.LBB3_149
	jnp	.LBB3_148
.LBB3_149:                              # %.preheader913
                                        #   in Loop: Header=BB3_147 Depth=2
	movq	%rdx, %r8
	imulq	-144(%rbp), %r8                 # 8-byte Folded Reload
	movaps	%xmm3, %xmm4
	movq	-104(%rbp), %rdi                # 8-byte Reload
	subss	4(%rdi,%r8,4), %xmm4
	andps	%xmm5, %xmm4
	xorl	%edi, %edi
	ucomiss	%xmm6, %xmm4
	jb	.LBB3_154
# %bb.150:                              # %.lr.ph1018
                                        #   in Loop: Header=BB3_147 Depth=2
	movq	-48(%rbp), %rdi                 # 8-byte Reload
	movl	(%rdi,%rdx,4), %r9d
	testl	%r9d, %r9d
	movl	$-1, %edi
	cmovsl	%edi, %r9d
	leal	1(%r9), %edi
	addl	$2, %r9d
	decq	%r9
	xorl	%r10d, %r10d
.LBB3_151:                              #   Parent Loop BB3_132 Depth=1
                                        #     Parent Loop BB3_147 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	cmpq	%r10, %r9
	je	.LBB3_154
# %bb.152:                              #   in Loop: Header=BB3_151 Depth=3
	movaps	%xmm3, %xmm4
	subss	(%rsi,%r10,4), %xmm4
	andps	%xmm5, %xmm4
	incq	%r10
	ucomiss	%xmm6, %xmm4
	jae	.LBB3_151
# %bb.153:                              # %.lr.ph1040.loopexit.split.loop.exit1772
                                        #   in Loop: Header=BB3_147 Depth=2
	movl	%r10d, %edi
.LBB3_154:                              # %.lr.ph1040
                                        #   in Loop: Header=BB3_147 Depth=2
	movl	%edi, -224(%rbp)                # 4-byte Spill
	addl	%edi, %r8d
	imull	-76(%rbp), %r8d                 # 4-byte Folded Reload
	movl	$1, %r9d
	movq	-232(%rbp), %r10                # 8-byte Reload
.LBB3_155:                              #   Parent Loop BB3_132 Depth=1
                                        #     Parent Loop BB3_147 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_158 Depth 4
                                        #         Child Loop BB3_164 Depth 4
	xorl	%r11d, %r11d
	cmpq	%r9, %rdx
	je	.LBB3_168
# %bb.156:                              # %.preheader911
                                        #   in Loop: Header=BB3_155 Depth=3
	movq	-120(%rbp), %rdi                # 8-byte Reload
	movss	(%rdi,%r9,4), %xmm3             # xmm3 = mem[0],zero,zero,zero
	movq	%r9, %rdi
	imulq	-144(%rbp), %rdi                # 8-byte Folded Reload
	movaps	%xmm3, %xmm4
	movq	-104(%rbp), %r11                # 8-byte Reload
	subss	4(%r11,%rdi,4), %xmm4
	andps	%xmm5, %xmm4
	xorl	%r11d, %r11d
	ucomiss	%xmm6, %xmm4
	jb	.LBB3_161
# %bb.157:                              # %.lr.ph1024
                                        #   in Loop: Header=BB3_155 Depth=3
	movq	-48(%rbp), %rdi                 # 8-byte Reload
	movl	(%rdi,%r9,4), %ebx
	testl	%ebx, %ebx
	movl	$-1, %edi
	cmovsl	%edi, %ebx
	leal	1(%rbx), %r11d
	addl	$2, %ebx
	decq	%rbx
	xorl	%edi, %edi
.LBB3_158:                              #   Parent Loop BB3_132 Depth=1
                                        #     Parent Loop BB3_147 Depth=2
                                        #       Parent Loop BB3_155 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	cmpq	%rdi, %rbx
	je	.LBB3_161
# %bb.159:                              #   in Loop: Header=BB3_158 Depth=4
	movaps	%xmm3, %xmm4
	subss	(%r10,%rdi,4), %xmm4
	andps	%xmm5, %xmm4
	incq	%rdi
	ucomiss	%xmm6, %xmm4
	jae	.LBB3_158
# %bb.160:                              # %.critedge16.loopexit.split.loop.exit
                                        #   in Loop: Header=BB3_155 Depth=3
	movl	%edi, %r11d
.LBB3_161:                              # %.critedge16
                                        #   in Loop: Header=BB3_155 Depth=3
	testl	%eax, %eax
	jle	.LBB3_162
# %bb.163:                              # %.lr.ph1031.preheader
                                        #   in Loop: Header=BB3_155 Depth=3
	movl	$1, %ebx
.LBB3_164:                              # %.lr.ph1031
                                        #   Parent Loop BB3_132 Depth=1
                                        #     Parent Loop BB3_147 Depth=2
                                        #       Parent Loop BB3_155 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movaps	%xmm1, %xmm3
	subss	_ZL8dmyclass(,%rbx,4), %xmm3
	andps	%xmm5, %xmm3
	ucomiss	%xmm2, %xmm3
	jbe	.LBB3_167
# %bb.165:                              #   in Loop: Header=BB3_164 Depth=4
	incq	%rbx
	cmpq	%rbx, %rcx
	jne	.LBB3_164
# %bb.166:                              #   in Loop: Header=BB3_155 Depth=3
	movl	%ecx, %ebx
	jmp	.LBB3_167
.LBB3_162:                              #   in Loop: Header=BB3_155 Depth=3
	movl	$1, %ebx
.LBB3_167:                              # %.critedge18
                                        #   in Loop: Header=BB3_155 Depth=3
	movl	%ebx, _ZL1k(%rip)
	leal	(%r8,%r9), %edi
	imull	-56(%rbp), %edi                 # 4-byte Folded Reload
	addl	%r11d, %edi
	imull	%r13d, %edi
	addl	%edi, %ebx
	movslq	%ebx, %rbx
	incl	(%r15,%rbx,4)
	movslq	%edi, %rdi
	incl	(%r15,%rdi,4)
.LBB3_168:                              #   in Loop: Header=BB3_155 Depth=3
	incq	%r9
	addq	%r14, %r10
	cmpq	%r12, %r9
	jne	.LBB3_155
# %bb.169:                              # %..loopexit912_crit_edge
                                        #   in Loop: Header=BB3_147 Depth=2
	movl	%r11d, _ZL1m(%rip)
	movl	-88(%rbp), %edi                 # 4-byte Reload
	movl	%edi, _ZL1l(%rip)
	movq	-120(%rbp), %rdi                # 8-byte Reload
	movl	-224(%rbp), %r8d                # 4-byte Reload
	jmp	.LBB3_170
.LBB3_148:                              #   in Loop: Header=BB3_147 Depth=2
	xorl	%r8d, %r8d
.LBB3_170:                              #   in Loop: Header=BB3_147 Depth=2
	incq	%rdx
	addq	%r14, %rsi
	cmpq	%r12, %rdx
	jne	.LBB3_147
# %bb.130:                              # %..loopexit915_crit_edge
                                        #   in Loop: Header=BB3_132 Depth=1
	movl	%r8d, _ZL1j(%rip)
.LBB3_131:                              # %.loopexit915
                                        #   in Loop: Header=BB3_132 Depth=1
	movl	-88(%rbp), %eax                 # 4-byte Reload
	movl	%eax, _ZL1i(%rip)
	movq	fl1(%rip), %rdi
	callq	feof
	testl	%eax, %eax
	je	.LBB3_132
.LBB3_171:                              # %._crit_edge1058
	movq	fl1(%rip), %rdi
	callq	fclose
	movq	fl2(%rip), %rdi
	callq	fclose
	xorl	%ebx, %ebx
	xorl	%edi, %edi
	callq	times
	movq	%rax, stop(%rip)
	movl	$_ZSt4cout, %edi
	movl	$.L.str.36, %esi
	movl	$21, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	start(%rip), %rax
	subq	stop(%rip), %rax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	andpd	.LCPI3_4(%rip), %xmm0
	mulsd	.LCPI3_5(%rip), %xmm0
	divsd	.LCPI3_6(%rip), %xmm0
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
	movl	$.L.str.37, %esi
	movl	$7, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movb	%bl, fltmp+4(%rax)
	movl	$1719099694, fltmp(%rax)        # imm = 0x6677612E
	movl	$fltmp, %edi
	movl	$.L.str.39, %esi
	callq	fopen
	movq	%rax, fl6(%rip)
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movb	%bl, fltmp+4(%rax)
	movl	$1718640942, fltmp(%rax)        # imm = 0x6670612E
	movl	$fltmp, %edi
	movl	$.L.str.39, %esi
	callq	fopen
	movq	%rax, fl1(%rip)
	testq	%rax, %rax
	je	.LBB3_595
# %bb.172:                              # %.preheader910
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	jle	.LBB3_176
# %bb.173:                              # %.lr.ph1061.preheader
	movl	$1, %eax
	movq	-48(%rbp), %rbx                 # 8-byte Reload
.LBB3_174:                              # %.lr.ph1061
                                        # =>This Inner Loop Header: Depth=1
	movq	fl1(%rip), %rdi
	cltq
	movl	(%rbx,%rax,4), %edx
	movl	$.L.str.40, %esi
	xorl	%eax, %eax
	callq	fprintf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_174
# %bb.175:                              # %._crit_edge1062.loopexit
	movq	fl1(%rip), %rax
.LBB3_176:                              # %._crit_edge1062
	xorps	%xmm0, %xmm0
	cvtss2sd	_ZL4omax(%rip), %xmm0
	cvtss2sd	_ZL4omin(%rip), %xmm1
	movl	$.L.str.41, %esi
	movq	%rax, %rdi
	movb	$2, %al
	callq	fprintf
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-160(%rbp), %rbx                # 8-byte Reload
	jle	.LBB3_179
# %bb.177:                              # %.lr.ph1066.preheader
	movl	$1, %eax
.LBB3_178:                              # %.lr.ph1066
                                        # =>This Inner Loop Header: Depth=1
	movq	fl1(%rip), %rdi
	cltq
	xorps	%xmm0, %xmm0
	cvtss2sd	(%rbx,%rax,4), %xmm0
	movl	$.L.str.42, %esi
	movb	$1, %al
	callq	fprintf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_178
.LBB3_179:                              # %._crit_edge1067
	movq	fl1(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-152(%rbp), %rbx                # 8-byte Reload
	jle	.LBB3_182
# %bb.180:                              # %.lr.ph1071.preheader
	movl	$1, %eax
.LBB3_181:                              # %.lr.ph1071
                                        # =>This Inner Loop Header: Depth=1
	movq	fl1(%rip), %rdi
	cltq
	xorps	%xmm0, %xmm0
	cvtss2sd	(%rbx,%rax,4), %xmm0
	movl	$.L.str.42, %esi
	movb	$1, %al
	callq	fprintf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_181
.LBB3_182:                              # %._crit_edge1072
	movq	fl1(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movl	$1, _ZL1k(%rip)
	cmpl	$0, _ZL8outnodes(%rip)
	movq	-192(%rbp), %r14                # 8-byte Reload
	jle	.LBB3_200
# %bb.183:                              # %.preheader909.preheader
	movq	%r15, -288(%rbp)                # 8-byte Spill
	movl	-76(%rbp), %r12d                # 4-byte Reload
	movq	-56(%rbp), %rbx                 # 8-byte Reload
.LBB3_184:                              # %.preheader909
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_186 Depth 2
                                        #       Child Loop BB3_188 Depth 3
                                        #         Child Loop BB3_190 Depth 4
                                        #           Child Loop BB3_193 Depth 5
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	testl	%eax, %eax
	movq	-48(%rbp), %r8                  # 8-byte Reload
	jle	.LBB3_199
# %bb.185:                              # %.preheader908.preheader
                                        #   in Loop: Header=BB3_184 Depth=1
	movl	$1, %ecx
.LBB3_186:                              # %.preheader908
                                        #   Parent Loop BB3_184 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_188 Depth 3
                                        #         Child Loop BB3_190 Depth 4
                                        #           Child Loop BB3_193 Depth 5
	movl	$0, _ZL1j(%rip)
	movslq	%ecx, %rdx
	cmpl	$0, (%r8,%rdx,4)
	js	.LBB3_198
# %bb.187:                              # %.preheader907.preheader
                                        #   in Loop: Header=BB3_186 Depth=2
	xorl	%edx, %edx
.LBB3_188:                              # %.preheader907
                                        #   Parent Loop BB3_184 Depth=1
                                        #     Parent Loop BB3_186 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_190 Depth 4
                                        #           Child Loop BB3_193 Depth 5
	movl	$1, _ZL1l(%rip)
	testl	%eax, %eax
	jle	.LBB3_197
# %bb.189:                              # %.lr.ph1079.preheader
                                        #   in Loop: Header=BB3_188 Depth=3
	movl	$1, %edx
	movl	%ecx, %esi
.LBB3_190:                              # %.lr.ph1079
                                        #   Parent Loop BB3_184 Depth=1
                                        #     Parent Loop BB3_186 Depth=2
                                        #       Parent Loop BB3_188 Depth=3
                                        # =>      This Loop Header: Depth=4
                                        #           Child Loop BB3_193 Depth 5
	movl	%esi, %edi
	cmpl	%edx, %esi
	je	.LBB3_195
# %bb.191:                              # %.preheader906
                                        #   in Loop: Header=BB3_190 Depth=4
	movl	$0, _ZL1m(%rip)
	movslq	%edx, %rax
	cmpl	$0, (%r8,%rax,4)
	movq	%r8, %r15
	js	.LBB3_194
# %bb.192:                              # %.lr.ph1075.preheader
                                        #   in Loop: Header=BB3_190 Depth=4
	xorl	%eax, %eax
.LBB3_193:                              # %.lr.ph1075
                                        #   Parent Loop BB3_184 Depth=1
                                        #     Parent Loop BB3_186 Depth=2
                                        #       Parent Loop BB3_188 Depth=3
                                        #         Parent Loop BB3_190 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	movq	fl1(%rip), %rdi
	movl	_ZL1i(%rip), %ecx
	imull	%ebx, %ecx
	addl	_ZL1j(%rip), %ecx
	imull	%r12d, %ecx
	addl	%edx, %ecx
	imull	%ebx, %ecx
	addl	%eax, %ecx
	imull	%r13d, %ecx
	movslq	_ZL1k(%rip), %rax
	movslq	%ecx, %rcx
	addq	%rax, %rcx
	movq	-288(%rbp), %rax                # 8-byte Reload
	movl	(%rax,%rcx,4), %edx
	movl	$.L.str.40, %esi
	xorl	%eax, %eax
	callq	fprintf
	movq	fl6(%rip), %rdi
	movl	_ZL1i(%rip), %eax
	imull	%ebx, %eax
	addl	_ZL1j(%rip), %eax
	imull	%r12d, %eax
	addl	_ZL1l(%rip), %eax
	imull	%ebx, %eax
	addl	_ZL1m(%rip), %eax
	imull	%r13d, %eax
	movslq	_ZL1k(%rip), %rcx
	cltq
	addq	%rcx, %rax
	xorps	%xmm0, %xmm0
	cvtss2sd	(%r14,%rax,4), %xmm0
	movl	$.L.str.42, %esi
	movb	$1, %al
	callq	fprintf
	movl	_ZL1m(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1m(%rip)
	movslq	_ZL1l(%rip), %rdx
	cmpl	(%r15,%rdx,4), %ecx
	jl	.LBB3_193
.LBB3_194:                              # %._crit_edge1076
                                        #   in Loop: Header=BB3_190 Depth=4
	movq	fl6(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movq	fl1(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movl	_ZL1i(%rip), %ecx
	movl	_ZL1l(%rip), %esi
	movl	_ZL7innodes(%rip), %eax
	movl	%ecx, %edi
	movq	%r15, %r8
	movq	-288(%rbp), %r15                # 8-byte Reload
.LBB3_195:                              #   in Loop: Header=BB3_190 Depth=4
	leal	1(%rsi), %edx
	movl	%edx, _ZL1l(%rip)
	cmpl	%eax, %esi
	movl	%edi, %esi
	jl	.LBB3_190
# %bb.196:                              # %._crit_edge1080.loopexit
                                        #   in Loop: Header=BB3_188 Depth=3
	movl	_ZL1j(%rip), %edx
.LBB3_197:                              # %._crit_edge1080
                                        #   in Loop: Header=BB3_188 Depth=3
	leal	1(%rdx), %esi
	movl	%esi, _ZL1j(%rip)
	movslq	%ecx, %rdi
	cmpl	(%r8,%rdi,4), %edx
	movl	%esi, %edx
	jl	.LBB3_188
.LBB3_198:                              # %._crit_edge1082
                                        #   in Loop: Header=BB3_186 Depth=2
	leal	1(%rcx), %edx
	movl	%edx, _ZL1i(%rip)
	cmpl	%eax, %ecx
	movl	%edx, %ecx
	jl	.LBB3_186
.LBB3_199:                              # %._crit_edge1085
                                        #   in Loop: Header=BB3_184 Depth=1
	movq	fl6(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movq	fl1(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movl	_ZL1k(%rip), %eax
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1k(%rip)
	cmpl	_ZL8outnodes(%rip), %eax
	jl	.LBB3_184
.LBB3_200:                              # %._crit_edge1087
	movq	fl6(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movq	fl1(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %ecx
	testl	%ecx, %ecx
	movq	-48(%rbp), %rsi                 # 8-byte Reload
	jle	.LBB3_207
# %bb.201:                              # %.preheader905.preheader
	movl	$1, %eax
	movq	-56(%rbp), %rbx                 # 8-byte Reload
	movq	-104(%rbp), %r12                # 8-byte Reload
.LBB3_202:                              # %.preheader905
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_204 Depth 2
	movl	$1, _ZL1j(%rip)
	movslq	%eax, %rdx
	cmpl	$0, (%rsi,%rdx,4)
	jle	.LBB3_206
# %bb.203:                              # %.lr.ph1090.preheader
                                        #   in Loop: Header=BB3_202 Depth=1
	movl	$1, %ecx
.LBB3_204:                              # %.lr.ph1090
                                        #   Parent Loop BB3_202 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	fl6(%rip), %rdi
	imull	%ebx, %eax
	addl	%ecx, %eax
	cltq
	xorps	%xmm0, %xmm0
	cvtss2sd	(%r12,%rax,4), %xmm0
	movl	$.L.str.27, %esi
	movb	$1, %al
	callq	fprintf
	movq	-48(%rbp), %rsi                 # 8-byte Reload
	movl	_ZL1j(%rip), %edx
	leal	1(%rdx), %ecx
	movl	%ecx, _ZL1j(%rip)
	movslq	_ZL1i(%rip), %rax
	cmpl	(%rsi,%rax,4), %edx
	jl	.LBB3_204
# %bb.205:                              # %._crit_edge1091.loopexit
                                        #   in Loop: Header=BB3_202 Depth=1
	movl	_ZL7innodes(%rip), %ecx
.LBB3_206:                              # %._crit_edge1091
                                        #   in Loop: Header=BB3_202 Depth=1
	leal	1(%rax), %edx
	movl	%edx, _ZL1i(%rip)
	cmpl	%ecx, %eax
	movl	%edx, %eax
	jl	.LBB3_202
.LBB3_207:                              # %._crit_edge1094
	movq	fl1(%rip), %rdi
	callq	fclose
	movq	fl6(%rip), %rdi
	callq	fclose
	xorl	%edi, %edi
	callq	fflush
	movl	$_ZSt4cout, %edi
	movl	$.L.str.44, %esi
	movl	$43, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL4ans1(%rip), %eax
.LBB3_208:
	cmpl	$1, %eax
	jne	.LBB3_381
# %bb.209:
	xorl	%ebx, %ebx
	xorl	%edi, %edi
	callq	times
	movq	%rax, start(%rip)
	movq	-280(%rbp), %rax                # 8-byte Reload
	testl	%eax, %eax
	jle	.LBB3_211
# %bb.210:                              # %.lr.ph1097.preheader
	movl	%eax, %edx
	shlq	$2, %rdx
	movq	-192(%rbp), %rdi                # 8-byte Reload
	xorl	%esi, %esi
	movq	%rax, %rbx
	callq	memset@PLT
                                        # kill: def $ebx killed $ebx killed $rbx def $rbx
.LBB3_211:                              # %._crit_edge1098
	movl	%ebx, _ZL1i(%rip)
	movl	$_ZSt4cout, %edi
	movl	$.L.str.45, %esi
	movl	$54, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	cmpb	$0, _ZL6argfnd(%rip)
	jne	.LBB3_213
# %bb.212:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.46, %esi
	movl	$22, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt3cin, %edi
	movl	$_ZL4gain, %esi
	callq	_ZNSi10_M_extractIfEERSiRT_
	movl	$_ZSt4cout, %edi
	movl	$.L.str.47, %esi
	movl	$43, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt3cin, %edi
	movl	$_ZL8oneround, %esi
	callq	_ZNSirsERi
.LBB3_213:
	xorl	%edi, %edi
	callq	times
	movq	%rax, start(%rip)
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1719099694, fltmp(%rax)        # imm = 0x6677612E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl6(%rip)
	testq	%rax, %rax
	je	.LBB3_274
# %bb.214:
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1718640942, fltmp(%rax)        # imm = 0x6670612E
	movb	$0, fltmp+4(%rax)
	movq	$0, fl2(%rip)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl2(%rip)
	testq	%rax, %rax
	je	.LBB3_273
# %bb.215:                              # %.preheader904
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movq	-104(%rbp), %rcx                # 8-byte Reload
	jle	.LBB3_223
# %bb.216:                              # %.lr.ph1109.preheader
	leaq	4(%rcx), %rbx
	movl	$1, %ecx
.LBB3_217:                              # %.lr.ph1109
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_219 Depth 2
	movq	fl2(%rip), %rdi
	movslq	%ecx, %rax
	leaq	(%r8,%rax,4), %rdx
	movl	$.L.str.10, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movslq	_ZL1i(%rip), %rax
	movl	(%r8,%rax,4), %ecx
	movl	$0, %edx
	testl	%ecx, %ecx
	movq	-56(%rbp), %rsi                 # 8-byte Reload
	js	.LBB3_221
# %bb.218:                              # %.lr.ph1103
                                        #   in Loop: Header=BB3_217 Depth=1
	movl	%eax, %edx
	imull	%esi, %edx
	movslq	%edx, %rdx
	incq	%rcx
	leaq	(%rbx,%rdx,4), %rdx
	xorl	%esi, %esi
.LBB3_219:                              #   Parent Loop BB3_217 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	xorps	%xmm0, %xmm0
	cvtsi2ss	%esi, %xmm0
	movss	%xmm0, (%rdx,%rsi,4)
	incq	%rsi
	cmpq	%rsi, %rcx
	jne	.LBB3_219
# %bb.220:                              #   in Loop: Header=BB3_217 Depth=1
	movl	%ecx, %edx
.LBB3_221:                              # %._crit_edge1104
                                        #   in Loop: Header=BB3_217 Depth=1
	movl	%edx, _ZL1j(%rip)
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %eax
	jl	.LBB3_217
# %bb.222:                              # %._crit_edge1110.loopexit
	movq	fl2(%rip), %rax
.LBB3_223:                              # %._crit_edge1110
	movl	$.L.str.48, %esi
	movl	$_ZL4omax, %edx
	movq	%rax, %rdi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.9, %esi
	movl	$_ZL4omin, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-160(%rbp), %rbx                # 8-byte Reload
	jle	.LBB3_226
# %bb.224:                              # %.lr.ph1114.preheader
	movl	$1, %eax
.LBB3_225:                              # %.lr.ph1114
                                        # =>This Inner Loop Header: Depth=1
	movq	fl2(%rip), %rdi
	cltq
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_225
.LBB3_226:                              # %._crit_edge1115
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-152(%rbp), %rbx                # 8-byte Reload
	jle	.LBB3_229
# %bb.227:                              # %.lr.ph1119.preheader
	movl	$1, %eax
.LBB3_228:                              # %.lr.ph1119
                                        # =>This Inner Loop Header: Depth=1
	movq	fl2(%rip), %rdi
	cltq
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_228
.LBB3_229:                              # %._crit_edge1120
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL7innodes(%rip), %edx
	testl	%edx, %edx
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movq	-56(%rbp), %rsi                 # 8-byte Reload
	jle	.LBB3_234
# %bb.230:                              # %.preheader903.lr.ph
	movq	%rdx, -88(%rbp)                 # 8-byte Spill
	leaq	1(%rdx), %rcx
	movl	%esi, %edx
	imull	%r13d, %edx
	movl	%esi, %r10d
	movl	-76(%rbp), %eax                 # 4-byte Reload
	imull	%eax, %r10d
	leal	1(%r10), %r9d
	imull	%edx, %r9d
	imull	%edx, %r10d
	movq	%r10, -112(%rbp)                # 8-byte Spill
	movl	%edx, %r14d
	imull	%eax, %r14d
	movl	$1, %eax
.LBB3_231:                              # %.preheader903
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_263 Depth 2
                                        #       Child Loop BB3_264 Depth 3
                                        #         Child Loop BB3_267 Depth 4
	movl	(%r8,%rax,4), %r11d
	testl	%r11d, %r11d
	js	.LBB3_232
# %bb.262:                              # %.preheader902.lr.ph
                                        #   in Loop: Header=BB3_231 Depth=1
	movq	%rax, -144(%rbp)                # 8-byte Spill
	leal	1(%r11), %eax
	movl	%eax, -224(%rbp)                # 4-byte Spill
	xorl	%esi, %esi
	movl	%r9d, %r12d
	movl	%r9d, %edi
.LBB3_263:                              # %.preheader901.lr.ph
                                        #   Parent Loop BB3_231 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_264 Depth 3
                                        #         Child Loop BB3_267 Depth 4
	movl	$1, %eax
	movl	%edi, %ebx
.LBB3_264:                              # %.preheader901
                                        #   Parent Loop BB3_231 Depth=1
                                        #     Parent Loop BB3_263 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_267 Depth 4
	movl	(%r8,%rax,4), %r9d
	testl	%r9d, %r9d
	js	.LBB3_265
# %bb.266:                              # %.lr.ph1123
                                        #   in Loop: Header=BB3_264 Depth=3
	incq	%r9
	movq	%r9, %r10
	movl	%ebx, %r8d
.LBB3_267:                              #   Parent Loop BB3_231 Depth=1
                                        #     Parent Loop BB3_263 Depth=2
                                        #       Parent Loop BB3_264 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movslq	%r8d, %r8
	movl	$0, (%r15,%r8,4)
	addl	%r13d, %r8d
	decq	%r10
	jne	.LBB3_267
# %bb.268:                              #   in Loop: Header=BB3_264 Depth=3
	movq	-48(%rbp), %r8                  # 8-byte Reload
	jmp	.LBB3_269
.LBB3_265:                              #   in Loop: Header=BB3_264 Depth=3
	xorl	%r9d, %r9d
.LBB3_269:                              # %._crit_edge1124
                                        #   in Loop: Header=BB3_264 Depth=3
	incq	%rax
	addl	%edx, %ebx
	cmpq	%rcx, %rax
	jne	.LBB3_264
# %bb.270:                              #   in Loop: Header=BB3_263 Depth=2
	leal	1(%rsi), %eax
	addl	%r14d, %edi
	cmpl	%r11d, %esi
	movl	%eax, %esi
	jne	.LBB3_263
# %bb.271:                              # %._crit_edge1132
                                        #   in Loop: Header=BB3_231 Depth=1
	movl	%r9d, _ZL1m(%rip)
	movl	%ecx, _ZL1l(%rip)
	movq	-56(%rbp), %rsi                 # 8-byte Reload
	movl	%r12d, %r9d
	movq	-144(%rbp), %rax                # 8-byte Reload
	jmp	.LBB3_272
.LBB3_232:                              #   in Loop: Header=BB3_231 Depth=1
	movl	$0, -224(%rbp)                  # 4-byte Folded Spill
.LBB3_272:                              #   in Loop: Header=BB3_231 Depth=1
	incq	%rax
	addl	-112(%rbp), %r9d                # 4-byte Folded Reload
	cmpq	%rcx, %rax
	jne	.LBB3_231
# %bb.233:                              # %..preheader900_crit_edge
	movl	-224(%rbp), %eax                # 4-byte Reload
	movl	%eax, _ZL1j(%rip)
	movq	-88(%rbp), %rdx                 # 8-byte Reload
.LBB3_234:                              # %.preheader900
	movl	$1, _ZL1k(%rip)
	cmpl	$0, _ZL8outnodes(%rip)
	jle	.LBB3_253
# %bb.235:
	movl	-76(%rbp), %r12d                # 4-byte Reload
	movq	-56(%rbp), %rbx                 # 8-byte Reload
.LBB3_236:                              # %.preheader899
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_238 Depth 2
                                        #       Child Loop BB3_240 Depth 3
                                        #         Child Loop BB3_242 Depth 4
                                        #           Child Loop BB3_245 Depth 5
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	testl	%eax, %eax
	jle	.LBB3_251
# %bb.237:                              # %.preheader898.preheader
                                        #   in Loop: Header=BB3_236 Depth=1
	movl	$1, %ecx
.LBB3_238:                              # %.preheader898
                                        #   Parent Loop BB3_236 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_240 Depth 3
                                        #         Child Loop BB3_242 Depth 4
                                        #           Child Loop BB3_245 Depth 5
	movl	$0, _ZL1j(%rip)
	movslq	%ecx, %rdx
	cmpl	$0, (%r8,%rdx,4)
	js	.LBB3_250
# %bb.239:                              # %.preheader897.preheader
                                        #   in Loop: Header=BB3_238 Depth=2
	xorl	%edx, %edx
.LBB3_240:                              # %.preheader897
                                        #   Parent Loop BB3_236 Depth=1
                                        #     Parent Loop BB3_238 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_242 Depth 4
                                        #           Child Loop BB3_245 Depth 5
	movl	$1, _ZL1l(%rip)
	testl	%eax, %eax
	jle	.LBB3_249
# %bb.241:                              # %.lr.ph1146.preheader
                                        #   in Loop: Header=BB3_240 Depth=3
	movl	$1, %edx
	movl	%ecx, %esi
.LBB3_242:                              # %.lr.ph1146
                                        #   Parent Loop BB3_236 Depth=1
                                        #     Parent Loop BB3_238 Depth=2
                                        #       Parent Loop BB3_240 Depth=3
                                        # =>      This Loop Header: Depth=4
                                        #           Child Loop BB3_245 Depth 5
	movl	%esi, %edi
	cmpl	%edx, %esi
	je	.LBB3_247
# %bb.243:                              # %.preheader896
                                        #   in Loop: Header=BB3_242 Depth=4
	movl	$0, _ZL1m(%rip)
	movslq	%edx, %rax
	cmpl	$0, (%r8,%rax,4)
	movq	%r15, %r14
	movq	-192(%rbp), %r15                # 8-byte Reload
	js	.LBB3_246
# %bb.244:                              # %.lr.ph1140.preheader
                                        #   in Loop: Header=BB3_242 Depth=4
	xorl	%eax, %eax
.LBB3_245:                              # %.lr.ph1140
                                        #   Parent Loop BB3_236 Depth=1
                                        #     Parent Loop BB3_238 Depth=2
                                        #       Parent Loop BB3_240 Depth=3
                                        #         Parent Loop BB3_242 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	movq	fl2(%rip), %rdi
	movl	_ZL1i(%rip), %ecx
	imull	%ebx, %ecx
	addl	_ZL1j(%rip), %ecx
	imull	%r12d, %ecx
	addl	%edx, %ecx
	imull	%ebx, %ecx
	addl	%eax, %ecx
	imull	%r13d, %ecx
	movslq	_ZL1k(%rip), %rax
	movslq	%ecx, %rcx
	addq	%rax, %rcx
	leaq	(%r14,%rcx,4), %rdx
	movl	$.L.str.10, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %eax
	imull	%ebx, %eax
	addl	_ZL1j(%rip), %eax
	imull	%r12d, %eax
	addl	_ZL1l(%rip), %eax
	imull	%ebx, %eax
	addl	_ZL1m(%rip), %eax
	imull	%r13d, %eax
	movslq	_ZL1k(%rip), %rcx
	cltq
	addq	%rax, %rcx
	movl	(%r14,%rcx,4), %edx
	addl	%edx, (%r14,%rax,4)
	movq	fl6(%rip), %rdi
	leaq	(%r15,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1m(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1m(%rip)
	movslq	_ZL1l(%rip), %rdx
	movq	-48(%rbp), %rsi                 # 8-byte Reload
	cmpl	(%rsi,%rdx,4), %ecx
	jl	.LBB3_245
.LBB3_246:                              # %._crit_edge1141
                                        #   in Loop: Header=BB3_242 Depth=4
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl6(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %ecx
	movl	_ZL1l(%rip), %esi
	movl	_ZL7innodes(%rip), %eax
	movl	%ecx, %edi
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movq	%r14, %r15
.LBB3_247:                              #   in Loop: Header=BB3_242 Depth=4
	leal	1(%rsi), %edx
	movl	%edx, _ZL1l(%rip)
	cmpl	%eax, %esi
	movl	%edi, %esi
	jl	.LBB3_242
# %bb.248:                              # %._crit_edge1147.loopexit
                                        #   in Loop: Header=BB3_240 Depth=3
	movl	_ZL1j(%rip), %edx
.LBB3_249:                              # %._crit_edge1147
                                        #   in Loop: Header=BB3_240 Depth=3
	leal	1(%rdx), %esi
	movl	%esi, _ZL1j(%rip)
	movslq	%ecx, %rdi
	cmpl	(%r8,%rdi,4), %edx
	movl	%esi, %edx
	jl	.LBB3_240
.LBB3_250:                              # %._crit_edge1151
                                        #   in Loop: Header=BB3_238 Depth=2
	leal	1(%rcx), %edx
	movl	%edx, _ZL1i(%rip)
	cmpl	%eax, %ecx
	movl	%edx, %ecx
	jl	.LBB3_238
.LBB3_251:                              # %._crit_edge1156
                                        #   in Loop: Header=BB3_236 Depth=1
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl6(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movl	_ZL1k(%rip), %eax
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1k(%rip)
	cmpl	_ZL8outnodes(%rip), %eax
	jl	.LBB3_236
# %bb.252:                              # %.preheader895.loopexit
	movl	_ZL7innodes(%rip), %edx
	movq	-56(%rbp), %rsi                 # 8-byte Reload
.LBB3_253:                              # %.preheader895
	movl	$1, _ZL1i(%rip)
	testl	%edx, %edx
	jle	.LBB3_260
# %bb.254:                              # %.preheader894.preheader
	movl	$1, %ecx
	movq	-104(%rbp), %r12                # 8-byte Reload
.LBB3_255:                              # %.preheader894
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_257 Depth 2
	movl	$1, _ZL1j(%rip)
	movslq	%ecx, %rax
	cmpl	$0, (%r8,%rax,4)
	jle	.LBB3_259
# %bb.256:                              # %.lr.ph1162.preheader
                                        #   in Loop: Header=BB3_255 Depth=1
	movl	$1, %eax
	movq	%rsi, %rbx
.LBB3_257:                              # %.lr.ph1162
                                        #   Parent Loop BB3_255 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	fl6(%rip), %rdi
	imull	%ebx, %ecx
	addl	%eax, %ecx
	movslq	%ecx, %rax
	leaq	(%r12,%rax,4), %rdx
	movl	$.L.str.27, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movl	_ZL1j(%rip), %edx
	leal	1(%rdx), %eax
	movl	%eax, _ZL1j(%rip)
	movslq	_ZL1i(%rip), %rcx
	cmpl	(%r8,%rcx,4), %edx
	jl	.LBB3_257
# %bb.258:                              # %._crit_edge1163.loopexit
                                        #   in Loop: Header=BB3_255 Depth=1
	movl	_ZL7innodes(%rip), %edx
	movq	%rbx, %rsi
.LBB3_259:                              # %._crit_edge1163
                                        #   in Loop: Header=BB3_255 Depth=1
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	%edx, %ecx
	movl	%eax, %ecx
	jl	.LBB3_255
.LBB3_260:                              # %._crit_edge1166
	movq	fl2(%rip), %rdi
	callq	fclose
	movq	fl6(%rip), %rdi
	callq	fclose
	movq	-256(%rbp), %rbx                # 8-byte Reload
	leaq	(,%rbx,4), %r12
	movq	%r12, %rdi
	callq	malloc
	movq	%rax, %r14
	movq	%r12, %rdi
	callq	malloc
	movq	%rax, -448(%rbp)                # 8-byte Spill
	movq	%r12, -200(%rbp)                # 8-byte Spill
	movq	%r12, %rdi
	callq	malloc
	movq	%rbx, %rcx
	movq	%rax, -280(%rbp)                # 8-byte Spill
	movl	%ecx, %eax
	testl	%ecx, %ecx
	movq	%r14, -456(%rbp)                # 8-byte Spill
	movq	%rax, -112(%rbp)                # 8-byte Spill
	jle	.LBB3_261
# %bb.275:                              # %.lr.ph1169.preheader
	leaq	(,%rax,4), %rdx
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	memset@PLT
	movq	-256(%rbp), %rcx                # 8-byte Reload
	movl	%ecx, %eax
	jmp	.LBB3_276
.LBB3_261:
	xorl	%eax, %eax
.LBB3_276:                              # %._crit_edge1170
	movl	%eax, _ZL1i(%rip)
	leaq	40(,%rcx,4), %r12
	leaq	-312(%rbp), %rbx
	movq	%rbx, %rdi
	movq	%r12, %rsi
	callq	hipMalloc
	movq	(%rbx), %rdi
	xorl	%esi, %esi
	movq	%r12, %rdx
	callq	hipMemset
	leaq	-328(%rbp), %rbx
	movq	%rbx, %rdi
	movq	%r12, %rsi
	callq	hipMalloc
	movq	(%rbx), %rdi
	xorl	%esi, %esi
	movq	%r12, %rdx
	callq	hipMemset
	leaq	-320(%rbp), %rbx
	movq	%rbx, %rdi
	movq	%r12, %rsi
	callq	hipMalloc
	movq	(%rbx), %rdi
	xorl	%esi, %esi
	movq	%r12, -496(%rbp)                # 8-byte Spill
	movq	%r12, %rdx
	callq	hipMemset
	leaq	-296(%rbp), %rbx
	movq	%rbx, %rdi
	movq	-440(%rbp), %r12                # 8-byte Reload
	movq	%r12, %rsi
	callq	hipMalloc
	movq	(%rbx), %rdi
	xorl	%esi, %esi
	movq	%r12, %rdx
	callq	hipMemset
	movslq	_ZL7innodes(%rip), %rax
	leaq	32(,%rax,4), %rsi
	leaq	-400(%rbp), %rbx
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	32(,%rax,4), %rdx
	xorl	%esi, %esi
	callq	hipMemset
	leaq	-464(%rbp), %rbx
	movq	%rbx, %rdi
	movq	%r12, %rsi
	callq	hipMalloc
	movq	(%rbx), %rdi
	xorl	%esi, %esi
	movq	%r12, %rdx
	callq	hipMemset
	leaq	-392(%rbp), %rbx
	movq	%rbx, %rdi
	movq	-304(%rbp), %r12                # 8-byte Reload
	movq	%r12, %rsi
	callq	hipMalloc
	movq	(%rbx), %rdi
	xorl	%esi, %esi
	movq	%r12, %rdx
	callq	hipMemset
	movl	_ZL7innodes(%rip), %eax
	movl	_ZL8outnodes(%rip), %ecx
	addl	%ecx, %eax
	addl	$2, %eax
	movslq	%eax, %rsi
	imulq	%r12, %rsi
	leaq	-384(%rbp), %rbx
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movl	_ZL7innodes(%rip), %eax
	movl	_ZL8outnodes(%rip), %ecx
	addl	%ecx, %eax
	addl	$2, %eax
	movslq	%eax, %rdx
	imulq	%r12, %rdx
	xorl	%esi, %esi
	callq	hipMemset
	movslq	_ZL7innodes(%rip), %rsi
	addq	$2, %rsi
	imulq	%r12, %rsi
	leaq	-376(%rbp), %rbx
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movslq	_ZL7innodes(%rip), %rdx
	addq	$2, %rdx
	imulq	%r12, %rdx
	xorl	%esi, %esi
	callq	hipMemset
	movslq	_ZL7innodes(%rip), %rsi
	addq	$2, %rsi
	imulq	%r12, %rsi
	leaq	-368(%rbp), %rbx
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movslq	_ZL7innodes(%rip), %rdx
	addq	$2, %rdx
	imulq	%r12, %rdx
	xorl	%esi, %esi
	callq	hipMemset
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rsi
	leaq	-360(%rbp), %rbx
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rdx
	xorl	%esi, %esi
	callq	hipMemset
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rsi
	leaq	-352(%rbp), %rbx
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rdx
	xorl	%esi, %esi
	callq	hipMemset
	movslq	_ZL7innodes(%rip), %rax
	addq	$4, %rax
	movslq	_ZL5resol(%rip), %rsi
	addq	$8, %rsi
	imulq	%rax, %rsi
	shlq	$2, %rsi
	leaq	-344(%rbp), %rbx
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movslq	_ZL7innodes(%rip), %rax
	addq	$4, %rax
	movslq	_ZL5resol(%rip), %rdx
	addq	$8, %rdx
	imulq	%rax, %rdx
	shlq	$2, %rdx
	xorl	%esi, %esi
	callq	hipMemset
	leaq	-336(%rbp), %rbx
	movl	$2008, %esi                     # imm = 0x7D8
	movq	%rbx, %rdi
	callq	hipMalloc
	movq	(%rbx), %rdi
	movl	$2008, %edx                     # imm = 0x7D8
	xorl	%esi, %esi
	callq	hipMemset
	testl	%eax, %eax
	je	.LBB3_278
# %bb.277:
	movl	$.Lstr, %edi
	callq	puts@PLT
.LBB3_278:
	cmpl	$0, _ZL8oneround(%rip)
	js	.LBB3_380
# %bb.279:                              # %.lr.ph1240
	movabsq	$4294967296, %rbx               # imm = 0x100000000
	cvtsi2sdl	-236(%rbp), %xmm0       # 4-byte Folded Reload
	mulsd	.LCPI3_7(%rip), %xmm0
	callq	ceil@PLT
	cvttsd2si	%xmm0, %eax
	btsq	$32, %rax
	movq	%rax, -480(%rbp)                # 8-byte Spill
	movl	_ZL1n(%rip), %eax
	addq	$512, %rbx                      # imm = 0x200
	movq	%rbx, -488(%rbp)                # 8-byte Spill
	xorl	%ecx, %ecx
	movq	%rcx, -88(%rbp)                 # 8-byte Spill
	xorpd	%xmm0, %xmm0
	movapd	%xmm0, -272(%rbp)               # 16-byte Spill
	xorl	%esi, %esi
	movq	%r15, -288(%rbp)                # 8-byte Spill
.LBB3_280:                              # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_286 Depth 2
                                        #       Child Loop BB3_289 Depth 3
                                        #       Child Loop BB3_293 Depth 3
                                        #       Child Loop BB3_298 Depth 3
                                        #     Child Loop BB3_311 Depth 2
                                        #       Child Loop BB3_314 Depth 3
                                        #       Child Loop BB3_319 Depth 3
                                        #     Child Loop BB3_345 Depth 2
                                        #     Child Loop BB3_352 Depth 2
                                        #       Child Loop BB3_354 Depth 3
                                        #         Child Loop BB3_356 Depth 4
                                        #           Child Loop BB3_358 Depth 5
                                        #             Child Loop BB3_361 Depth 6
                                        #     Child Loop BB3_371 Depth 2
                                        #       Child Loop BB3_373 Depth 3
	cmpl	%esi, %eax
	jne	.LBB3_283
# %bb.281:                              #   in Loop: Header=BB3_280 Depth=1
	testl	%eax, %eax
	jg	.LBB3_282
.LBB3_283:                              #   in Loop: Header=BB3_280 Depth=1
	movapd	%xmm0, -512(%rbp)               # 16-byte Spill
	movl	%esi, -432(%rbp)                # 4-byte Spill
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1952539694, fltmp(%rax)        # imm = 0x7461642E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl1(%rip)
	movl	$0, _ZL1n(%rip)
	cmpl	$0, -236(%rbp)                  # 4-byte Folded Reload
	jle	.LBB3_284
# %bb.285:                              # %.preheader892.preheader
                                        #   in Loop: Header=BB3_280 Depth=1
	xorl	%r14d, %r14d
	movq	-192(%rbp), %rbx                # 8-byte Reload
.LBB3_286:                              # %.preheader892
                                        #   Parent Loop BB3_280 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_289 Depth 3
                                        #       Child Loop BB3_293 Depth 3
                                        #       Child Loop BB3_298 Depth 3
	movl	_ZL8outnodes(%rip), %eax
	testl	%eax, %eax
	jle	.LBB3_287
# %bb.288:                              # %.lr.ph1174.preheader
                                        #   in Loop: Header=BB3_286 Depth=2
	leaq	4(,%rax,4), %rcx
	incq	%rax
	movl	$4, %edx
.LBB3_289:                              # %.lr.ph1174
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_286 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movl	$1065353216, _ZL8classval(%rdx) # imm = 0x3F800000
	addq	$4, %rdx
	cmpq	%rdx, %rcx
	jne	.LBB3_289
	jmp	.LBB3_290
.LBB3_287:                              #   in Loop: Header=BB3_286 Depth=2
	movl	$1, %eax
.LBB3_290:                              # %._crit_edge1175
                                        #   in Loop: Header=BB3_286 Depth=2
	movl	%eax, _ZL1k(%rip)
	incl	_ZL1n(%rip)
	cmpl	$3, _ZL4ans1(%rip)
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	jne	.LBB3_291
# %bb.296:                              # %.preheader890
                                        #   in Loop: Header=BB3_286 Depth=2
	testl	%eax, %eax
	jle	.LBB3_303
# %bb.297:                              # %.lr.ph1183.preheader
                                        #   in Loop: Header=BB3_286 Depth=2
	movl	$1, %ecx
	movslq	%r14d, %rdx
	movq	%rdx, -144(%rbp)                # 8-byte Spill
	movq	%r14, -224(%rbp)                # 8-byte Spill
.LBB3_298:                              # %.lr.ph1183
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_286 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movq	fl1(%rip), %rdi
	imull	%r14d, %eax
	addl	%ecx, %eax
	cltq
	movq	-72(%rbp), %rcx                 # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_301
# %bb.299:                              # %.lr.ph1183
                                        #   in Loop: Header=BB3_298 Depth=3
	cmpl	$2, %eax
	jne	.LBB3_302
# %bb.300:                              #   in Loop: Header=BB3_298 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movq	-144(%rbp), %r12                # 8-byte Reload
	imulq	%r12, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %rax                 # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	imulq	%r12, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-176(%rbp), %rax                # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_302
.LBB3_301:                              #   in Loop: Header=BB3_298 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movq	%rbx, %r14
	movq	-144(%rbp), %rbx                # 8-byte Reload
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %r12                 # 8-byte Reload
	leaq	(%r12,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL7innodes(%rip), %rax
	imulq	%rbx, %rax
	movq	%r14, %rbx
	movq	-224(%rbp), %r14                # 8-byte Reload
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movss	(%r12,%rcx,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-176(%rbp), %rax                # 8-byte Reload
	movss	%xmm0, (%rax,%rcx,4)
.LBB3_302:                              #   in Loop: Header=BB3_298 Depth=3
	movl	_ZL1i(%rip), %edx
	leal	1(%rdx), %ecx
	movl	%ecx, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	cmpl	%eax, %edx
	jl	.LBB3_298
.LBB3_303:                              # %._crit_edge1184
                                        #   in Loop: Header=BB3_286 Depth=2
	movq	fl1(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_307
.LBB3_291:                              # %.preheader891
                                        #   in Loop: Header=BB3_286 Depth=2
	testl	%eax, %eax
	jle	.LBB3_306
# %bb.292:                              # %.lr.ph1179.preheader
                                        #   in Loop: Header=BB3_286 Depth=2
	movl	$1, %ecx
.LBB3_293:                              # %.lr.ph1179
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_286 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movq	fl1(%rip), %rdi
	imull	%r14d, %eax
	addl	%ecx, %eax
	cltq
	movq	-72(%rbp), %rcx                 # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_304
# %bb.294:                              # %.lr.ph1179
                                        #   in Loop: Header=BB3_293 Depth=3
	cmpl	$2, %eax
	jne	.LBB3_305
# %bb.295:                              #   in Loop: Header=BB3_293 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movslq	%r14d, %rbx
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %rax                 # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	imulq	%rbx, %rax
	movq	-192(%rbp), %rbx                # 8-byte Reload
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-168(%rbp), %rax                # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_305
.LBB3_304:                              #   in Loop: Header=BB3_293 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movslq	%r14d, %rbx
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %r12                 # 8-byte Reload
	leaq	(%r12,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL7innodes(%rip), %rax
	imulq	%rbx, %rax
	movq	-192(%rbp), %rbx                # 8-byte Reload
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movss	(%r12,%rcx,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-168(%rbp), %rax                # 8-byte Reload
	movss	%xmm0, (%rax,%rcx,4)
.LBB3_305:                              #   in Loop: Header=BB3_293 Depth=3
	movl	_ZL1i(%rip), %edx
	leal	1(%rdx), %ecx
	movl	%ecx, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	cmpl	%eax, %edx
	jl	.LBB3_293
.LBB3_306:                              # %._crit_edge1180
                                        #   in Loop: Header=BB3_286 Depth=2
	movq	fl1(%rip), %rdi
	movq	-248(%rbp), %rax                # 8-byte Reload
	leaq	(%rax,%r14,4), %rdx
	movl	$.L.str.27, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
.LBB3_307:                              #   in Loop: Header=BB3_286 Depth=2
	incq	%r14
	cmpq	-112(%rbp), %r14                # 8-byte Folded Reload
	jne	.LBB3_286
# %bb.308:                              # %._crit_edge1187.loopexit
                                        #   in Loop: Header=BB3_280 Depth=1
	movq	fl1(%rip), %rax
	jmp	.LBB3_309
.LBB3_284:                              #   in Loop: Header=BB3_280 Depth=1
	movq	-192(%rbp), %rbx                # 8-byte Reload
.LBB3_309:                              # %._crit_edge1187
                                        #   in Loop: Header=BB3_280 Depth=1
	movq	%rax, %rdi
	callq	fclose
	movq	-296(%rbp), %rdi
	movq	%r15, %rsi
	movq	-440(%rbp), %r12                # 8-byte Reload
	movq	%r12, %rdx
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-400(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	32(,%rax,4), %rdx
	movq	-48(%rbp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-464(%rbp), %rdi
	movq	%rbx, %rsi
	movq	%r12, %rdx
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-392(%rbp), %rdi
	movq	-248(%rbp), %rsi                # 8-byte Reload
	movq	-304(%rbp), %rbx                # 8-byte Reload
	movq	%rbx, %rdx
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-384(%rbp), %rdi
	movl	_ZL7innodes(%rip), %eax
	movl	_ZL8outnodes(%rip), %ecx
	addl	%ecx, %eax
	addl	$2, %eax
	movslq	%eax, %rdx
	imulq	%rbx, %rdx
	movq	-72(%rbp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-376(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rdx
	addq	$2, %rdx
	imulq	%rbx, %rdx
	movq	-64(%rbp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-368(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rdx
	addq	$2, %rdx
	imulq	%rbx, %rdx
	movq	-168(%rbp), %rsi                # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-360(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rdx
	movq	-152(%rbp), %rsi                # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-352(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rdx
	movq	-160(%rbp), %r14                # 8-byte Reload
	movq	%r14, %rsi
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-344(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	addq	$4, %rax
	movslq	_ZL5resol(%rip), %rdx
	addq	$8, %rdx
	imulq	%rax, %rdx
	shlq	$2, %rdx
	movq	-104(%rbp), %r12                # 8-byte Reload
	movq	%r12, %rsi
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-336(%rbp), %rdi
	movl	$_ZL8dmyclass, %esi
	movl	$2008, %edx                     # imm = 0x7D8
	movl	$1, %ecx
	callq	hipMemcpy
	movss	_ZL4gain(%rip), %xmm0           # xmm0 = mem[0],zero,zero,zero
	movl	_ZL7innodes(%rip), %eax
	movl	_ZL5resol(%rip), %r10d
	movl	_ZL8outnodes(%rip), %r11d
	movl	_ZL6nerror(%rip), %ebx
	movq	-256(%rbp), %rdi                # 8-byte Reload
                                        # kill: def $edi killed $edi killed $rdi
	movq	-248(%rbp), %rsi                # 8-byte Reload
	movq	-152(%rbp), %rdx                # 8-byte Reload
	movq	%r14, %rcx
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movq	-72(%rbp), %r9                  # 8-byte Reload
	pushq	-88(%rbp)                       # 8-byte Folded Reload
	pushq	%rbx
	pushq	%r11
	pushq	%r10
	pushq	%rax
	pushq	$_ZL8dmyclass
	pushq	-192(%rbp)                      # 8-byte Folded Reload
	pushq	%r15
	pushq	-56(%rbp)                       # 8-byte Folded Reload
	pushq	%r12
	pushq	-168(%rbp)                      # 8-byte Folded Reload
	pushq	-64(%rbp)                       # 8-byte Folded Reload
	callq	_Z7kernel1iPfS_S_PiS_S_S_S_iS0_S_S_fiiiii
	addq	$96, %rsp
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1952539694, fltmp(%rax)        # imm = 0x7461642E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl1(%rip)
	movl	_ZL1n(%rip), %ecx
	movl	%ecx, _ZL1m(%rip)
	movl	$0, _ZL1n(%rip)
	cmpl	$0, -236(%rbp)                  # 4-byte Folded Reload
	jle	.LBB3_330
# %bb.310:                              # %.lr.ph1199.preheader
                                        #   in Loop: Header=BB3_280 Depth=1
	xorl	%r14d, %r14d
.LBB3_311:                              # %.lr.ph1199
                                        #   Parent Loop BB3_280 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_314 Depth 3
                                        #       Child Loop BB3_319 Depth 3
	incl	_ZL1n(%rip)
	cmpl	$3, _ZL4ans1(%rip)
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	jne	.LBB3_312
# %bb.317:                              # %.preheader888
                                        #   in Loop: Header=BB3_311 Depth=2
	testl	%eax, %eax
	jle	.LBB3_324
# %bb.318:                              # %.lr.ph1194.preheader
                                        #   in Loop: Header=BB3_311 Depth=2
	movl	$1, %ecx
.LBB3_319:                              # %.lr.ph1194
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_311 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movq	fl1(%rip), %rdi
	imull	%r14d, %eax
	addl	%ecx, %eax
	cltq
	movq	-72(%rbp), %rcx                 # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_322
# %bb.320:                              # %.lr.ph1194
                                        #   in Loop: Header=BB3_319 Depth=3
	cmpl	$2, %eax
	jne	.LBB3_323
# %bb.321:                              #   in Loop: Header=BB3_319 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movslq	%r14d, %rbx
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %rax                 # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-168(%rbp), %rax                # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_323
.LBB3_322:                              #   in Loop: Header=BB3_319 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movslq	%r14d, %rbx
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %r12                 # 8-byte Reload
	leaq	(%r12,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL7innodes(%rip), %rax
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movss	(%r12,%rcx,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-168(%rbp), %rax                # 8-byte Reload
	movss	%xmm0, (%rax,%rcx,4)
.LBB3_323:                              #   in Loop: Header=BB3_319 Depth=3
	movl	_ZL1i(%rip), %edx
	leal	1(%rdx), %ecx
	movl	%ecx, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	cmpl	%eax, %edx
	jl	.LBB3_319
.LBB3_324:                              # %._crit_edge1195
                                        #   in Loop: Header=BB3_311 Depth=2
	movq	fl1(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_328
.LBB3_312:                              # %.preheader889
                                        #   in Loop: Header=BB3_311 Depth=2
	testl	%eax, %eax
	jle	.LBB3_327
# %bb.313:                              # %.lr.ph1190.preheader
                                        #   in Loop: Header=BB3_311 Depth=2
	movl	$1, %ecx
.LBB3_314:                              # %.lr.ph1190
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_311 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movq	fl1(%rip), %rdi
	imull	%r14d, %eax
	addl	%ecx, %eax
	cltq
	movq	-72(%rbp), %rcx                 # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_325
# %bb.315:                              # %.lr.ph1190
                                        #   in Loop: Header=BB3_314 Depth=3
	cmpl	$2, %eax
	jne	.LBB3_326
# %bb.316:                              #   in Loop: Header=BB3_314 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movslq	%r14d, %rbx
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %rax                 # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-168(%rbp), %rax                # 8-byte Reload
	leaq	(%rax,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_326
.LBB3_325:                              #   in Loop: Header=BB3_314 Depth=3
	movq	fl1(%rip), %rdi
	movslq	_ZL7innodes(%rip), %rax
	movslq	%r14d, %rbx
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movq	-64(%rbp), %r12                 # 8-byte Reload
	leaq	(%r12,%rcx,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL7innodes(%rip), %rax
	imulq	%rbx, %rax
	movslq	_ZL1i(%rip), %rcx
	addq	%rax, %rcx
	movss	(%r12,%rcx,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-168(%rbp), %rax                # 8-byte Reload
	movss	%xmm0, (%rax,%rcx,4)
.LBB3_326:                              #   in Loop: Header=BB3_314 Depth=3
	movl	_ZL1i(%rip), %edx
	leal	1(%rdx), %ecx
	movl	%ecx, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	cmpl	%eax, %edx
	jl	.LBB3_314
.LBB3_327:                              # %._crit_edge1191
                                        #   in Loop: Header=BB3_311 Depth=2
	movq	fl1(%rip), %rdi
	movq	-248(%rbp), %rax                # 8-byte Reload
	leaq	(%rax,%r14,4), %rdx
	movl	$.L.str.27, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
.LBB3_328:                              #   in Loop: Header=BB3_311 Depth=2
	incq	%r14
	cmpq	-112(%rbp), %r14                # 8-byte Folded Reload
	jne	.LBB3_311
# %bb.329:                              # %._crit_edge1200.loopexit
                                        #   in Loop: Header=BB3_280 Depth=1
	movq	fl1(%rip), %rax
.LBB3_330:                              # %._crit_edge1200
                                        #   in Loop: Header=BB3_280 Depth=1
	movq	%rax, %rdi
	callq	fclose
	movl	$0, _ZL1i(%rip)
	movq	-312(%rbp), %rdi
	xorl	%esi, %esi
	movq	-496(%rbp), %rbx                # 8-byte Reload
	movq	%rbx, %rdx
	callq	hipMemset
	movq	-328(%rbp), %rdi
	xorl	%esi, %esi
	movq	%rbx, %rdx
	callq	hipMemset
	movq	-320(%rbp), %rdi
	xorl	%esi, %esi
	movq	%rbx, %rdx
	callq	hipMemset
	movq	-400(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	32(,%rax,4), %rdx
	movq	-48(%rbp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-392(%rbp), %rdi
	movq	-248(%rbp), %rsi                # 8-byte Reload
	movq	-304(%rbp), %rbx                # 8-byte Reload
	movq	%rbx, %rdx
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-384(%rbp), %rdi
	movl	_ZL7innodes(%rip), %eax
	movl	_ZL8outnodes(%rip), %ecx
	addl	%ecx, %eax
	addl	$2, %eax
	movslq	%eax, %rdx
	imulq	%rbx, %rdx
	movq	-72(%rbp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-376(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rdx
	addq	$2, %rdx
	imulq	%rbx, %rdx
	movq	-64(%rbp), %rsi                 # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-368(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rdx
	addq	$2, %rdx
	imulq	%rbx, %rdx
	movq	-168(%rbp), %rsi                # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-360(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rdx
	movq	-152(%rbp), %rsi                # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-352(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	leaq	8(,%rax,4), %rdx
	movq	-160(%rbp), %rsi                # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-344(%rbp), %rdi
	movslq	_ZL7innodes(%rip), %rax
	addq	$4, %rax
	movslq	_ZL5resol(%rip), %rdx
	addq	$8, %rdx
	imulq	%rax, %rdx
	shlq	$2, %rdx
	movq	-104(%rbp), %rsi                # 8-byte Reload
	movl	$1, %ecx
	callq	hipMemcpy
	movq	-336(%rbp), %rdi
	movl	$_ZL8dmyclass, %esi
	movl	$2008, %edx                     # imm = 0x7D8
	movl	$1, %ecx
	callq	hipMemcpy
	callq	hipGetLastError
	testl	%eax, %eax
	je	.LBB3_332
# %bb.331:                              #   in Loop: Header=BB3_280 Depth=1
	movl	%eax, %edi
	callq	hipGetErrorString
	movl	$.L.str.53, %edi
	movl	$.L.str.54, %esi
	movl	$779, %edx                      # imm = 0x30B
	movq	%rax, %rcx
	xorl	%eax, %eax
	callq	printf
.LBB3_332:                              #   in Loop: Header=BB3_280 Depth=1
	movq	-480(%rbp), %rdi                # 8-byte Reload
	movl	$1, %esi
	movq	-488(%rbp), %rdx                # 8-byte Reload
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
	testl	%eax, %eax
	jne	.LBB3_334
# %bb.333:                              #   in Loop: Header=BB3_280 Depth=1
	movq	-392(%rbp), %rsi
	movq	-360(%rbp), %rdx
	movq	-352(%rbp), %rcx
	movq	-400(%rbp), %r8
	movq	-384(%rbp), %r9
	movss	_ZL4gain(%rip), %xmm0           # xmm0 = mem[0],zero,zero,zero
	movl	_ZL7innodes(%rip), %eax
	movl	_ZL5resol(%rip), %r10d
	movl	_ZL8outnodes(%rip), %r11d
	movl	_ZL6nerror(%rip), %ebx
	subq	$8, %rsp
	movq	-256(%rbp), %rdi                # 8-byte Reload
                                        # kill: def $edi killed $edi killed $rdi
	pushq	-320(%rbp)
	pushq	-328(%rbp)
	pushq	-312(%rbp)
	pushq	-88(%rbp)                       # 8-byte Folded Reload
	pushq	%rbx
	pushq	%r11
	pushq	%r10
	pushq	%rax
	pushq	-336(%rbp)
	pushq	-464(%rbp)
	pushq	-296(%rbp)
	pushq	-56(%rbp)                       # 8-byte Folded Reload
	pushq	-344(%rbp)
	pushq	-368(%rbp)
	pushq	-376(%rbp)
	callq	_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	addq	$128, %rsp
.LBB3_334:                              #   in Loop: Header=BB3_280 Depth=1
	callq	hipGetLastError
	testl	%eax, %eax
	je	.LBB3_336
# %bb.335:                              #   in Loop: Header=BB3_280 Depth=1
	movl	%eax, %edi
	callq	hipGetErrorString
	movq	%rax, %rdi
	callq	puts@PLT
.LBB3_336:                              #   in Loop: Header=BB3_280 Depth=1
	movq	-312(%rbp), %rsi
	movq	-456(%rbp), %rdi                # 8-byte Reload
	movq	-200(%rbp), %rdx                # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
	callq	hipGetLastError
	testl	%eax, %eax
	je	.LBB3_338
# %bb.337:                              #   in Loop: Header=BB3_280 Depth=1
	movl	%eax, %edi
	callq	hipGetErrorString
	movq	%rax, %rdi
	callq	puts@PLT
.LBB3_338:                              #   in Loop: Header=BB3_280 Depth=1
	movq	-328(%rbp), %rsi
	movq	-448(%rbp), %rdi                # 8-byte Reload
	movq	-200(%rbp), %rdx                # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
	callq	hipGetLastError
	testl	%eax, %eax
	je	.LBB3_340
# %bb.339:                              #   in Loop: Header=BB3_280 Depth=1
	movl	%eax, %edi
	callq	hipGetErrorString
	movq	%rax, %rdi
	callq	puts@PLT
.LBB3_340:                              #   in Loop: Header=BB3_280 Depth=1
	movq	-320(%rbp), %rsi
	movq	-280(%rbp), %rdi                # 8-byte Reload
	movq	-200(%rbp), %rdx                # 8-byte Reload
	movl	$2, %ecx
	callq	hipMemcpy
	callq	hipGetLastError
	testl	%eax, %eax
	je	.LBB3_342
# %bb.341:                              #   in Loop: Header=BB3_280 Depth=1
	movl	%eax, %edi
	callq	hipGetErrorString
	movq	%rax, %rdi
	callq	puts@PLT
.LBB3_342:                              #   in Loop: Header=BB3_280 Depth=1
	cmpl	$0, -236(%rbp)                  # 4-byte Folded Reload
	movq	-280(%rbp), %rsi                # 8-byte Reload
	jle	.LBB3_343
# %bb.344:                              # %.lr.ph1206.preheader
                                        #   in Loop: Header=BB3_280 Depth=1
	xorl	%eax, %eax
	xorpd	%xmm1, %xmm1
	xorps	%xmm0, %xmm0
	xorl	%edx, %edx
	movq	-456(%rbp), %rcx                # 8-byte Reload
	movq	-448(%rbp), %r8                 # 8-byte Reload
	movq	-112(%rbp), %rdi                # 8-byte Reload
.LBB3_345:                              # %.lr.ph1206
                                        #   Parent Loop BB3_280 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	addl	(%rcx,%rax,4), %edx
	addss	(%r8,%rax,4), %xmm0
	addss	(%rsi,%rax,4), %xmm1
	incq	%rax
	cmpq	%rax, %rdi
	jne	.LBB3_345
# %bb.346:                              #   in Loop: Header=BB3_280 Depth=1
	movq	-256(%rbp), %rax                # 8-byte Reload
                                        # kill: def $eax killed $eax killed $rax
	jmp	.LBB3_347
.LBB3_343:                              #   in Loop: Header=BB3_280 Depth=1
	xorps	%xmm0, %xmm0
	xorl	%eax, %eax
	xorl	%edx, %edx
	xorpd	%xmm1, %xmm1
.LBB3_347:                              # %._crit_edge1207
                                        #   in Loop: Header=BB3_280 Depth=1
	movaps	%xmm0, -416(%rbp)               # 16-byte Spill
	movl	%eax, _ZL1i(%rip)
	cvtss2sd	%xmm0, %xmm0
	movapd	%xmm1, -144(%rbp)               # 16-byte Spill
	cvtss2sd	%xmm1, %xmm1
	cvtss2sd	-272(%rbp), %xmm2               # 16-byte Folded Reload
	movl	$.L.str.56, %edi
	movq	-88(%rbp), %rsi                 # 8-byte Reload
                                        # kill: def $esi killed $esi killed $rsi
	movl	%edx, -232(%rbp)                # 4-byte Spill
	movb	$3, %al
	callq	printf
	movaps	-416(%rbp), %xmm3               # 16-byte Reload
	movaps	-512(%rbp), %xmm1               # 16-byte Reload
	movaps	%xmm1, %xmm4
	xorps	%xmm2, %xmm2
	cmpeqss	%xmm2, %xmm4
	movaps	%xmm4, %xmm0
	andps	%xmm3, %xmm0
	andnps	%xmm1, %xmm4
	orps	%xmm0, %xmm4
	xorps	%xmm1, %xmm1
	ucomiss	%xmm2, %xmm3
	jbe	.LBB3_349
# %bb.348:                              #   in Loop: Header=BB3_280 Depth=1
	movaps	%xmm4, %xmm0
	divss	%xmm3, %xmm0
	movss	%xmm0, _ZL5nrslt(%rip)
.LBB3_349:                              #   in Loop: Header=BB3_280 Depth=1
	movaps	-272(%rbp), %xmm2               # 16-byte Reload
	movaps	%xmm2, %xmm3
	cmpeqss	%xmm1, %xmm3
	movaps	%xmm3, %xmm0
	andps	-144(%rbp), %xmm0               # 16-byte Folded Reload
	andnps	%xmm2, %xmm3
	orps	%xmm0, %xmm3
	movl	-432(%rbp), %eax                # 4-byte Reload
	cmpl	%eax, -232(%rbp)                # 4-byte Folded Reload
	jle	.LBB3_350
# %bb.351:                              #   in Loop: Header=BB3_280 Depth=1
	movaps	%xmm3, -224(%rbp)               # 16-byte Spill
	movaps	%xmm4, -272(%rbp)               # 16-byte Spill
	movq	-88(%rbp), %rax                 # 8-byte Reload
	movl	%eax, _ZL3rnn(%rip)
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movl	$1719099694, fltmp(%rax)        # imm = 0x6677612E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	movl	$.L.str.39, %esi
	callq	fopen
	movq	%rax, fl6(%rip)
	movl	$1, _ZL1k(%rip)
	cmpl	$0, _ZL8outnodes(%rip)
	jle	.LBB3_369
.LBB3_352:                              # %.preheader887
                                        #   Parent Loop BB3_280 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_354 Depth 3
                                        #         Child Loop BB3_356 Depth 4
                                        #           Child Loop BB3_358 Depth 5
                                        #             Child Loop BB3_361 Depth 6
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	testl	%eax, %eax
	movq	-48(%rbp), %r8                  # 8-byte Reload
	jle	.LBB3_367
# %bb.353:                              # %.preheader885.preheader
                                        #   in Loop: Header=BB3_352 Depth=2
	movl	$1, %ecx
.LBB3_354:                              # %.preheader885
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_352 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_356 Depth 4
                                        #           Child Loop BB3_358 Depth 5
                                        #             Child Loop BB3_361 Depth 6
	movl	$0, _ZL1j(%rip)
	movslq	%ecx, %rdx
	cmpl	$0, (%r8,%rdx,4)
	js	.LBB3_366
# %bb.355:                              # %.preheader884.preheader
                                        #   in Loop: Header=BB3_354 Depth=3
	xorl	%edx, %edx
.LBB3_356:                              # %.preheader884
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_352 Depth=2
                                        #       Parent Loop BB3_354 Depth=3
                                        # =>      This Loop Header: Depth=4
                                        #           Child Loop BB3_358 Depth 5
                                        #             Child Loop BB3_361 Depth 6
	movl	$1, _ZL1l(%rip)
	testl	%eax, %eax
	jle	.LBB3_365
# %bb.357:                              # %.lr.ph1218.preheader
                                        #   in Loop: Header=BB3_356 Depth=4
	movl	$1, %edx
	movl	%ecx, %esi
.LBB3_358:                              # %.lr.ph1218
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_352 Depth=2
                                        #       Parent Loop BB3_354 Depth=3
                                        #         Parent Loop BB3_356 Depth=4
                                        # =>        This Loop Header: Depth=5
                                        #             Child Loop BB3_361 Depth 6
	movl	%esi, %edi
	cmpl	%edx, %esi
	je	.LBB3_363
# %bb.359:                              # %.preheader883
                                        #   in Loop: Header=BB3_358 Depth=5
	movl	$0, _ZL1m(%rip)
	movslq	%edx, %rax
	cmpl	$0, (%r8,%rax,4)
	movq	-192(%rbp), %rbx                # 8-byte Reload
	movq	%r8, %r15
	movl	-76(%rbp), %r12d                # 4-byte Reload
	movq	-56(%rbp), %r14                 # 8-byte Reload
	js	.LBB3_362
# %bb.360:                              # %.lr.ph1214.preheader
                                        #   in Loop: Header=BB3_358 Depth=5
	xorl	%eax, %eax
.LBB3_361:                              # %.lr.ph1214
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_352 Depth=2
                                        #       Parent Loop BB3_354 Depth=3
                                        #         Parent Loop BB3_356 Depth=4
                                        #           Parent Loop BB3_358 Depth=5
                                        # =>          This Inner Loop Header: Depth=6
	movq	fl6(%rip), %rdi
	movl	_ZL1i(%rip), %ecx
	imull	%r14d, %ecx
	addl	_ZL1j(%rip), %ecx
	imull	%r12d, %ecx
	addl	%edx, %ecx
	imull	%r14d, %ecx
	addl	%eax, %ecx
	imull	%r13d, %ecx
	movslq	_ZL1k(%rip), %rax
	movslq	%ecx, %rcx
	addq	%rax, %rcx
	xorps	%xmm0, %xmm0
	cvtss2sd	(%rbx,%rcx,4), %xmm0
	movl	$.L.str.42, %esi
	movb	$1, %al
	callq	fprintf
	movl	_ZL1m(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1m(%rip)
	movslq	_ZL1l(%rip), %rdx
	cmpl	(%r15,%rdx,4), %ecx
	jl	.LBB3_361
.LBB3_362:                              # %._crit_edge1215
                                        #   in Loop: Header=BB3_358 Depth=5
	movq	fl6(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movl	_ZL1i(%rip), %ecx
	movl	_ZL1l(%rip), %esi
	movl	_ZL7innodes(%rip), %eax
	movl	%ecx, %edi
	movq	%r15, %r8
	movq	-288(%rbp), %r15                # 8-byte Reload
.LBB3_363:                              #   in Loop: Header=BB3_358 Depth=5
	leal	1(%rsi), %edx
	movl	%edx, _ZL1l(%rip)
	cmpl	%eax, %esi
	movl	%edi, %esi
	jl	.LBB3_358
# %bb.364:                              # %._crit_edge1219.loopexit
                                        #   in Loop: Header=BB3_356 Depth=4
	movl	_ZL1j(%rip), %edx
.LBB3_365:                              # %._crit_edge1219
                                        #   in Loop: Header=BB3_356 Depth=4
	leal	1(%rdx), %esi
	movl	%esi, _ZL1j(%rip)
	movslq	%ecx, %rdi
	cmpl	(%r8,%rdi,4), %edx
	movl	%esi, %edx
	jl	.LBB3_356
.LBB3_366:                              # %._crit_edge1221
                                        #   in Loop: Header=BB3_354 Depth=3
	leal	1(%rcx), %edx
	movl	%edx, _ZL1i(%rip)
	cmpl	%eax, %ecx
	movl	%edx, %ecx
	jl	.LBB3_354
.LBB3_367:                              # %._crit_edge1224
                                        #   in Loop: Header=BB3_352 Depth=2
	movq	fl6(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	movl	_ZL1k(%rip), %eax
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1k(%rip)
	cmpl	_ZL8outnodes(%rip), %eax
	jl	.LBB3_352
# %bb.368:                              # %._crit_edge1226.loopexit
                                        #   in Loop: Header=BB3_280 Depth=1
	movq	fl6(%rip), %rax
.LBB3_369:                              # %._crit_edge1226
                                        #   in Loop: Header=BB3_280 Depth=1
	movl	$10, %edi
	movq	%rax, %rsi
	callq	fputc@PLT
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %ecx
	testl	%ecx, %ecx
	movq	-48(%rbp), %rsi                 # 8-byte Reload
	movaps	-144(%rbp), %xmm0               # 16-byte Reload
	movaps	-224(%rbp), %xmm1               # 16-byte Reload
	jle	.LBB3_376
# %bb.370:                              # %.preheader886.preheader
                                        #   in Loop: Header=BB3_280 Depth=1
	movl	$1, %eax
.LBB3_371:                              # %.preheader886
                                        #   Parent Loop BB3_280 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_373 Depth 3
	movl	$1, _ZL1j(%rip)
	movslq	%eax, %rdx
	cmpl	$0, (%rsi,%rdx,4)
	jle	.LBB3_375
# %bb.372:                              # %.lr.ph1229.preheader
                                        #   in Loop: Header=BB3_371 Depth=2
	movl	$1, %ecx
	movq	-56(%rbp), %rbx                 # 8-byte Reload
	movq	-104(%rbp), %r12                # 8-byte Reload
.LBB3_373:                              # %.lr.ph1229
                                        #   Parent Loop BB3_280 Depth=1
                                        #     Parent Loop BB3_371 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movq	fl6(%rip), %rdi
	imull	%ebx, %eax
	addl	%ecx, %eax
	cltq
	xorps	%xmm0, %xmm0
	cvtss2sd	(%r12,%rax,4), %xmm0
	movl	$.L.str.27, %esi
	movb	$1, %al
	callq	fprintf
	movq	-48(%rbp), %rsi                 # 8-byte Reload
	movl	_ZL1j(%rip), %edx
	leal	1(%rdx), %ecx
	movl	%ecx, _ZL1j(%rip)
	movslq	_ZL1i(%rip), %rax
	cmpl	(%rsi,%rax,4), %edx
	jl	.LBB3_373
# %bb.374:                              # %._crit_edge1230.loopexit
                                        #   in Loop: Header=BB3_371 Depth=2
	movl	_ZL7innodes(%rip), %ecx
	movaps	-144(%rbp), %xmm0               # 16-byte Reload
	movaps	-224(%rbp), %xmm1               # 16-byte Reload
.LBB3_375:                              # %._crit_edge1230
                                        #   in Loop: Header=BB3_371 Depth=2
	leal	1(%rax), %edx
	movl	%edx, _ZL1i(%rip)
	cmpl	%ecx, %eax
	movl	%edx, %eax
	jl	.LBB3_371
.LBB3_376:                              # %._crit_edge1233
                                        #   in Loop: Header=BB3_280 Depth=1
	subss	%xmm1, %xmm0
	movaps	%xmm0, -432(%rbp)               # 16-byte Spill
	movq	fl6(%rip), %rdi
	callq	fflush
	movq	fl6(%rip), %rdi
	callq	fclose
	movl	$_ZSt4cout, %edi
	movl	$.L.str.57, %esi
	movl	$6, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL3rnn(%rip), %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movq	%rax, %rbx
	movl	$.L.str.58, %esi
	movl	$8, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	xorps	%xmm0, %xmm0
	cvtss2sd	-432(%rbp), %xmm0               # 16-byte Folded Reload
	movq	%rbx, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
	movq	%rax, %rbx
	movl	$.L.str.59, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	xorps	%xmm0, %xmm0
	cvtss2sd	_ZL5nrslt(%rip), %xmm0
	movq	%rbx, %rdi
	callq	_ZNSo9_M_insertIdEERSoT_
	movq	%rax, %rbx
	movl	$.L.str.60, %esi
	movl	$17, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	%rbx, %rdi
	movl	-232(%rbp), %esi                # 4-byte Reload
	callq	_ZNSolsEi
	movq	%rax, %rbx
	movq	(%rax), %rax
	movq	-24(%rax), %rdi
	addq	%rbx, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movq	%rbx, %rdi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
	movaps	-144(%rbp), %xmm1               # 16-byte Reload
	maxss	-224(%rbp), %xmm1               # 16-byte Folded Reload
	movaps	-416(%rbp), %xmm0               # 16-byte Reload
	movaps	-272(%rbp), %xmm2               # 16-byte Reload
	ucomiss	%xmm0, %xmm2
	ja	.LBB3_378
# %bb.377:                              #   in Loop: Header=BB3_280 Depth=1
	movaps	%xmm2, %xmm0
.LBB3_378:                              #   in Loop: Header=BB3_280 Depth=1
	movl	-232(%rbp), %esi                # 4-byte Reload
	jmp	.LBB3_379
.LBB3_350:                              #   in Loop: Header=BB3_280 Depth=1
	movl	%eax, %esi
	movaps	%xmm4, %xmm0
	movaps	%xmm3, %xmm1
.LBB3_379:                              #   in Loop: Header=BB3_280 Depth=1
	movl	_ZL1m(%rip), %eax
	movl	%eax, _ZL1n(%rip)
	movq	-88(%rbp), %rdx                 # 8-byte Reload
	leal	1(%rdx), %ecx
	movaps	%xmm1, -272(%rbp)               # 16-byte Spill
	cmpl	_ZL8oneround(%rip), %edx
                                        # kill: def $ecx killed $ecx def $rcx
	movq	%rcx, -88(%rbp)                 # 8-byte Spill
	jl	.LBB3_280
	jmp	.LBB3_380
.LBB3_282:
	movl	$.Lstr.1, %edi
	callq	puts@PLT
.LBB3_380:                              # %.loopexit893
	movq	$0, fl6(%rip)
	movl	$_ZSt4cout, %edi
	movl	$.L.str.61, %esi
	movl	$21, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL3rnn(%rip), %esi
	movl	$_ZSt4cout, %edi
	callq	_ZNSolsEi
	movq	%rax, %rbx
	movq	(%rax), %rax
	movq	-24(%rax), %rdi
	addq	%rbx, %rdi
	movl	$10, %esi
	callq	_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc
	movsbl	%al, %esi
	movq	%rbx, %rdi
	callq	_ZNSo3putEc
	movq	%rax, %rdi
	callq	_ZNSo5flushEv
.LBB3_381:
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	xorl	%ebx, %ebx
	movb	%bl, fltmp+4(%rax)
	movl	$1952539694, fltmp(%rax)        # imm = 0x7461642E
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl1(%rip)
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movb	%bl, fltmp+4(%rax)
	movl	$1719099694, fltmp(%rax)        # imm = 0x6677612E
	movq	%rbx, fl6(%rip)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl6(%rip)
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movl	$fltmp, %edi
	callq	strlen
	movb	%bl, fltmp+4(%rax)
	movl	$1718640942, fltmp(%rax)        # imm = 0x6670612E
	movq	%rbx, fl2(%rip)
	movl	$fltmp, %edi
	movl	$.L.str, %esi
	callq	fopen
	movq	%rax, fl2(%rip)
	movl	$_ZSt4cout, %edi
	testq	%rax, %rax
	je	.LBB3_448
# %bb.382:
	movl	$.L.str.62, %esi
	movl	$41, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-48(%rbp), %r8                  # 8-byte Reload
	jle	.LBB3_389
# %bb.383:                              # %.lr.ph1251.preheader
	movq	-104(%rbp), %rax                # 8-byte Reload
	leaq	4(%rax), %rbx
	movl	$1, %ecx
.LBB3_384:                              # %.lr.ph1251
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_386 Depth 2
	movq	fl2(%rip), %rdi
	movslq	%ecx, %rax
	leaq	(%r8,%rax,4), %rdx
	movl	$.L.str.10, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movslq	_ZL1i(%rip), %rax
	movl	(%r8,%rax,4), %ecx
	movl	$0, %edx
	testl	%ecx, %ecx
	movq	-56(%rbp), %rsi                 # 8-byte Reload
	js	.LBB3_388
# %bb.385:                              # %.lr.ph1244
                                        #   in Loop: Header=BB3_384 Depth=1
	movl	%eax, %edx
	imull	%esi, %edx
	movslq	%edx, %rdx
	incq	%rcx
	leaq	(%rbx,%rdx,4), %rdx
	xorl	%esi, %esi
.LBB3_386:                              #   Parent Loop BB3_384 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	xorps	%xmm0, %xmm0
	cvtsi2ss	%esi, %xmm0
	movss	%xmm0, (%rdx,%rsi,4)
	incq	%rsi
	cmpq	%rsi, %rcx
	jne	.LBB3_386
# %bb.387:                              #   in Loop: Header=BB3_384 Depth=1
	movl	%ecx, %edx
.LBB3_388:                              # %._crit_edge1245
                                        #   in Loop: Header=BB3_384 Depth=1
	movl	%edx, _ZL1j(%rip)
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %eax
	jl	.LBB3_384
.LBB3_389:                              # %._crit_edge1252
	movq	fl2(%rip), %rdi
	movl	$.L.str.9, %esi
	movl	$_ZL4omax, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.9, %esi
	movl	$_ZL4omin, %edx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-160(%rbp), %rbx                # 8-byte Reload
	jle	.LBB3_392
# %bb.390:                              # %.lr.ph1256.preheader
	movl	$1, %eax
.LBB3_391:                              # %.lr.ph1256
                                        # =>This Inner Loop Header: Depth=1
	movq	fl2(%rip), %rdi
	cltq
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_391
.LBB3_392:                              # %._crit_edge1257
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	$1, _ZL1i(%rip)
	cmpl	$0, _ZL7innodes(%rip)
	movq	-152(%rbp), %rbx                # 8-byte Reload
	jle	.LBB3_395
# %bb.393:                              # %.lr.ph1261.preheader
	movl	$1, %eax
.LBB3_394:                              # %.lr.ph1261
                                        # =>This Inner Loop Header: Depth=1
	movq	fl2(%rip), %rdi
	cltq
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_394
.LBB3_395:                              # %._crit_edge1262
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL7innodes(%rip), %edx
	testl	%edx, %edx
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movq	-56(%rbp), %rsi                 # 8-byte Reload
	jle	.LBB3_400
# %bb.396:                              # %.preheader882.lr.ph
	movq	%rdx, -168(%rbp)                # 8-byte Spill
	leaq	1(%rdx), %rcx
	movl	%esi, %edx
	imull	%r13d, %edx
	movl	%esi, %r10d
	movl	-76(%rbp), %eax                 # 4-byte Reload
	imull	%eax, %r10d
	leal	1(%r10), %r9d
	imull	%edx, %r9d
	imull	%edx, %r10d
	movq	%r10, -64(%rbp)                 # 8-byte Spill
	movl	%edx, %r14d
	imull	%eax, %r14d
	movl	$1, %eax
.LBB3_397:                              # %.preheader882
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_411 Depth 2
                                        #       Child Loop BB3_412 Depth 3
                                        #         Child Loop BB3_415 Depth 4
	movl	(%r8,%rax,4), %r11d
	testl	%r11d, %r11d
	js	.LBB3_398
# %bb.410:                              # %.preheader881.lr.ph
                                        #   in Loop: Header=BB3_397 Depth=1
	movq	%rax, -72(%rbp)                 # 8-byte Spill
	leal	1(%r11), %eax
	movl	%eax, -144(%rbp)                # 4-byte Spill
	xorl	%esi, %esi
	movl	%r9d, %r12d
	movl	%r9d, %edi
.LBB3_411:                              # %.preheader880.lr.ph
                                        #   Parent Loop BB3_397 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_412 Depth 3
                                        #         Child Loop BB3_415 Depth 4
	movl	$1, %eax
	movl	%edi, %ebx
.LBB3_412:                              # %.preheader880
                                        #   Parent Loop BB3_397 Depth=1
                                        #     Parent Loop BB3_411 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_415 Depth 4
	movl	(%r8,%rax,4), %r9d
	testl	%r9d, %r9d
	js	.LBB3_413
# %bb.414:                              # %.lr.ph1265
                                        #   in Loop: Header=BB3_412 Depth=3
	incq	%r9
	movq	%r9, %r10
	movl	%ebx, %r8d
.LBB3_415:                              #   Parent Loop BB3_397 Depth=1
                                        #     Parent Loop BB3_411 Depth=2
                                        #       Parent Loop BB3_412 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movslq	%r8d, %r8
	movl	$0, (%r15,%r8,4)
	addl	%r13d, %r8d
	decq	%r10
	jne	.LBB3_415
# %bb.416:                              #   in Loop: Header=BB3_412 Depth=3
	movq	-48(%rbp), %r8                  # 8-byte Reload
	jmp	.LBB3_417
.LBB3_413:                              #   in Loop: Header=BB3_412 Depth=3
	xorl	%r9d, %r9d
.LBB3_417:                              # %._crit_edge1266
                                        #   in Loop: Header=BB3_412 Depth=3
	incq	%rax
	addl	%edx, %ebx
	cmpq	%rcx, %rax
	jne	.LBB3_412
# %bb.418:                              #   in Loop: Header=BB3_411 Depth=2
	leal	1(%rsi), %eax
	addl	%r14d, %edi
	cmpl	%r11d, %esi
	movl	%eax, %esi
	jne	.LBB3_411
# %bb.419:                              # %._crit_edge1275
                                        #   in Loop: Header=BB3_397 Depth=1
	movl	%r9d, _ZL1m(%rip)
	movl	%ecx, _ZL1l(%rip)
	movq	-56(%rbp), %rsi                 # 8-byte Reload
	movl	%r12d, %r9d
	movq	-72(%rbp), %rax                 # 8-byte Reload
	jmp	.LBB3_420
.LBB3_398:                              #   in Loop: Header=BB3_397 Depth=1
	movl	$0, -144(%rbp)                  # 4-byte Folded Spill
.LBB3_420:                              #   in Loop: Header=BB3_397 Depth=1
	incq	%rax
	addl	-64(%rbp), %r9d                 # 4-byte Folded Reload
	cmpq	%rcx, %rax
	jne	.LBB3_397
# %bb.399:                              # %..preheader879_crit_edge
	movl	-144(%rbp), %eax                # 4-byte Reload
	movl	%eax, _ZL1j(%rip)
	movq	-168(%rbp), %rdx                # 8-byte Reload
.LBB3_400:                              # %.preheader879
	movl	$1, _ZL1k(%rip)
	cmpl	$0, _ZL8outnodes(%rip)
	jle	.LBB3_422
# %bb.401:
	movl	-76(%rbp), %r12d                # 4-byte Reload
	movq	-56(%rbp), %rbx                 # 8-byte Reload
.LBB3_402:                              # %.preheader878
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_404 Depth 2
                                        #       Child Loop BB3_406 Depth 3
                                        #         Child Loop BB3_408 Depth 4
                                        #           Child Loop BB3_441 Depth 5
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %ecx
	testl	%ecx, %ecx
	jle	.LBB3_447
# %bb.403:                              # %.preheader877.preheader
                                        #   in Loop: Header=BB3_402 Depth=1
	movl	$1, %eax
.LBB3_404:                              # %.preheader877
                                        #   Parent Loop BB3_402 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_406 Depth 3
                                        #         Child Loop BB3_408 Depth 4
                                        #           Child Loop BB3_441 Depth 5
	movl	$0, _ZL1j(%rip)
	movslq	%eax, %rdx
	cmpl	$0, (%r8,%rdx,4)
	js	.LBB3_446
# %bb.405:                              # %.preheader876.preheader
                                        #   in Loop: Header=BB3_404 Depth=2
	xorl	%edx, %edx
.LBB3_406:                              # %.preheader876
                                        #   Parent Loop BB3_402 Depth=1
                                        #     Parent Loop BB3_404 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_408 Depth 4
                                        #           Child Loop BB3_441 Depth 5
	movl	$1, _ZL1l(%rip)
	testl	%ecx, %ecx
	jle	.LBB3_445
# %bb.407:                              # %.lr.ph1287.preheader
                                        #   in Loop: Header=BB3_406 Depth=3
	movl	$1, %edx
	movl	%eax, %esi
.LBB3_408:                              # %.lr.ph1287
                                        #   Parent Loop BB3_402 Depth=1
                                        #     Parent Loop BB3_404 Depth=2
                                        #       Parent Loop BB3_406 Depth=3
                                        # =>      This Loop Header: Depth=4
                                        #           Child Loop BB3_441 Depth 5
	cmpl	%edx, %esi
	jne	.LBB3_439
# %bb.409:                              #   in Loop: Header=BB3_408 Depth=4
	movl	%esi, %edi
	jmp	.LBB3_443
.LBB3_439:                              # %.preheader875
                                        #   in Loop: Header=BB3_408 Depth=4
	movl	$0, _ZL1m(%rip)
	movslq	%edx, %rcx
	cmpl	$0, (%r8,%rcx,4)
	movq	%r13, %r14
	movq	-192(%rbp), %r13                # 8-byte Reload
	js	.LBB3_442
# %bb.440:                              # %.lr.ph1283.preheader
                                        #   in Loop: Header=BB3_408 Depth=4
	movl	_ZL1j(%rip), %ecx
	xorl	%r8d, %r8d
	movl	_ZL1k(%rip), %esi
.LBB3_441:                              # %.lr.ph1283
                                        #   Parent Loop BB3_402 Depth=1
                                        #     Parent Loop BB3_404 Depth=2
                                        #       Parent Loop BB3_406 Depth=3
                                        #         Parent Loop BB3_408 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	movq	fl2(%rip), %rdi
	imull	%ebx, %eax
	addl	%ecx, %eax
	imull	%r12d, %eax
	addl	%edx, %eax
	imull	%ebx, %eax
	addl	%r8d, %eax
	imull	%r14d, %eax
	addl	%esi, %eax
	cltq
	leaq	(%r15,%rax,4), %rdx
	movl	$.L.str.10, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %eax
	imull	%ebx, %eax
	addl	_ZL1j(%rip), %eax
	movq	fl6(%rip), %rdi
	imull	%r12d, %eax
	addl	_ZL1l(%rip), %eax
	imull	%ebx, %eax
	addl	_ZL1m(%rip), %eax
	imull	%r14d, %eax
	movslq	_ZL1k(%rip), %rcx
	cltq
	addq	%rcx, %rax
	leaq	(,%rax,4), %rdx
	addq	%r13, %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %eax
	movl	%eax, %edi
	imull	%ebx, %edi
	movl	_ZL1j(%rip), %ecx
	addl	%ecx, %edi
	imull	%r12d, %edi
	movslq	_ZL1l(%rip), %rdx
	addl	%edx, %edi
	imull	%ebx, %edi
	movl	_ZL1m(%rip), %r9d
	addl	%r9d, %edi
	imull	%r14d, %edi
	movl	_ZL1k(%rip), %esi
	leal	(%rdi,%rsi), %r8d
	movslq	%r8d, %r8
	xorps	%xmm0, %xmm0
	cvtsi2ssl	(%r15,%r8,4), %xmm0
	movslq	%edi, %rdi
	xorps	%xmm1, %xmm1
	cvtsi2ssl	(%r15,%rdi,4), %xmm1
	addss	%xmm0, %xmm1
	cvttss2si	%xmm1, %r8d
	movl	%r8d, (%r15,%rdi,4)
	leal	1(%r9), %r8d
	movl	%r8d, _ZL1m(%rip)
	movq	-48(%rbp), %rdi                 # 8-byte Reload
	cmpl	(%rdi,%rdx,4), %r9d
	jl	.LBB3_441
.LBB3_442:                              # %._crit_edge1284
                                        #   in Loop: Header=BB3_408 Depth=4
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl6(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL1i(%rip), %eax
	movl	_ZL1l(%rip), %esi
	movl	_ZL7innodes(%rip), %ecx
	movl	%eax, %edi
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movq	%r14, %r13
.LBB3_443:                              #   in Loop: Header=BB3_408 Depth=4
	leal	1(%rsi), %edx
	movl	%edx, _ZL1l(%rip)
	cmpl	%ecx, %esi
	movl	%edi, %esi
	jl	.LBB3_408
# %bb.444:                              # %._crit_edge1288.loopexit
                                        #   in Loop: Header=BB3_406 Depth=3
	movl	_ZL1j(%rip), %edx
.LBB3_445:                              # %._crit_edge1288
                                        #   in Loop: Header=BB3_406 Depth=3
	leal	1(%rdx), %esi
	movl	%esi, _ZL1j(%rip)
	movslq	%eax, %rdi
	cmpl	(%r8,%rdi,4), %edx
	movl	%esi, %edx
	jl	.LBB3_406
.LBB3_446:                              # %._crit_edge1290
                                        #   in Loop: Header=BB3_404 Depth=2
	leal	1(%rax), %edx
	movl	%edx, _ZL1i(%rip)
	cmpl	%ecx, %eax
	movl	%edx, %eax
	jl	.LBB3_404
.LBB3_447:                              # %._crit_edge1293
                                        #   in Loop: Header=BB3_402 Depth=1
	movq	fl2(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl6(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movl	_ZL1k(%rip), %eax
	leal	1(%rax), %ecx
	movl	%ecx, _ZL1k(%rip)
	cmpl	_ZL8outnodes(%rip), %eax
	jl	.LBB3_402
# %bb.421:                              # %.preheader874.loopexit
	movl	_ZL7innodes(%rip), %edx
	movq	-56(%rbp), %rsi                 # 8-byte Reload
.LBB3_422:                              # %.preheader874
	movl	$1, _ZL1i(%rip)
	testl	%edx, %edx
	jle	.LBB3_429
# %bb.423:                              # %.preheader873.preheader
	movl	$1, %ecx
	movq	-104(%rbp), %r12                # 8-byte Reload
.LBB3_424:                              # %.preheader873
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_426 Depth 2
	movl	$1, _ZL1j(%rip)
	movslq	%ecx, %rax
	cmpl	$0, (%r8,%rax,4)
	jle	.LBB3_428
# %bb.425:                              # %.lr.ph1297.preheader
                                        #   in Loop: Header=BB3_424 Depth=1
	movl	$1, %eax
	movq	%rsi, %rbx
.LBB3_426:                              # %.lr.ph1297
                                        #   Parent Loop BB3_424 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	fl6(%rip), %rdi
	imull	%ebx, %ecx
	addl	%eax, %ecx
	movslq	%ecx, %rax
	leaq	(%r12,%rax,4), %rdx
	movl	$.L.str.27, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	-48(%rbp), %r8                  # 8-byte Reload
	movl	_ZL1j(%rip), %edx
	leal	1(%rdx), %eax
	movl	%eax, _ZL1j(%rip)
	movslq	_ZL1i(%rip), %rcx
	cmpl	(%r8,%rcx,4), %edx
	jl	.LBB3_426
# %bb.427:                              # %._crit_edge1298.loopexit
                                        #   in Loop: Header=BB3_424 Depth=1
	movl	_ZL7innodes(%rip), %edx
	movq	%rbx, %rsi
.LBB3_428:                              # %._crit_edge1298
                                        #   in Loop: Header=BB3_424 Depth=1
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	%edx, %ecx
	movl	%eax, %ecx
	jl	.LBB3_424
.LBB3_429:                              # %._crit_edge1301
	movq	fl6(%rip), %rdi
	callq	fclose
	movl	$.L.str.64, %edi
	movl	$.L.str.39, %esi
	callq	fopen
	movq	%rax, fl4(%rip)
	movl	$_ZSt4cout, %edi
	movl	$.L.str.65, %esi
	movl	$26, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	cmpl	$3, _ZL4ans1(%rip)
	je	.LBB3_431
# %bb.430:
	movl	$.L.str.66, %edi
	movl	$.L.str.39, %esi
	callq	fopen
	movq	%rax, fl5(%rip)
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movq	-472(%rbp), %rbx                # 8-byte Reload
	movq	16(%rbx), %rsi
	movl	$fltmp, %edi
	callq	strcat
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movq	16(%rbx), %rsi
	movl	$fltmp, %edi
	callq	strcat
	movl	$fltmp, %edi
	callq	strlen
	movl	$1886217006, fltmp(%rax)        # imm = 0x706D632E
	movb	$0, fltmp+4(%rax)
	movl	$fltmp, %edi
	movl	$.L.str.39, %esi
	callq	fopen
	movq	%rax, fl7(%rip)
	movl	$.L.str.68, %edi
	movl	$59, %esi
	movl	$1, %edx
	movq	%rax, %rcx
	callq	fwrite@PLT
	movq	fl7(%rip), %rcx
	movl	$.L.str.69, %edi
	movl	$58, %esi
	movl	$1, %edx
	callq	fwrite@PLT
	xorl	%eax, %eax
	movl	%eax, _ZL5c1cnt(%rip)
	movl	%eax, _ZL5c2cnt(%rip)
	movl	%eax, _ZL6invcnt(%rip)
	movl	%eax, _ZL1n(%rip)
.LBB3_431:
	movq	fl1(%rip), %rdi
	callq	feof
	testl	%eax, %eax
	jne	.LBB3_588
# %bb.432:                              # %.lr.ph1406.preheader
	movq	-104(%rbp), %rax                # 8-byte Reload
	addq	$8, %rax
	movq	%rax, -200(%rbp)                # 8-byte Spill
.LBB3_433:                              # %.lr.ph1406
                                        # =>This Loop Header: Depth=1
                                        #     Child Loop BB3_436 Depth 2
                                        #     Child Loop BB3_451 Depth 2
                                        #     Child Loop BB3_462 Depth 2
                                        #     Child Loop BB3_470 Depth 2
                                        #     Child Loop BB3_473 Depth 2
                                        #       Child Loop BB3_476 Depth 3
                                        #       Child Loop BB3_480 Depth 3
                                        #         Child Loop BB3_488 Depth 4
                                        #         Child Loop BB3_495 Depth 4
                                        #           Child Loop BB3_501 Depth 5
                                        #           Child Loop BB3_507 Depth 5
                                        #         Child Loop BB3_520 Depth 4
                                        #         Child Loop BB3_526 Depth 4
                                        #     Child Loop BB3_533 Depth 2
	incl	_ZL1n(%rip)
	movl	$0, _ZL8classval(%rip)
	cmpl	$3, _ZL4ans1(%rip)
	movl	$1, _ZL1i(%rip)
	movl	_ZL7innodes(%rip), %eax
	jne	.LBB3_434
# %bb.449:                              # %.preheader871
                                        #   in Loop: Header=BB3_433 Depth=1
	testl	%eax, %eax
	jle	.LBB3_456
# %bb.450:                              # %.lr.ph1308.preheader
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	$1, %eax
.LBB3_451:                              # %.lr.ph1308
                                        #   Parent Loop BB3_433 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	fl1(%rip), %rdi
	cltq
	movq	-120(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_454
# %bb.452:                              # %.lr.ph1308
                                        #   in Loop: Header=BB3_451 Depth=2
	cmpl	$2, %eax
	jne	.LBB3_455
# %bb.453:                              #   in Loop: Header=BB3_451 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-176(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_455
.LBB3_454:                              #   in Loop: Header=BB3_451 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rbx                # 8-byte Reload
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL1i(%rip), %rax
	movss	(%rbx,%rax,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-176(%rbp), %rcx                # 8-byte Reload
	movss	%xmm0, (%rcx,%rax,4)
.LBB3_455:                              #   in Loop: Header=BB3_451 Depth=2
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_451
.LBB3_456:                              # %._crit_edge1309
                                        #   in Loop: Header=BB3_433 Depth=1
	movq	fl1(%rip), %rdi
	movl	$.L.str.2, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_460
.LBB3_434:                              # %.preheader872
                                        #   in Loop: Header=BB3_433 Depth=1
	testl	%eax, %eax
	jle	.LBB3_459
# %bb.435:                              # %.lr.ph1304.preheader
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	$1, %eax
.LBB3_436:                              # %.lr.ph1304
                                        #   Parent Loop BB3_433 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movq	fl1(%rip), %rdi
	cltq
	movq	-120(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movl	_ZL6nerror(%rip), %eax
	cmpl	$1, %eax
	je	.LBB3_457
# %bb.437:                              # %.lr.ph1304
                                        #   in Loop: Header=BB3_436 Depth=2
	cmpl	$2, %eax
	jne	.LBB3_458
# %bb.438:                              #   in Loop: Header=BB3_436 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-176(%rbp), %rcx                # 8-byte Reload
	leaq	(%rcx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	jmp	.LBB3_458
.LBB3_457:                              #   in Loop: Header=BB3_436 Depth=2
	movq	fl1(%rip), %rdi
	movslq	_ZL1i(%rip), %rax
	movq	-184(%rbp), %rbx                # 8-byte Reload
	leaq	(%rbx,%rax,4), %rdx
	movl	$.L.str.9, %esi
	xorl	%eax, %eax
	callq	__isoc23_fscanf
	movslq	_ZL1i(%rip), %rax
	movss	(%rbx,%rax,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	movq	-176(%rbp), %rcx                # 8-byte Reload
	movss	%xmm0, (%rcx,%rax,4)
.LBB3_458:                              #   in Loop: Header=BB3_436 Depth=2
	movl	_ZL1i(%rip), %ecx
	leal	1(%rcx), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	_ZL7innodes(%rip), %ecx
	jl	.LBB3_436
.LBB3_459:                              # %._crit_edge1305
                                        #   in Loop: Header=BB3_433 Depth=1
	movq	fl1(%rip), %rdi
	movl	$.L.str.27, %esi
	leaq	-92(%rbp), %rdx
	xorl	%eax, %eax
	callq	__isoc23_fscanf
.LBB3_460:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$0, _ZL6skpchk(%rip)
	movl	_ZL7innodes(%rip), %r9d
	testl	%r9d, %r9d
	movq	-160(%rbp), %rcx                # 8-byte Reload
	movq	-152(%rbp), %rdx                # 8-byte Reload
	movq	-120(%rbp), %rsi                # 8-byte Reload
	movq	-48(%rbp), %rdi                 # 8-byte Reload
	movaps	.LCPI3_2(%rip), %xmm6           # xmm6 = [NaN,NaN,NaN,NaN]
	movss	.LCPI3_3(%rip), %xmm7           # xmm7 = mem[0],zero,zero,zero
	jle	.LBB3_468
# %bb.461:                              # %.lr.ph1313
                                        #   in Loop: Header=BB3_433 Depth=1
	xorps	%xmm3, %xmm3
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm3
	leaq	(,%r9,4), %r12
	xorl	%ebx, %ebx
	movss	%xmm3, -64(%rbp)                # 4-byte Spill
	movq	%r9, -112(%rbp)                 # 8-byte Spill
.LBB3_462:                              #   Parent Loop BB3_433 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movss	4(%rcx,%rbx), %xmm2             # xmm2 = mem[0],zero,zero,zero
	movss	4(%rdx,%rbx), %xmm1             # xmm1 = mem[0],zero,zero,zero
	movaps	%xmm2, %xmm4
	subss	%xmm1, %xmm4
	movl	$1, %eax
	ucomiss	.LCPI3_11(%rip), %xmm4
	jbe	.LBB3_466
# %bb.463:                              #   in Loop: Header=BB3_462 Depth=2
	movss	4(%rsi,%rbx), %xmm0             # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm3, %xmm0
	jne	.LBB3_464
	jnp	.LBB3_466
.LBB3_464:                              #   in Loop: Header=BB3_462 Depth=2
	ucomiss	%xmm3, %xmm2
	jne	.LBB3_465
	jnp	.LBB3_466
.LBB3_465:                              #   in Loop: Header=BB3_462 Depth=2
	subss	%xmm1, %xmm0
	divss	%xmm4, %xmm0
	xorps	%xmm1, %xmm1
	cvtsi2ssl	4(%rdi,%rbx), %xmm1
	movss	%xmm1, -72(%rbp)                # 4-byte Spill
	mulss	%xmm1, %xmm0
	movss	%xmm4, -144(%rbp)               # 4-byte Spill
	callq	roundf@PLT
	movq	-120(%rbp), %rax                # 8-byte Reload
	movss	%xmm0, 4(%rax,%rbx)
	movq	-184(%rbp), %r14                # 8-byte Reload
	movss	4(%r14,%rbx), %xmm0             # xmm0 = mem[0],zero,zero,zero
	divss	-144(%rbp), %xmm0               # 4-byte Folded Reload
	mulss	-72(%rbp), %xmm0                # 4-byte Folded Reload
	callq	roundf@PLT
	movss	%xmm0, 4(%r14,%rbx)
	movq	-176(%rbp), %r14                # 8-byte Reload
	movss	4(%r14,%rbx), %xmm0             # xmm0 = mem[0],zero,zero,zero
	divss	-144(%rbp), %xmm0               # 4-byte Folded Reload
	mulss	-72(%rbp), %xmm0                # 4-byte Folded Reload
	callq	roundf@PLT
	movss	-64(%rbp), %xmm3                # 4-byte Reload
                                        # xmm3 = mem[0],zero,zero,zero
	movq	-112(%rbp), %r9                 # 8-byte Reload
	movss	.LCPI3_3(%rip), %xmm7           # xmm7 = mem[0],zero,zero,zero
	movaps	.LCPI3_2(%rip), %xmm6           # xmm6 = [NaN,NaN,NaN,NaN]
	movq	-48(%rbp), %rdi                 # 8-byte Reload
	movq	-120(%rbp), %rsi                # 8-byte Reload
	movq	-152(%rbp), %rdx                # 8-byte Reload
	movq	-160(%rbp), %rcx                # 8-byte Reload
	movss	%xmm0, 4(%r14,%rbx)
	xorl	%eax, %eax
.LBB3_466:                              #   in Loop: Header=BB3_462 Depth=2
	addq	$4, %rbx
	cmpq	%rbx, %r12
	jne	.LBB3_462
# %bb.467:                              # %..preheader870_crit_edge
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	%eax, _ZL6skpchk(%rip)
.LBB3_468:                              # %.preheader870
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	_ZL8outnodes(%rip), %r10d
	testl	%r10d, %r10d
	jle	.LBB3_471
# %bb.469:                              # %.lr.ph1317.preheader
                                        #   in Loop: Header=BB3_433 Depth=1
	leaq	4(,%r10,4), %rax
	movl	$4, %ecx
.LBB3_470:                              # %.lr.ph1317
                                        #   Parent Loop BB3_433 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movl	$1065353216, _ZL8classval(%rcx) # imm = 0x3F800000
	addq	$4, %rcx
	cmpq	%rcx, %rax
	jne	.LBB3_470
.LBB3_471:                              # %.preheader869
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	$1, _ZL1i(%rip)
	testl	%r9d, %r9d
	jle	.LBB3_530
# %bb.472:                              # %.lr.ph1381.preheader
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	$1, %r11d
.LBB3_473:                              # %.lr.ph1381
                                        #   Parent Loop BB3_433 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB3_476 Depth 3
                                        #       Child Loop BB3_480 Depth 3
                                        #         Child Loop BB3_488 Depth 4
                                        #         Child Loop BB3_495 Depth 4
                                        #           Child Loop BB3_501 Depth 5
                                        #           Child Loop BB3_507 Depth 5
                                        #         Child Loop BB3_520 Depth 4
                                        #         Child Loop BB3_526 Depth 4
	movl	$0, _ZL1j(%rip)
	movslq	%r11d, %rax
	xorps	%xmm1, %xmm1
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm1
	movss	(%rsi,%rax,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm1
	setnp	%cl
	sete	%dl
	andb	%cl, %dl
	movzbl	%dl, %r14d
	movl	%r14d, _ZL6skpchk(%rip)
	movl	(%rdi,%rax,4), %eax
	xorps	%xmm1, %xmm1
	cvtsi2ss	%eax, %xmm1
	ucomiss	%xmm0, %xmm1
	setb	%cl
	orb	%cl, %r14b
	jne	.LBB3_478
# %bb.474:                              # %.preheader868
                                        #   in Loop: Header=BB3_473 Depth=2
	movl	%r11d, %ecx
	imull	-56(%rbp), %ecx                 # 4-byte Folded Reload
	movslq	%ecx, %rcx
	movaps	%xmm0, %xmm1
	movq	-104(%rbp), %rdx                # 8-byte Reload
	subss	4(%rdx,%rcx,4), %xmm1
	andps	%xmm6, %xmm1
	ucomiss	%xmm7, %xmm1
	jb	.LBB3_478
# %bb.475:                              # %.lr.ph1319
                                        #   in Loop: Header=BB3_473 Depth=2
	movq	-200(%rbp), %rdx                # 8-byte Reload
	leaq	(%rdx,%rcx,4), %rcx
	xorl	%edx, %edx
.LBB3_476:                              #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	cmpl	%eax, %edx
	jg	.LBB3_478
# %bb.477:                              #   in Loop: Header=BB3_476 Depth=3
	movaps	%xmm0, %xmm1
	subss	(%rcx,%rdx,4), %xmm1
	incq	%rdx
	movl	%edx, _ZL1j(%rip)
	andps	%xmm6, %xmm1
	ucomiss	%xmm7, %xmm1
	jae	.LBB3_476
.LBB3_478:                              # %.critedge24
                                        #   in Loop: Header=BB3_473 Depth=2
	movl	$1, _ZL1l(%rip)
	testl	%r9d, %r9d
	jle	.LBB3_529
# %bb.479:                              # %.lr.ph1378.preheader
                                        #   in Loop: Header=BB3_473 Depth=2
	movl	$1, %r8d
	movl	%r11d, %edx
.LBB3_480:                              # %.lr.ph1378
                                        #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        # =>    This Loop Header: Depth=3
                                        #         Child Loop BB3_488 Depth 4
                                        #         Child Loop BB3_495 Depth 4
                                        #           Child Loop BB3_501 Depth 5
                                        #           Child Loop BB3_507 Depth 5
                                        #         Child Loop BB3_520 Depth 4
                                        #         Child Loop BB3_526 Depth 4
	cmpl	%r8d, %r11d
	sete	%al
	orb	%r14b, %al
	jne	.LBB3_528
# %bb.481:                              #   in Loop: Header=BB3_480 Depth=3
	movl	$0, _ZL1m(%rip)
	xorps	%xmm1, %xmm1
	cvtsi2ssl	_ZL10MissingDat(%rip), %xmm1
	movslq	%r8d, %r12
	movss	(%rsi,%r12,4), %xmm0            # xmm0 = mem[0],zero,zero,zero
	ucomiss	%xmm1, %xmm0
	movq	%r10, -224(%rbp)                # 8-byte Spill
	movq	%r9, -112(%rbp)                 # 8-byte Spill
	jne	.LBB3_482
	jnp	.LBB3_483
.LBB3_482:                              #   in Loop: Header=BB3_480 Depth=3
	movslq	%edx, %rax
	movss	(%rsi,%rax,4), %xmm2            # xmm2 = mem[0],zero,zero,zero
	ucomiss	%xmm1, %xmm2
	jne	.LBB3_484
	jp	.LBB3_484
.LBB3_483:                              # %.thread1697
                                        #   in Loop: Header=BB3_480 Depth=3
	movl	(%rdi,%r12,4), %edi
	xorps	%xmm1, %xmm1
	cvtsi2ss	%edi, %xmm1
	movl	$1, _ZL6skpchk(%rip)
	ucomiss	%xmm0, %xmm1
	setae	-64(%rbp)                       # 1-byte Folded Spill
	xorl	%esi, %esi
	movb	$1, %al
.LBB3_485:                              #   in Loop: Header=BB3_480 Depth=3
	xorl	%r10d, %r10d
.LBB3_491:                              # %.critedge30
                                        #   in Loop: Header=BB3_480 Depth=3
	cmpl	$0, -224(%rbp)                  # 4-byte Folded Reload
	jle	.LBB3_597
# %bb.492:                              # %.lr.ph1360
                                        #   in Loop: Header=BB3_480 Depth=3
	movl	%esi, -248(%rbp)                # 4-byte Spill
	movq	%r12, -168(%rbp)                # 8-byte Spill
	movq	%r11, -88(%rbp)                 # 8-byte Spill
	xorps	%xmm1, %xmm1
	cvtsi2ss	%edi, %xmm1
	ucomiss	%xmm0, %xmm1
	setb	-144(%rbp)                      # 1-byte Folded Spill
	movaps	%xmm7, %xmm0
	testb	%al, %al
	jne	.LBB3_494
# %bb.493:                              # %.lr.ph1360
                                        #   in Loop: Header=BB3_480 Depth=3
	xorps	%xmm1, %xmm1
	cvtsi2ssl	-224(%rbp), %xmm1       # 4-byte Folded Reload
	movaps	%xmm7, %xmm0
	divss	%xmm1, %xmm0
.LBB3_494:                              # %.lr.ph1360
                                        #   in Loop: Header=BB3_480 Depth=3
	movq	-56(%rbp), %r9                  # 8-byte Reload
	imull	%r9d, %edx
	movl	_ZL1j(%rip), %esi
	addl	%esi, %edx
	movl	-76(%rbp), %ecx                 # 4-byte Reload
	imull	%ecx, %edx
	addl	%r8d, %edx
	imull	%r9d, %edx
	movq	-224(%rbp), %r11                # 8-byte Reload
	xorps	%xmm1, %xmm1
	cvtsi2sd	%r11d, %xmm1
	movsd	.LCPI3_0(%rip), %xmm2           # xmm2 = mem[0],zero
	divsd	%xmm1, %xmm2
	xorps	%xmm1, %xmm1
	cvtsd2ss	%xmm2, %xmm1
	movl	_ZL6nerror(%rip), %eax
	movq	-88(%rbp), %r12                 # 8-byte Reload
	movl	%r12d, %ebx
	imull	%r9d, %ebx
	addl	%esi, %ebx
	imull	%ecx, %ebx
	movslq	%r12d, %rsi
	movq	-48(%rbp), %rcx                 # 8-byte Reload
	xorps	%xmm2, %xmm2
	cvtsi2ssl	(%rcx,%rsi,4), %xmm2
	addl	%r8d, %ebx
	imull	%r9d, %ebx
	movq	%rbx, %r12
	movq	-120(%rbp), %rcx                # 8-byte Reload
	movss	(%rcx,%rsi,4), %xmm3            # xmm3 = mem[0],zero,zero,zero
	leal	1(%r11), %ecx
	movq	%rcx, -72(%rbp)                 # 8-byte Spill
	movl	-248(%rbp), %ecx                # 4-byte Reload
	andb	%cl, -64(%rbp)                  # 1-byte Folded Spill
	xorb	$1, %cl
	orb	%cl, -144(%rbp)                 # 1-byte Folded Spill
	movl	$1, %r8d
.LBB3_495:                              #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        #       Parent Loop BB3_480 Depth=3
                                        # =>      This Loop Header: Depth=4
                                        #           Child Loop BB3_501 Depth 5
                                        #           Child Loop BB3_507 Depth 5
	movaps	%xmm1, %xmm4
	testb	%r14b, %r14b
	jne	.LBB3_497
# %bb.496:                              #   in Loop: Header=BB3_495 Depth=4
	leal	(%rdx,%r10), %esi
	imull	%r13d, %esi
	addl	%r8d, %esi
	movslq	%esi, %rsi
	xorps	%xmm4, %xmm4
	cvtsi2ssl	(%r15,%rsi,4), %xmm4
.LBB3_497:                              #   in Loop: Header=BB3_495 Depth=4
	cmpl	$1, %eax
	je	.LBB3_505
# %bb.498:                              #   in Loop: Header=BB3_495 Depth=4
	cmpl	$2, %eax
	jne	.LBB3_511
# %bb.499:                              #   in Loop: Header=BB3_495 Depth=4
	movq	-184(%rbp), %rcx                # 8-byte Reload
	movq	-168(%rbp), %r9                 # 8-byte Reload
	cvttss2si	(%rcx,%r9,4), %esi
	movq	-176(%rbp), %rcx                # 8-byte Reload
	cvttss2si	(%rcx,%r9,4), %ebx
	movl	%r10d, %r9d
	subl	%esi, %r9d
	leal	(%r10,%rbx), %esi
	cmpl	%esi, %r9d
	jg	.LBB3_511
# %bb.500:                              # %.lr.ph1330
                                        #   in Loop: Header=BB3_495 Depth=4
	movl	%r10d, %esi
.LBB3_501:                              #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        #       Parent Loop BB3_480 Depth=3
                                        #         Parent Loop BB3_495 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	testl	%r9d, %r9d
	movl	$0, %ecx
	cmovlel	%ecx, %r9d
	cmpl	%edi, %r9d
	jg	.LBB3_511
# %bb.502:                              #   in Loop: Header=BB3_501 Depth=5
	leal	(%rdx,%r9), %r11d
	imull	%r13d, %r11d
	addl	%r8d, %r11d
	movslq	%r11d, %r11
	xorps	%xmm5, %xmm5
	cvtsi2ssl	(%r15,%r11,4), %xmm5
	ucomiss	%xmm4, %xmm5
	jbe	.LBB3_504
# %bb.503:                              #   in Loop: Header=BB3_501 Depth=5
	movl	%r9d, _ZL1m(%rip)
	movl	%r9d, %r10d
	movl	%r9d, %esi
.LBB3_504:                              #   in Loop: Header=BB3_501 Depth=5
	leal	1(%r9), %r11d
	leal	(%rsi,%rbx), %ecx
	cmpl	%ecx, %r9d
	movl	%r11d, %r9d
	jl	.LBB3_501
	jmp	.LBB3_511
.LBB3_505:                              #   in Loop: Header=BB3_495 Depth=4
	movq	-184(%rbp), %rcx                # 8-byte Reload
	movq	-168(%rbp), %rsi                # 8-byte Reload
	cvttss2si	(%rcx,%rsi,4), %ebx
	movl	%r10d, %r9d
	subl	%ebx, %r9d
	leal	(%r10,%rbx), %ecx
	cmpl	%ecx, %r9d
	jg	.LBB3_511
# %bb.506:                              # %.lr.ph1339
                                        #   in Loop: Header=BB3_495 Depth=4
	movl	%r10d, %esi
.LBB3_507:                              #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        #       Parent Loop BB3_480 Depth=3
                                        #         Parent Loop BB3_495 Depth=4
                                        # =>        This Inner Loop Header: Depth=5
	testl	%r9d, %r9d
	movl	$0, %ecx
	cmovlel	%ecx, %r9d
	cmpl	%edi, %r9d
	jg	.LBB3_511
# %bb.508:                              #   in Loop: Header=BB3_507 Depth=5
	leal	(%rdx,%r9), %ecx
	imull	%r13d, %ecx
	addl	%r8d, %ecx
	movslq	%ecx, %rcx
	xorps	%xmm5, %xmm5
	cvtsi2ssl	(%r15,%rcx,4), %xmm5
	ucomiss	%xmm4, %xmm5
	jbe	.LBB3_510
# %bb.509:                              #   in Loop: Header=BB3_507 Depth=5
	movl	%r9d, _ZL1m(%rip)
	movl	%r9d, %r10d
	movl	%r9d, %esi
.LBB3_510:                              #   in Loop: Header=BB3_507 Depth=5
	leal	1(%r9), %ecx
	leal	(%rsi,%rbx), %r11d
	cmpl	%r11d, %r9d
	movl	%ecx, %r9d
	jl	.LBB3_507
.LBB3_511:                              # %.loopexit
                                        #   in Loop: Header=BB3_495 Depth=4
	ucomiss	%xmm3, %xmm2
	setb	%cl
	leal	(%r12,%r10), %r9d
	imull	%r13d, %r9d
	movslq	%r9d, %rsi
	movl	(%r15,%rsi,4), %esi
	testl	%esi, %esi
	setle	%r11b
	orb	-144(%rbp), %cl                 # 1-byte Folded Reload
	orb	%r11b, %cl
	je	.LBB3_512
# %bb.514:                              # %thread-pre-split862
                                        #   in Loop: Header=BB3_495 Depth=4
	ucomiss	%xmm3, %xmm2
	movaps	%xmm0, %xmm4
	jae	.LBB3_515
	jmp	.LBB3_517
.LBB3_512:                              #   in Loop: Header=BB3_495 Depth=4
	movaps	%xmm1, %xmm4
	testb	%r14b, %r14b
	movq	-192(%rbp), %r11                # 8-byte Reload
	jne	.LBB3_515
# %bb.513:                              #   in Loop: Header=BB3_495 Depth=4
	addl	%r8d, %r9d
	movslq	%r9d, %rcx
	xorps	%xmm4, %xmm4
	cvtsi2ssl	(%r15,%rcx,4), %xmm4
	mulss	(%r11,%rcx,4), %xmm4
	xorps	%xmm5, %xmm5
	cvtsi2sd	%esi, %xmm5
	cvtss2sd	%xmm4, %xmm4
	divsd	%xmm5, %xmm4
	cvtsd2ss	%xmm4, %xmm4
.LBB3_515:                              # %.thread1701
                                        #   in Loop: Header=BB3_495 Depth=4
	cmpb	$0, -64(%rbp)                   # 1-byte Folded Reload
	je	.LBB3_517
# %bb.516:                              #   in Loop: Header=BB3_495 Depth=4
	mulss	_ZL8classval(,%r8,4), %xmm4
	movss	%xmm4, _ZL8classval(,%r8,4)
.LBB3_517:                              #   in Loop: Header=BB3_495 Depth=4
	incq	%r8
	cmpq	-72(%rbp), %r8                  # 8-byte Folded Reload
	jne	.LBB3_495
# %bb.518:                              # %._crit_edge1361
                                        #   in Loop: Header=BB3_480 Depth=3
	cmpl	$0, -224(%rbp)                  # 4-byte Folded Reload
	movq	-88(%rbp), %r11                 # 8-byte Reload
	jle	.LBB3_597
# %bb.519:                              # %.lr.ph1366.preheader
                                        #   in Loop: Header=BB3_480 Depth=3
	movq	-72(%rbp), %rax                 # 8-byte Reload
	leaq	(,%rax,4), %rax
	xorps	%xmm0, %xmm0
	movl	$4, %ecx
.LBB3_520:                              # %.lr.ph1366
                                        #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        #       Parent Loop BB3_480 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	addss	_ZL8classval(%rcx), %xmm0
	addq	$4, %rcx
	cmpq	%rcx, %rax
	jne	.LBB3_520
# %bb.521:                              #   in Loop: Header=BB3_480 Depth=3
	movss	%xmm0, _ZL7totprob(%rip)
	movq	-72(%rbp), %rax                 # 8-byte Reload
	movl	%eax, _ZL1k(%rip)
	ucomiss	.LCPI3_11(%rip), %xmm0
	movq	-112(%rbp), %r12                # 8-byte Reload
	movq	-224(%rbp), %r10                # 8-byte Reload
	jne	.LBB3_523
	jnp	.LBB3_522
	jmp	.LBB3_523
.LBB3_597:                              # %.thread1712
                                        #   in Loop: Header=BB3_480 Depth=3
	movl	$1, _ZL1k(%rip)
	movq	-112(%rbp), %r12                # 8-byte Reload
	movq	-224(%rbp), %r10                # 8-byte Reload
.LBB3_522:                              #   in Loop: Header=BB3_480 Depth=3
	imull	%r10d, %r12d
	xorps	%xmm0, %xmm0
	cvtsi2ss	%r12d, %xmm0
	movss	%xmm0, _ZL7totprob(%rip)
	movl	$_ZSt4cout, %edi
	movl	$.L.str.70, %esi
	movl	$40, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movss	.LCPI3_3(%rip), %xmm7           # xmm7 = mem[0],zero,zero,zero
	movaps	.LCPI3_2(%rip), %xmm6           # xmm6 = [NaN,NaN,NaN,NaN]
	movl	_ZL1i(%rip), %r11d
	movl	_ZL8outnodes(%rip), %r10d
.LBB3_523:                              #   in Loop: Header=BB3_480 Depth=3
	testl	%r10d, %r10d
	jle	.LBB3_524
# %bb.525:                              # %.lr.ph1374
                                        #   in Loop: Header=BB3_480 Depth=3
	movss	_ZL7totprob(%rip), %xmm0        # xmm0 = mem[0],zero,zero,zero
	leal	1(%r10), %eax
	movl	%r10d, %ecx
	leaq	4(,%rcx,4), %rcx
	movl	$4, %edx
	movq	-120(%rbp), %rsi                # 8-byte Reload
	movq	-48(%rbp), %rdi                 # 8-byte Reload
.LBB3_526:                              #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        #       Parent Loop BB3_480 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	movss	_ZL8classval(%rdx), %xmm1       # xmm1 = mem[0],zero,zero,zero
	divss	%xmm0, %xmm1
	movss	%xmm1, _ZL8classval(%rdx)
	addq	$4, %rdx
	cmpq	%rdx, %rcx
	jne	.LBB3_526
	jmp	.LBB3_527
.LBB3_524:                              #   in Loop: Header=BB3_480 Depth=3
	movl	$1, %eax
	movq	-120(%rbp), %rsi                # 8-byte Reload
	movq	-48(%rbp), %rdi                 # 8-byte Reload
.LBB3_527:                              # %.loopexit867
                                        #   in Loop: Header=BB3_480 Depth=3
	movl	%eax, _ZL1k(%rip)
	movl	_ZL1l(%rip), %r8d
	movl	_ZL7innodes(%rip), %r9d
	movl	%r11d, %edx
.LBB3_528:                              #   in Loop: Header=BB3_480 Depth=3
	leal	1(%r8), %eax
	movl	%eax, _ZL1l(%rip)
	cmpl	%r9d, %r8d
	movl	%eax, %r8d
	jl	.LBB3_480
	jmp	.LBB3_529
.LBB3_484:                              #   in Loop: Header=BB3_480 Depth=3
	movl	$0, _ZL6skpchk(%rip)
	movl	(%rdi,%r12,4), %edi
	xorps	%xmm1, %xmm1
	cvtsi2ss	%edi, %xmm1
	xorl	%eax, %eax
	ucomiss	%xmm0, %xmm1
	setae	-64(%rbp)                       # 1-byte Folded Spill
	movb	$1, %sil
	jb	.LBB3_485
# %bb.486:                              # %.preheader
                                        #   in Loop: Header=BB3_480 Depth=3
	movl	%r8d, %eax
	imull	-56(%rbp), %eax                 # 4-byte Folded Reload
	movslq	%eax, %rcx
	movaps	%xmm0, %xmm1
	movq	-104(%rbp), %rax                # 8-byte Reload
	subss	4(%rax,%rcx,4), %xmm1
	andps	%xmm6, %xmm1
	xorl	%eax, %eax
	ucomiss	%xmm7, %xmm1
	jb	.LBB3_485
# %bb.487:                              # %.lr.ph1321
                                        #   in Loop: Header=BB3_480 Depth=3
	movq	-200(%rbp), %rax                # 8-byte Reload
	leaq	(%rax,%rcx,4), %rax
	xorl	%r10d, %r10d
.LBB3_488:                              #   Parent Loop BB3_433 Depth=1
                                        #     Parent Loop BB3_473 Depth=2
                                        #       Parent Loop BB3_480 Depth=3
                                        # =>      This Inner Loop Header: Depth=4
	cmpl	%edi, %r10d
	jg	.LBB3_596
# %bb.489:                              #   in Loop: Header=BB3_488 Depth=4
	leaq	1(%r10), %rcx
	movl	%ecx, _ZL1m(%rip)
	movaps	%xmm0, %xmm1
	subss	(%rax,%r10,4), %xmm1
	andps	%xmm6, %xmm1
	ucomiss	%xmm7, %xmm1
	movq	%rcx, %r10
	jae	.LBB3_488
# %bb.490:                              # %..critedge30.loopexit_crit_edge
                                        #   in Loop: Header=BB3_480 Depth=3
	xorl	%eax, %eax
	movl	%ecx, %r10d
	jmp	.LBB3_491
.LBB3_596:                              # %.critedge30.loopexitsplit
                                        #   in Loop: Header=BB3_480 Depth=3
	xorl	%eax, %eax
	jmp	.LBB3_491
.LBB3_529:                              # %._crit_edge1379
                                        #   in Loop: Header=BB3_473 Depth=2
	leal	1(%r11), %eax
	movl	%eax, _ZL1i(%rip)
	cmpl	%r9d, %r11d
	movl	%eax, %r11d
	jl	.LBB3_473
.LBB3_530:                              # %._crit_edge1382
                                        #   in Loop: Header=BB3_433 Depth=1
	testl	%r10d, %r10d
	jle	.LBB3_531
# %bb.532:                              # %.lr.ph1397.preheader
                                        #   in Loop: Header=BB3_433 Depth=1
	leal	1(%r10), %eax
	xorps	%xmm5, %xmm5
	movl	$1, %ecx
	xorl	%r11d, %r11d
	xorl	%r12d, %r12d
	xorl	%r14d, %r14d
	xorl	%ebx, %ebx
	xorps	%xmm0, %xmm0
	xorps	%xmm1, %xmm1
	xorps	%xmm2, %xmm2
	xorl	%edx, %edx
	xorps	%xmm7, %xmm7
.LBB3_533:                              # %.lr.ph1397
                                        #   Parent Loop BB3_433 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movl	%edx, %r8d
	movl	%ebx, %edi
	movl	%r14d, %esi
	movss	_ZL8classval(,%rcx,4), %xmm3    # xmm3 = mem[0],zero,zero,zero
	ucomiss	%xmm2, %xmm3
	jbe	.LBB3_535
# %bb.534:                              #   in Loop: Header=BB3_533 Depth=2
	movslq	%r8d, %rdx
	movss	_ZL8classval(,%rdx,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	movl	%ecx, %r11d
	movl	%ecx, %edx
	movaps	%xmm3, %xmm2
	movl	%r8d, %ebx
	jmp	.LBB3_537
.LBB3_535:                              #   in Loop: Header=BB3_533 Depth=2
	movl	%r8d, %edx
	ucomiss	%xmm1, %xmm3
	jbe	.LBB3_538
# %bb.536:                              # %._crit_edge1972
                                        #   in Loop: Header=BB3_533 Depth=2
	movaps	%xmm3, %xmm4
	movl	%ecx, %ebx
.LBB3_537:                              #   in Loop: Header=BB3_533 Depth=2
	movl	%edi, %r14d
	movl	%esi, %r12d
.LBB3_544:                              #   in Loop: Header=BB3_533 Depth=2
	addss	%xmm3, %xmm7
	incq	%rcx
	movaps	%xmm0, %xmm5
	movaps	%xmm1, %xmm0
	movaps	%xmm4, %xmm1
	cmpq	%rcx, %rax
	jne	.LBB3_533
	jmp	.LBB3_545
.LBB3_538:                              #   in Loop: Header=BB3_533 Depth=2
	movaps	%xmm1, %xmm4
	ucomiss	%xmm0, %xmm3
	jbe	.LBB3_540
# %bb.539:                              # %._crit_edge1969
                                        #   in Loop: Header=BB3_533 Depth=2
	movaps	%xmm3, %xmm1
	jmp	.LBB3_543
.LBB3_540:                              #   in Loop: Header=BB3_533 Depth=2
	movaps	%xmm0, %xmm1
	ucomiss	%xmm5, %xmm3
	jbe	.LBB3_541
# %bb.542:                              #   in Loop: Header=BB3_533 Depth=2
	movaps	%xmm3, %xmm0
.LBB3_543:                              #   in Loop: Header=BB3_533 Depth=2
	movl	%edi, %ebx
	movl	%esi, %r14d
	movl	%ecx, %r12d
	jmp	.LBB3_544
.LBB3_541:                              #   in Loop: Header=BB3_533 Depth=2
	movaps	%xmm5, %xmm0
	movl	%edi, %ebx
	movl	%esi, %r14d
	jmp	.LBB3_544
.LBB3_545:                              #   in Loop: Header=BB3_433 Depth=1
	movss	%xmm7, _ZL7totprob(%rip)
	movl	%eax, _ZL1k(%rip)
	xorps	%xmm0, %xmm0
	ucomiss	%xmm7, %xmm0
	jae	.LBB3_546
	jmp	.LBB3_547
.LBB3_531:                              # %.thread1716
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	$1, _ZL1k(%rip)
	xorl	%r11d, %r11d
	xorl	%r12d, %r12d
	xorl	%r14d, %r14d
	xorl	%ebx, %ebx
	xorl	%edx, %edx
.LBB3_546:                              #   in Loop: Header=BB3_433 Depth=1
	imull	%r10d, %r9d
	xorps	%xmm7, %xmm7
	cvtsi2ss	%r9d, %xmm7
	movss	%xmm7, _ZL7totprob(%rip)
.LBB3_547:                              #   in Loop: Header=BB3_433 Depth=1
	cmpl	$3, _ZL4ans1(%rip)
	movslq	%r11d, %rax
	movq	%rax, -72(%rbp)                 # 8-byte Spill
	jne	.LBB3_558
# %bb.548:                              #   in Loop: Header=BB3_433 Depth=1
	movl	%r11d, -144(%rbp)               # 4-byte Spill
	movslq	%edx, %rax
	movss	_ZL8dmyclass(,%rax,4), %xmm0    # xmm0 = mem[0],zero,zero,zero
	cvttps2dq	%xmm0, %xmm1
	cvtdq2ps	%xmm1, %xmm1
	movaps	%xmm0, %xmm2
	subss	%xmm1, %xmm2
	ucomiss	.LCPI3_11(%rip), %xmm2
	movq	fl4(%rip), %rdi
	movl	_ZL1n(%rip), %edx
	jne	.LBB3_550
	jp	.LBB3_550
# %bb.549:                              #   in Loop: Header=BB3_433 Depth=1
	cvttss2si	%xmm0, %ecx
	movss	_ZL8classval(,%rax,4), %xmm0    # xmm0 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movsd	.LCPI3_8(%rip), %xmm4           # xmm4 = mem[0],zero
	mulsd	%xmm4, %xmm0
	movslq	%ebx, %rax
	cvttss2si	_ZL8dmyclass(,%rax,4), %r8d
	movq	%rax, -64(%rbp)                 # 8-byte Spill
	movss	_ZL8classval(,%rax,4), %xmm1    # xmm1 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm1
	cvtss2sd	%xmm1, %xmm1
	mulsd	%xmm4, %xmm1
	movslq	%r14d, %rax
	cvttss2si	_ZL8dmyclass(,%rax,4), %r9d
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm4, %xmm2
	movslq	%r12d, %rax
	cvttss2si	_ZL8dmyclass(,%rax,4), %r10d
	movss	_ZL8classval(,%rax,4), %xmm3    # xmm3 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm3
	cvtss2sd	%xmm3, %xmm3
	mulsd	%xmm4, %xmm3
	subq	$8, %rsp
	movl	$.L.str.71, %esi
	movb	$4, %al
	pushq	%r10
	callq	fprintf
	addq	$16, %rsp
	jmp	.LBB3_551
.LBB3_550:                              #   in Loop: Header=BB3_433 Depth=1
	cvtss2sd	%xmm0, %xmm0
	movss	_ZL8classval(,%rax,4), %xmm1    # xmm1 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm1
	cvtss2sd	%xmm1, %xmm1
	movsd	.LCPI3_8(%rip), %xmm9           # xmm9 = mem[0],zero
	mulsd	%xmm9, %xmm1
	movslq	%ebx, %rax
	xorps	%xmm2, %xmm2
	cvtss2sd	_ZL8dmyclass(,%rax,4), %xmm2
	movq	%rax, -64(%rbp)                 # 8-byte Spill
	movss	_ZL8classval(,%rax,4), %xmm3    # xmm3 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm3
	cvtss2sd	%xmm3, %xmm3
	movslq	%r14d, %rax
	xorps	%xmm4, %xmm4
	cvtss2sd	_ZL8dmyclass(,%rax,4), %xmm4
	mulsd	%xmm9, %xmm3
	movss	_ZL8classval(,%rax,4), %xmm5    # xmm5 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm5
	cvtss2sd	%xmm5, %xmm5
	mulsd	%xmm9, %xmm5
	movslq	%r12d, %rax
	xorps	%xmm6, %xmm6
	cvtss2sd	_ZL8dmyclass(,%rax,4), %xmm6
	movss	_ZL8classval(,%rax,4), %xmm8    # xmm8 = mem[0],zero,zero,zero
	divss	%xmm7, %xmm8
	xorps	%xmm7, %xmm7
	cvtss2sd	%xmm8, %xmm7
	mulsd	%xmm9, %xmm7
	movl	$.L.str.72, %esi
	movb	$8, %al
	callq	fprintf
.LBB3_551:                              #   in Loop: Header=BB3_433 Depth=1
	movq	-72(%rbp), %rax                 # 8-byte Reload
	movss	_ZL8classval(,%rax,4), %xmm0    # xmm0 = mem[0],zero,zero,zero
	movaps	%xmm0, %xmm1
	movq	-64(%rbp), %rax                 # 8-byte Reload
	subss	_ZL8classval(,%rax,4), %xmm1
	andps	.LCPI3_2(%rip), %xmm1
	cvtss2sd	%xmm1, %xmm1
	xorps	%xmm2, %xmm2
	cvtss2sd	%xmm0, %xmm2
	mulsd	.LCPI3_9(%rip), %xmm2
	ucomisd	%xmm1, %xmm2
	movss	_ZL7totprob(%rip), %xmm1        # xmm1 = mem[0],zero,zero,zero
	jbe	.LBB3_554
# %bb.552:                              #   in Loop: Header=BB3_433 Depth=1
	movaps	%xmm0, %xmm2
	divss	%xmm1, %xmm2
	incl	_ZL7nLoCcnt(%rip)
	addss	_ZL4nLoC(%rip), %xmm2
	mulss	_ZL3LoC(%rip), %xmm1
	movss	%xmm2, _ZL4nLoC(%rip)
	ucomiss	%xmm1, %xmm0
	movq	fl4(%rip), %rcx
	jbe	.LBB3_556
# %bb.553:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$.L.str.73, %edi
	movl	$17, %esi
	jmp	.LBB3_557
.LBB3_554:                              #   in Loop: Header=BB3_433 Depth=1
	mulss	_ZL3LoC(%rip), %xmm1
	ucomiss	%xmm1, %xmm0
	movq	fl4(%rip), %rcx
	jbe	.LBB3_556
# %bb.555:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$.L.str.75, %edi
	movl	$14, %esi
	jmp	.LBB3_557
.LBB3_556:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$.L.str.74, %edi
	movl	$13, %esi
.LBB3_557:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$1, %edx
	callq	fwrite@PLT
	movq	fl4(%rip), %rsi
	movl	$10, %edi
	callq	fputc@PLT
	cmpl	$3, _ZL4ans1(%rip)
	movl	-144(%rbp), %edx                # 4-byte Reload
	je	.LBB3_587
.LBB3_558:                              # %.thread
                                        #   in Loop: Header=BB3_433 Depth=1
	movl	%r12d, -144(%rbp)               # 4-byte Spill
	movslq	%edx, %rax
	movss	_ZL8dmyclass(,%rax,4), %xmm0    # xmm0 = mem[0],zero,zero,zero
	cvttps2dq	%xmm0, %xmm1
	cvtdq2ps	%xmm1, %xmm1
	movaps	%xmm0, %xmm2
	subss	%xmm1, %xmm2
	ucomiss	.LCPI3_11(%rip), %xmm2
	movq	fl4(%rip), %rdi
	movl	_ZL1n(%rip), %edx
	jne	.LBB3_560
	jp	.LBB3_560
# %bb.559:                              #   in Loop: Header=BB3_433 Depth=1
	cvttss2si	%xmm0, %ecx
	movl	$.L.str.76, %esi
	xorl	%eax, %eax
	callq	fprintf
	movq	fl7(%rip), %rdi
	movq	-72(%rbp), %r12                 # 8-byte Reload
	cvttss2si	_ZL8dmyclass(,%r12,4), %ecx
	movslq	%ebx, %rax
	cvttss2si	_ZL8dmyclass(,%rax,4), %r8d
	movslq	%r14d, %rax
	cvttss2si	_ZL8dmyclass(,%rax,4), %r9d
	movslq	-144(%rbp), %rax                # 4-byte Folded Reload
	cvttss2si	_ZL8dmyclass(,%rax,4), %r10d
	movl	_ZL1n(%rip), %edx
	cvttss2si	-92(%rbp), %r11d
	movl	$.L.str.77, %esi
	xorl	%eax, %eax
	pushq	%r11
	pushq	%r10
	callq	fprintf
	addq	$16, %rsp
	jmp	.LBB3_561
.LBB3_560:                              #   in Loop: Header=BB3_433 Depth=1
	cvtss2sd	%xmm0, %xmm0
	movl	$.L.str.78, %esi
	movb	$1, %al
	callq	fprintf
	movq	fl7(%rip), %rdi
	movq	-72(%rbp), %r12                 # 8-byte Reload
	xorps	%xmm0, %xmm0
	cvtss2sd	_ZL8dmyclass(,%r12,4), %xmm0
	movl	_ZL1n(%rip), %edx
	movslq	%ebx, %rax
	xorps	%xmm1, %xmm1
	cvtss2sd	_ZL8dmyclass(,%rax,4), %xmm1
	movslq	%r14d, %rax
	xorps	%xmm2, %xmm2
	cvtss2sd	_ZL8dmyclass(,%rax,4), %xmm2
	movslq	-144(%rbp), %rax                # 4-byte Folded Reload
	xorps	%xmm3, %xmm3
	cvtss2sd	_ZL8dmyclass(,%rax,4), %xmm3
	xorps	%xmm4, %xmm4
	cvtss2sd	-92(%rbp), %xmm4
	movl	$.L.str.79, %esi
	movb	$5, %al
	callq	fprintf
.LBB3_561:                              #   in Loop: Header=BB3_433 Depth=1
	movss	_ZL8dmyclass(,%r12,4), %xmm1    # xmm1 = mem[0],zero,zero,zero
	movss	-92(%rbp), %xmm0                # xmm0 = mem[0],zero,zero,zero
	subss	%xmm0, %xmm1
	movaps	.LCPI3_2(%rip), %xmm4           # xmm4 = [NaN,NaN,NaN,NaN]
	andps	%xmm4, %xmm1
	movss	_ZL8dmyclass(%rip), %xmm2       # xmm2 = mem[0],zero,zero,zero
	ucomiss	%xmm2, %xmm1
	movss	_ZL8classval(,%r12,4), %xmm1    # xmm1 = mem[0],zero,zero,zero
	jae	.LBB3_562
# %bb.576:                              #   in Loop: Header=BB3_433 Depth=1
	movslq	%ebx, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	movaps	%xmm1, %xmm0
	subss	%xmm2, %xmm0
	andps	%xmm4, %xmm0
	cvtss2sd	%xmm0, %xmm0
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm1, %xmm3
	mulsd	.LCPI3_9(%rip), %xmm3
	ucomisd	%xmm0, %xmm3
	movss	_ZL7totprob(%rip), %xmm3        # xmm3 = mem[0],zero,zero,zero
	movl	-144(%rbp), %ecx                # 4-byte Reload
	jbe	.LBB3_581
# %bb.577:                              #   in Loop: Header=BB3_433 Depth=1
	movaps	%xmm1, %xmm0
	divss	%xmm3, %xmm0
	movss	_ZL4nLoC(%rip), %xmm4           # xmm4 = mem[0],zero,zero,zero
	addss	%xmm0, %xmm4
	movss	%xmm4, _ZL4nLoC(%rip)
	incl	_ZL7nLoCcnt(%rip)
	movss	_ZL3LoC(%rip), %xmm4            # xmm4 = mem[0],zero,zero,zero
	mulss	%xmm3, %xmm4
	ucomiss	%xmm4, %xmm1
	jbe	.LBB3_580
# %bb.578:                              #   in Loop: Header=BB3_433 Depth=1
	movq	fl7(%rip), %rdi
	cvtss2sd	%xmm0, %xmm0
	movsd	.LCPI3_8(%rip), %xmm5           # xmm5 = mem[0],zero
	mulsd	%xmm5, %xmm0
	divss	%xmm3, %xmm2
	xorps	%xmm1, %xmm1
	cvtss2sd	%xmm2, %xmm1
	mulsd	%xmm5, %xmm1
	movslq	%r14d, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm5, %xmm2
	movslq	%ecx, %rax
	movss	_ZL8classval(,%rax,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm4
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm4, %xmm3
	mulsd	%xmm5, %xmm3
	movl	$.L.str.87, %esi
	jmp	.LBB3_579
.LBB3_562:                              #   in Loop: Header=BB3_433 Depth=1
	ucomiss	.LCPI3_11(%rip), %xmm1
	movl	-144(%rbp), %ecx                # 4-byte Reload
	jne	.LBB3_564
	jp	.LBB3_564
# %bb.563:                              #   in Loop: Header=BB3_433 Depth=1
	incl	_ZL6invcnt(%rip)
	movq	fl7(%rip), %rdi
	movss	_ZL7totprob(%rip), %xmm2        # xmm2 = mem[0],zero,zero,zero
	divss	%xmm2, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
	movsd	.LCPI3_8(%rip), %xmm3           # xmm3 = mem[0],zero
	mulsd	%xmm3, %xmm0
	movslq	%ebx, %rax
	movss	_ZL8classval(,%rax,4), %xmm1    # xmm1 = mem[0],zero,zero,zero
	divss	%xmm2, %xmm1
	cvtss2sd	%xmm1, %xmm1
	mulsd	%xmm3, %xmm1
	movl	$.L.str.80, %esi
	movb	$2, %al
	callq	fprintf
	jmp	.LBB3_586
.LBB3_581:                              #   in Loop: Header=BB3_433 Depth=1
	movss	_ZL3LoC(%rip), %xmm0            # xmm0 = mem[0],zero,zero,zero
	mulss	%xmm3, %xmm0
	ucomiss	%xmm0, %xmm1
	jbe	.LBB3_583
# %bb.582:                              #   in Loop: Header=BB3_433 Depth=1
	movq	fl7(%rip), %rdi
	divss	%xmm3, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
	movsd	.LCPI3_8(%rip), %xmm5           # xmm5 = mem[0],zero
	mulsd	%xmm5, %xmm0
	divss	%xmm3, %xmm2
	xorps	%xmm1, %xmm1
	cvtss2sd	%xmm2, %xmm1
	mulsd	%xmm5, %xmm1
	movslq	%r14d, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm5, %xmm2
	movslq	%ecx, %rax
	movss	_ZL8classval(,%rax,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm4
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm4, %xmm3
	mulsd	%xmm5, %xmm3
	movl	$.L.str.89, %esi
.LBB3_579:                              #   in Loop: Header=BB3_433 Depth=1
	movb	$4, %al
	callq	fprintf
	incl	_ZL5c1cnt(%rip)
	jmp	.LBB3_586
.LBB3_564:                              #   in Loop: Header=BB3_433 Depth=1
	movslq	%ebx, %rax
	movss	_ZL8dmyclass(,%rax,4), %xmm3    # xmm3 = mem[0],zero,zero,zero
	subss	%xmm0, %xmm3
	andps	%xmm4, %xmm3
	ucomiss	%xmm3, %xmm2
	jbe	.LBB3_573
# %bb.565:                              #   in Loop: Header=BB3_433 Depth=1
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	movaps	%xmm1, %xmm0
	subss	%xmm2, %xmm0
	andps	%xmm4, %xmm0
	cvtss2sd	%xmm0, %xmm0
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm2, %xmm3
	mulsd	.LCPI3_9(%rip), %xmm3
	ucomisd	%xmm0, %xmm3
	movss	_ZL7totprob(%rip), %xmm3        # xmm3 = mem[0],zero,zero,zero
	jbe	.LBB3_569
# %bb.566:                              #   in Loop: Header=BB3_433 Depth=1
	movaps	%xmm1, %xmm4
	divss	%xmm3, %xmm4
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm4, %xmm0
	addss	_ZL4nLoC(%rip), %xmm4
	movss	%xmm4, _ZL4nLoC(%rip)
	incl	_ZL7nLoCcnt(%rip)
	movss	_ZL3LoC(%rip), %xmm4            # xmm4 = mem[0],zero,zero,zero
	mulss	%xmm3, %xmm4
	ucomiss	%xmm4, %xmm1
	jbe	.LBB3_568
# %bb.567:                              #   in Loop: Header=BB3_433 Depth=1
	incl	_ZL5c2cnt(%rip)
	movq	fl7(%rip), %rdi
	movsd	.LCPI3_8(%rip), %xmm5           # xmm5 = mem[0],zero
	mulsd	%xmm5, %xmm0
	divss	%xmm3, %xmm2
	xorps	%xmm1, %xmm1
	cvtss2sd	%xmm2, %xmm1
	mulsd	%xmm5, %xmm1
	movslq	%r14d, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm5, %xmm2
	movslq	%ecx, %rax
	movss	_ZL8classval(,%rax,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm4
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm4, %xmm3
	mulsd	%xmm5, %xmm3
	movl	$.L.str.81, %esi
	jmp	.LBB3_585
.LBB3_580:                              #   in Loop: Header=BB3_433 Depth=1
	incl	_ZL6invcnt(%rip)
	movq	fl7(%rip), %rdi
	cvtss2sd	%xmm0, %xmm0
	jmp	.LBB3_584
.LBB3_583:                              #   in Loop: Header=BB3_433 Depth=1
	incl	_ZL6invcnt(%rip)
	movq	fl7(%rip), %rdi
	divss	%xmm3, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
.LBB3_584:                              #   in Loop: Header=BB3_433 Depth=1
	movsd	.LCPI3_8(%rip), %xmm5           # xmm5 = mem[0],zero
	mulsd	%xmm5, %xmm0
	divss	%xmm3, %xmm2
	xorps	%xmm1, %xmm1
	cvtss2sd	%xmm2, %xmm1
	mulsd	%xmm5, %xmm1
	movslq	%r14d, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm5, %xmm2
	movslq	%ecx, %rax
	movss	_ZL8classval(,%rax,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm4
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm4, %xmm3
	mulsd	%xmm5, %xmm3
	movl	$.L.str.88, %esi
.LBB3_585:                              #   in Loop: Header=BB3_433 Depth=1
	movb	$4, %al
	callq	fprintf
	jmp	.LBB3_586
.LBB3_573:                              #   in Loop: Header=BB3_433 Depth=1
	movss	_ZL7totprob(%rip), %xmm3        # xmm3 = mem[0],zero,zero,zero
	movss	_ZL3LoC(%rip), %xmm0            # xmm0 = mem[0],zero,zero,zero
	mulss	%xmm3, %xmm0
	ucomiss	%xmm0, %xmm1
	movq	fl7(%rip), %rdi
	divss	%xmm3, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
	movsd	.LCPI3_8(%rip), %xmm5           # xmm5 = mem[0],zero
	mulsd	%xmm5, %xmm0
	movss	_ZL8classval(,%rax,4), %xmm1    # xmm1 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm1
	cvtss2sd	%xmm1, %xmm1
	mulsd	%xmm5, %xmm1
	movslq	%r14d, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm5, %xmm2
	movslq	%ecx, %rax
	movss	_ZL8classval(,%rax,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm4
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm4, %xmm3
	mulsd	%xmm5, %xmm3
	jbe	.LBB3_575
# %bb.574:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$.L.str.85, %esi
	jmp	.LBB3_585
.LBB3_569:                              #   in Loop: Header=BB3_433 Depth=1
	movss	_ZL3LoC(%rip), %xmm0            # xmm0 = mem[0],zero,zero,zero
	mulss	%xmm3, %xmm0
	ucomiss	%xmm0, %xmm1
	movq	fl7(%rip), %rdi
	divss	%xmm3, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
	movsd	.LCPI3_8(%rip), %xmm5           # xmm5 = mem[0],zero
	mulsd	%xmm5, %xmm0
	divss	%xmm3, %xmm2
	xorps	%xmm1, %xmm1
	cvtss2sd	%xmm2, %xmm1
	mulsd	%xmm5, %xmm1
	movslq	%r14d, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm5, %xmm2
	movslq	%ecx, %rax
	movss	_ZL8classval(,%rax,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm4
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm4, %xmm3
	mulsd	%xmm5, %xmm3
	jbe	.LBB3_571
# %bb.570:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$.L.str.83, %esi
	jmp	.LBB3_585
.LBB3_575:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$.L.str.86, %esi
	jmp	.LBB3_572
.LBB3_568:                              #   in Loop: Header=BB3_433 Depth=1
	movq	fl7(%rip), %rdi
	movsd	.LCPI3_8(%rip), %xmm5           # xmm5 = mem[0],zero
	mulsd	%xmm5, %xmm0
	divss	%xmm3, %xmm2
	xorps	%xmm1, %xmm1
	cvtss2sd	%xmm2, %xmm1
	mulsd	%xmm5, %xmm1
	movslq	%r14d, %rax
	movss	_ZL8classval(,%rax,4), %xmm2    # xmm2 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm2
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm5, %xmm2
	movslq	%ecx, %rax
	movss	_ZL8classval(,%rax,4), %xmm4    # xmm4 = mem[0],zero,zero,zero
	divss	%xmm3, %xmm4
	xorps	%xmm3, %xmm3
	cvtss2sd	%xmm4, %xmm3
	mulsd	%xmm5, %xmm3
	movl	$.L.str.82, %esi
	jmp	.LBB3_572
.LBB3_571:                              #   in Loop: Header=BB3_433 Depth=1
	movl	$.L.str.84, %esi
.LBB3_572:                              #   in Loop: Header=BB3_433 Depth=1
	movb	$4, %al
	callq	fprintf
	incl	_ZL6invcnt(%rip)
.LBB3_586:                              #   in Loop: Header=BB3_433 Depth=1
	movq	fl5(%rip), %rdi
	movl	_ZL1n(%rip), %edx
	xorps	%xmm0, %xmm0
	cvtss2sd	-92(%rbp), %xmm0
	movl	$.L.str.90, %esi
	movb	$1, %al
	callq	fprintf
.LBB3_587:                              #   in Loop: Header=BB3_433 Depth=1
	movq	fl1(%rip), %rdi
	callq	feof
	testl	%eax, %eax
	je	.LBB3_433
.LBB3_588:                              # %._crit_edge1407
	movl	$_ZSt4cout, %edi
	movl	$.L.str.91, %esi
	movl	$21, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	xorps	%xmm0, %xmm0
	cvtsi2ssl	_ZL7nLoCcnt(%rip), %xmm0
	movss	_ZL4nLoC(%rip), %xmm1           # xmm1 = mem[0],zero,zero,zero
	divss	%xmm0, %xmm1
	xorps	%xmm0, %xmm0
	cvtss2sd	%xmm1, %xmm0
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
	movl	$.L.str.2, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	fl1(%rip), %rdi
	callq	fclose
	movq	fl2(%rip), %rdi
	callq	fclose
	movq	fl4(%rip), %rdi
	callq	fclose
	cmpl	$2, _ZL4ans1(%rip)
	jg	.LBB3_593
# %bb.589:
	movl	$fltmp, %edi
	movl	$fln, %esi
	callq	strcpy
	movq	fl5(%rip), %rdi
	callq	fclose
	movq	fl7(%rip), %rcx
	movl	$.L.str.92, %edi
	movl	$74, %esi
	movl	$1, %edx
	callq	fwrite@PLT
	movq	fl7(%rip), %rcx
	movl	$.L.str.93, %edi
	movl	$73, %esi
	movl	$1, %edx
	callq	fwrite@PLT
	movl	$_ZSt4cout, %edi
	movl	$.L.str.92, %esi
	movl	$74, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	$_ZSt4cout, %edi
	movl	$.L.str.93, %esi
	movl	$73, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	cmpl	$4, _ZL8outnodes(%rip)
	movq	fl7(%rip), %rcx
	jl	.LBB3_591
# %bb.590:
	movl	$.L.str.94, %edi
	movl	$68, %esi
	movl	$1, %edx
	callq	fwrite@PLT
	movq	fl7(%rip), %rdi
	movl	_ZL1n(%rip), %edx
	movl	_ZL5c1cnt(%rip), %ecx
	movl	_ZL5c2cnt(%rip), %r8d
	movl	_ZL6invcnt(%rip), %r9d
	leal	(%r8,%rcx), %eax
	xorps	%xmm0, %xmm0
	cvtsi2ss	%eax, %xmm0
	movl	%edx, %eax
	subl	%r9d, %eax
	xorps	%xmm1, %xmm1
	cvtsi2ss	%eax, %xmm1
	mulss	.LCPI3_10(%rip), %xmm0
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movl	$.L.str.95, %esi
                                        # kill: def $ecx killed $ecx killed $rcx
                                        # kill: def $r8d killed $r8d killed $r8
	movb	$1, %al
	callq	fprintf
	movl	$_ZSt4cout, %edi
	movl	$.L.str.94, %esi
	movl	$68, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL1n(%rip), %esi
	movl	_ZL5c1cnt(%rip), %edx
	movl	_ZL5c2cnt(%rip), %ecx
	movl	_ZL6invcnt(%rip), %r8d
	leal	(%rcx,%rdx), %eax
	xorps	%xmm0, %xmm0
	cvtsi2ss	%eax, %xmm0
	movl	%esi, %eax
	subl	%r8d, %eax
	xorps	%xmm1, %xmm1
	cvtsi2ss	%eax, %xmm1
	mulss	.LCPI3_10(%rip), %xmm0
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movl	$.L.str.95, %edi
                                        # kill: def $edx killed $edx killed $rdx
                                        # kill: def $ecx killed $ecx killed $rcx
	jmp	.LBB3_592
.LBB3_591:
	movl	$.L.str.96, %edi
	movl	$69, %esi
	movl	$1, %edx
	callq	fwrite@PLT
	movq	fl7(%rip), %rdi
	movl	_ZL1n(%rip), %edx
	movl	_ZL5c1cnt(%rip), %ecx
	movl	_ZL5c2cnt(%rip), %r8d
	movl	_ZL6invcnt(%rip), %r9d
	xorps	%xmm0, %xmm0
	cvtsi2ss	%ecx, %xmm0
	movl	%edx, %eax
	subl	%r9d, %eax
	xorps	%xmm1, %xmm1
	cvtsi2ss	%eax, %xmm1
	mulss	.LCPI3_10(%rip), %xmm0
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movl	$.L.str.95, %esi
	movb	$1, %al
	callq	fprintf
	movl	$_ZSt4cout, %edi
	movl	$.L.str.96, %esi
	movl	$69, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movl	_ZL1n(%rip), %esi
	movl	_ZL5c1cnt(%rip), %edx
	movl	_ZL6invcnt(%rip), %r8d
	xorps	%xmm0, %xmm0
	cvtsi2ss	%edx, %xmm0
	movl	%esi, %eax
	subl	%r8d, %eax
	xorps	%xmm1, %xmm1
	cvtsi2ss	%eax, %xmm1
	mulss	.LCPI3_10(%rip), %xmm0
	movl	_ZL5c2cnt(%rip), %ecx
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movl	$.L.str.95, %edi
.LBB3_592:
	movb	$1, %al
	callq	printf
	movq	fl7(%rip), %rcx
	movl	$.L.str.92, %edi
	movl	$74, %esi
	movl	$1, %edx
	callq	fwrite@PLT
	movl	$.Lstr.2, %edi
	callq	puts@PLT
	movq	fl7(%rip), %rdi
	callq	fclose
.LBB3_593:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.97, %esi
	movl	$6, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	xorl	%edi, %edi
	callq	times
	movq	%rax, stop(%rip)
	movl	$_ZSt4cout, %edi
	movl	$.L.str.36, %esi
	movl	$21, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	movq	start(%rip), %rax
	subq	stop(%rip), %rax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	andpd	.LCPI3_4(%rip), %xmm0
	mulsd	.LCPI3_5(%rip), %xmm0
	divsd	.LCPI3_6(%rip), %xmm0
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
	movl	$.L.str.37, %esi
	movl	$7, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
	xorl	%eax, %eax
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa %rsp, 8
	retq
.LBB3_56:
	.cfi_def_cfa %rbp, 16
	movl	$_ZSt4cout, %edi
	movl	$.L.str.24, %esi
	jmp	.LBB3_14
.LBB3_55:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.23, %esi
	jmp	.LBB3_14
.LBB3_448:
	movl	$.L.str.63, %esi
	jmp	.LBB3_14
.LBB3_274:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.50, %esi
	jmp	.LBB3_14
.LBB3_273:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.49, %esi
	jmp	.LBB3_14
.LBB3_13:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.7, %esi
	jmp	.LBB3_14
.LBB3_595:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.43, %esi
	jmp	.LBB3_14
.LBB3_594:
	movl	$.L.str.34, %esi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
	movl	$fltmp, %esi
	movq	%rax, %rdi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
	movl	$.L.str.35, %esi
	movq	%rax, %rdi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
	movl	$.L.str.2, %esi
	movq	%rax, %rdi
.LBB3_14:
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
	movl	$1, %edi
	callq	exit
.Lfunc_end3:
	.size	main, .Lfunc_end3-main
	.cfi_endproc
	.section	.rodata,"a",@progbits
	.p2align	3, 0x0
.LJTI3_0:
	.quad	.LBB3_6
	.quad	.LBB3_15
	.quad	.LBB3_22
	.quad	.LBB3_23
                                        # -- 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:
	subq	$40, %rsp
	.cfi_def_cfa_offset 48
	movq	__hip_gpubin_handle(%rip), %rdi
	testq	%rdi, %rdi
	jne	.LBB4_2
# %bb.1:
	movl	$__hip_fatbin_wrapper, %edi
	callq	__hipRegisterFatBinary
	movq	%rax, %rdi
	movq	%rax, __hip_gpubin_handle(%rip)
.LBB4_2:
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, %esi
	movl	$.L__unnamed_1, %edx
	movl	$.L__unnamed_1, %ecx
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	movl	$__hip_module_dtor, %edi
	addq	$40, %rsp
	.cfi_def_cfa_offset 8
	jmp	atexit                          # TAILCALL
.Lfunc_end4:
	.size	__hip_module_ctor, .Lfunc_end4-__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	.LBB5_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
.LBB5_2:
	retq
.Lfunc_end5:
	.size	__hip_module_dtor, .Lfunc_end5-__hip_module_dtor
	.cfi_endproc
                                        # -- End function
	.type	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_,@object # @_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.section	.rodata,"a",@progbits
	.globl	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.p2align	3, 0x0
_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_:
	.quad	_Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.size	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, 8

	.type	.L.str,@object                  # @.str
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str:
	.asciz	"r"
	.size	.L.str, 2

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

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

	.type	fln,@object                     # @fln
	.globl	fln
	.p2align	4, 0x0
fln:
	.zero	256
	.size	fln, 256

	.type	fltmp,@object                   # @fltmp
	.globl	fltmp
	.p2align	4, 0x0
fltmp:
	.zero	256
	.size	fltmp, 256

	.type	urchoice,@object                # @urchoice
	.globl	urchoice
urchoice:
	.byte	0                               # 0x0
	.size	urchoice, 1

	.type	urchoicex,@object               # @urchoicex
	.globl	urchoicex
urchoicex:
	.byte	0                               # 0x0
	.size	urchoicex, 1

	.type	bcchoice,@object                # @bcchoice
	.globl	bcchoice
bcchoice:
	.byte	0                               # 0x0
	.size	bcchoice, 1

	.type	savedpar,@object                # @savedpar
	.globl	savedpar
savedpar:
	.byte	0                               # 0x0
	.size	savedpar, 1

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

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

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

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

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

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

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

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

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

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

	.type	_ZL6argfnd,@object              # @_ZL6argfnd
	.local	_ZL6argfnd
	.comm	_ZL6argfnd,1,4
	.type	.L.str.1,@object                # @.str.1
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.1:
	.asciz	"The selected option is "
	.size	.L.str.1, 24

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

	.type	_ZL4ans1,@object                # @_ZL4ans1
	.local	_ZL4ans1
	.comm	_ZL4ans1,4,4
	.type	.L.str.3,@object                # @.str.3
.L.str.3:
	.asciz	"0.par"
	.size	.L.str.3, 6

	.type	.L.str.4,@object                # @.str.4
.L.str.4:
	.asciz	"%c\n"
	.size	.L.str.4, 4

	.type	.L.str.5,@object                # @.str.5
.L.str.5:
	.asciz	"%d\n"
	.size	.L.str.5, 4

	.type	_ZL6skpchk,@object              # @_ZL6skpchk
	.local	_ZL6skpchk
	.comm	_ZL6skpchk,4,4
	.type	_ZL10MissingDat,@object         # @_ZL10MissingDat
	.data
	.p2align	2, 0x0
_ZL10MissingDat:
	.long	4294957297                      # 0xffffd8f1
	.size	_ZL10MissingDat, 4

	.type	.L.str.6,@object                # @.str.6
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.6:
	.asciz	"System  is configured for handling missing data with missing data indicator"
	.size	.L.str.6, 76

	.type	.L.str.7,@object                # @.str.7
.L.str.7:
	.asciz	"No Parameter File... existing.."
	.size	.L.str.7, 32

	.type	.L.str.8,@object                # @.str.8
.L.str.8:
	.asciz	"1.par"
	.size	.L.str.8, 6

	.type	.L.str.9,@object                # @.str.9
.L.str.9:
	.asciz	"%f"
	.size	.L.str.9, 3

	.type	_ZL4gain,@object                # @_ZL4gain
	.local	_ZL4gain
	.comm	_ZL4gain,4,4
	.type	.L.str.10,@object               # @.str.10
.L.str.10:
	.asciz	"%d"
	.size	.L.str.10, 3

	.type	_ZL8oneround,@object            # @_ZL8oneround
	.data
	.p2align	2, 0x0
_ZL8oneround:
	.long	100                             # 0x64
	.size	_ZL8oneround, 4

	.type	.L.str.11,@object               # @.str.11
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.11:
	.asciz	"Create the APF file(0) or Create the Weights file (1) or Classify Data(2,3) ?"
	.size	.L.str.11, 78

	.type	_ZL5bgain,@object               # @_ZL5bgain
	.local	_ZL5bgain
	.comm	_ZL5bgain,4,4
	.type	.L.str.12,@object               # @.str.12
.L.str.12:
	.asciz	"Allowed relaxation on the boundary (in % use 0 for default from training data) :"
	.size	.L.str.12, 81

	.type	.L.str.13,@object               # @.str.13
.L.str.13:
	.asciz	"Enter the name of the input file without extension (dat) :"
	.size	.L.str.13, 59

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

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

	.type	_ZL1i,@object                   # @_ZL1i
	.local	_ZL1i
	.comm	_ZL1i,4,4
	.type	_ZL7innodes,@object             # @_ZL7innodes
	.data
	.p2align	2, 0x0
_ZL7innodes:
	.long	100                             # 0x64
	.size	_ZL7innodes, 4

	.type	_ZL8outnodes,@object            # @_ZL8outnodes
	.p2align	2, 0x0
_ZL8outnodes:
	.long	100                             # 0x64
	.size	_ZL8outnodes, 4

	.type	_ZL8dmyclass,@object            # @_ZL8dmyclass
	.local	_ZL8dmyclass
	.comm	_ZL8dmyclass,2008,16
	.type	_ZL3LoC,@object                 # @_ZL3LoC
	.p2align	2, 0x0
_ZL3LoC:
	.long	0x3f266666                      # float 0.649999976
	.size	_ZL3LoC, 4

	.type	_ZL6nresol,@object              # @_ZL6nresol
	.local	_ZL6nresol
	.comm	_ZL6nresol,4,4
	.type	_ZL6nerror,@object              # @_ZL6nerror
	.local	_ZL6nerror
	.comm	_ZL6nerror,4,4
	.type	.L.str.16,@object               # @.str.16
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.16:
	.asciz	"You have "
	.size	.L.str.16, 10

	.type	.L.str.17,@object               # @.str.17
.L.str.17:
	.asciz	" input nodes and "
	.size	.L.str.17, 18

	.type	.L.str.18,@object               # @.str.18
.L.str.18:
	.asciz	" Output nodes with "
	.size	.L.str.18, 20

	.type	.L.str.19,@object               # @.str.19
.L.str.19:
	.asciz	"margin set to "
	.size	.L.str.19, 15

	.type	.L.str.20,@object               # @.str.20
.L.str.20:
	.asciz	" and error levels set to "
	.size	.L.str.20, 26

	.type	.L.str.21,@object               # @.str.21
.L.str.21:
	.asciz	"The target outputs are\n"
	.size	.L.str.21, 24

	.type	_ZL5resol,@object               # @_ZL5resol
	.data
	.p2align	2, 0x0
_ZL5resol:
	.long	100                             # 0x64
	.size	_ZL5resol, 4

	.type	.L.str.22,@object               # @.str.22
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.22:
	.asciz	"The maximum binsize is: "
	.size	.L.str.22, 25

	.type	_ZL8fst_gain,@object            # @_ZL8fst_gain
	.local	_ZL8fst_gain
	.comm	_ZL8fst_gain,4,4
	.type	.L.str.23,@object               # @.str.23
.L.str.23:
	.asciz	"Unable to find the Info file. Exiting !!"
	.size	.L.str.23, 41

	.type	.L.str.24,@object               # @.str.24
.L.str.24:
	.asciz	"Unable to open the data file"
	.size	.L.str.24, 29

	.type	.L.str.25,@object               # @.str.25
.L.str.25:
	.asciz	"Going to initialise the arrays\n"
	.size	.L.str.25, 32

	.type	.L.str.26,@object               # @.str.26
.L.str.26:
	.asciz	"NUMLINES:%d\n"
	.size	.L.str.26, 13

	.type	_ZL1n,@object                   # @_ZL1n
	.local	_ZL1n
	.comm	_ZL1n,4,4
	.type	_ZL4omax,@object                # @_ZL4omax
	.local	_ZL4omax
	.comm	_ZL4omax,4,4
	.type	_ZL4omin,@object                # @_ZL4omin
	.local	_ZL4omin
	.comm	_ZL4omin,4,4
	.type	.L.str.27,@object               # @.str.27
.L.str.27:
	.asciz	"%f\n"
	.size	.L.str.27, 4

	.type	_ZL1k,@object                   # @_ZL1k
	.local	_ZL1k
	.comm	_ZL1k,4,4
	.type	_ZL1j,@object                   # @_ZL1j
	.local	_ZL1j
	.comm	_ZL1j,4,4
	.type	.L.str.28,@object               # @.str.28
.L.str.28:
	.asciz	"No of vectors ="
	.size	.L.str.28, 16

	.type	.L.str.29,@object               # @.str.29
.L.str.29:
	.asciz	" and i/n is= "
	.size	.L.str.29, 14

	.type	.L.str.30,@object               # @.str.30
.L.str.30:
	.asciz	"Do you want to use the saved parameters (Y/N)? "
	.size	.L.str.30, 48

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

	.type	.L.str.32,@object               # @.str.32
.L.str.32:
	.asciz	"Reading from the saved information\n"
	.size	.L.str.32, 36

	.type	.L.str.33,@object               # @.str.33
.L.str.33:
	.asciz	" items read from "
	.size	.L.str.33, 18

	.type	.L.str.34,@object               # @.str.34
.L.str.34:
	.asciz	"ERROR: File "
	.size	.L.str.34, 13

	.type	.L.str.35,@object               # @.str.35
.L.str.35:
	.asciz	" not found"
	.size	.L.str.35, 11

	.type	_ZL1l,@object                   # @_ZL1l
	.local	_ZL1l
	.comm	_ZL1l,4,4
	.type	_ZL1m,@object                   # @_ZL1m
	.local	_ZL1m
	.comm	_ZL1m,4,4
	.type	.L.str.36,@object               # @.str.36
.L.str.36:
	.asciz	"The computation took "
	.size	.L.str.36, 22

	.type	.L.str.37,@object               # @.str.37
.L.str.37:
	.asciz	" Secs.\n"
	.size	.L.str.37, 8

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

	.type	.L.str.39,@object               # @.str.39
.L.str.39:
	.asciz	"w+"
	.size	.L.str.39, 3

	.type	.L.str.40,@object               # @.str.40
.L.str.40:
	.asciz	"%d "
	.size	.L.str.40, 4

	.type	.L.str.41,@object               # @.str.41
.L.str.41:
	.asciz	"\n%f %f \n"
	.size	.L.str.41, 9

	.type	.L.str.42,@object               # @.str.42
.L.str.42:
	.asciz	"%f "
	.size	.L.str.42, 4

	.type	.L.str.43,@object               # @.str.43
.L.str.43:
	.asciz	"Unable to create file for output\n"
	.size	.L.str.43, 34

	.type	.L.str.44,@object               # @.str.44
.L.str.44:
	.asciz	"Creating the Anticipated Weights data file\n"
	.size	.L.str.44, 44

	.type	.L.str.45,@object               # @.str.45
.L.str.45:
	.asciz	"The programe will now modify the compensatory weights\n"
	.size	.L.str.45, 55

	.type	.L.str.46,@object               # @.str.46
.L.str.46:
	.asciz	"Please enter the gain:"
	.size	.L.str.46, 23

	.type	.L.str.47,@object               # @.str.47
.L.str.47:
	.asciz	"Please enter the number of training epochs:"
	.size	.L.str.47, 44

	.type	.L.str.48,@object               # @.str.48
.L.str.48:
	.asciz	"\n%f"
	.size	.L.str.48, 4

	.type	.L.str.49,@object               # @.str.49
.L.str.49:
	.asciz	"Unable to Open the APF information file\n"
	.size	.L.str.49, 41

	.type	.L.str.50,@object               # @.str.50
.L.str.50:
	.asciz	"Unable to Open the AWF information file\n"
	.size	.L.str.50, 41

	.type	_ZL8classval,@object            # @_ZL8classval
	.local	_ZL8classval
	.comm	_ZL8classval,2008,16
	.type	.L.str.53,@object               # @.str.53
.L.str.53:
	.asciz	"Error(%s:%d) %s\n"
	.size	.L.str.53, 17

	.type	.L.str.54,@object               # @.str.54
.L.str.54:
	.asciz	"/home/ubuntu/Datasets/stackv2/train-structured-repos-hip-sm89/ajayvibhute/sample_codes/main/CUDA_DBNN/CUDA_DBNN.hip"
	.size	.L.str.54, 116

	.type	.L.str.56,@object               # @.str.56
.L.str.56:
	.asciz	"rnd:%d\trslt:%f\tRslt2:%f\tOrslt2:%f\tpcnt:%d\n"
	.size	.L.str.56, 43

	.type	_ZL5nrslt,@object               # @_ZL5nrslt
	.local	_ZL5nrslt
	.comm	_ZL5nrslt,4,4
	.type	_ZL3rnn,@object                 # @_ZL3rnn
	.local	_ZL3rnn
	.comm	_ZL3rnn,4,4
	.type	.L.str.57,@object               # @.str.57
.L.str.57:
	.asciz	"Round:"
	.size	.L.str.57, 7

	.type	.L.str.58,@object               # @.str.58
.L.str.58:
	.asciz	"| TProb["
	.size	.L.str.58, 9

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

	.type	.L.str.60,@object               # @.str.60
.L.str.60:
	.asciz	"] | Passed count:"
	.size	.L.str.60, 18

	.type	.L.str.61,@object               # @.str.61
.L.str.61:
	.asciz	"Best result at round "
	.size	.L.str.61, 22

	.type	.L.str.62,@object               # @.str.62
.L.str.62:
	.asciz	"Creating the Anticipated Network outputs\n"
	.size	.L.str.62, 42

	.type	.L.str.63,@object               # @.str.63
.L.str.63:
	.asciz	"Unable to Open the APF information file"
	.size	.L.str.63, 40

	.type	.L.str.64,@object               # @.str.64
.L.str.64:
	.asciz	"output.dat"
	.size	.L.str.64, 11

	.type	.L.str.65,@object               # @.str.65
.L.str.65:
	.asciz	"Read all input parameters\n"
	.size	.L.str.65, 27

	.type	.L.str.66,@object               # @.str.66
.L.str.66:
	.asciz	"actual.dat"
	.size	.L.str.66, 11

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

	.type	.L.str.68,@object               # @.str.68
.L.str.68:
	.asciz	"Sample         Predicted     Actual            Prediction \n"
	.size	.L.str.68, 60

	.type	.L.str.69,@object               # @.str.69
.L.str.69:
	.asciz	" No.       Ist 2nd  3rd  4th  item             Confidence\n"
	.size	.L.str.69, 59

	.type	_ZL5c1cnt,@object               # @_ZL5c1cnt
	.local	_ZL5c1cnt
	.comm	_ZL5c1cnt,4,4
	.type	_ZL5c2cnt,@object               # @_ZL5c2cnt
	.local	_ZL5c2cnt
	.comm	_ZL5c2cnt,4,4
	.type	_ZL6invcnt,@object              # @_ZL6invcnt
	.local	_ZL6invcnt
	.comm	_ZL6invcnt,4,4
	.type	_ZL7totprob,@object             # @_ZL7totprob
	.local	_ZL7totprob
	.comm	_ZL7totprob,4,4
	.type	.L.str.70,@object               # @.str.70
.L.str.70:
	.asciz	"Caution!! Item did not have known types\n"
	.size	.L.str.70, 41

	.type	.L.str.71,@object               # @.str.71
.L.str.71:
	.asciz	"%d  %d %-5.2f %d %-5.2f %d %-5.2f %d %-5.2f"
	.size	.L.str.71, 44

	.type	.L.str.72,@object               # @.str.72
.L.str.72:
	.asciz	"%d  %f %-5.2f %f %-5.2f %f %-5.2f %f %-5.2f"
	.size	.L.str.72, 44

	.type	_ZL4nLoC,@object                # @_ZL4nLoC
	.local	_ZL4nLoC
	.comm	_ZL4nLoC,4,4
	.type	_ZL7nLoCcnt,@object             # @_ZL7nLoCcnt
	.data
	.p2align	2, 0x0
_ZL7nLoCcnt:
	.long	1                               # 0x1
	.size	_ZL7nLoCcnt, 4

	.type	.L.str.73,@object               # @.str.73
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.73:
	.asciz	" <-- Either of it"
	.size	.L.str.73, 18

	.type	.L.str.74,@object               # @.str.74
.L.str.74:
	.asciz	" <-- Rejected"
	.size	.L.str.74, 14

	.type	.L.str.75,@object               # @.str.75
.L.str.75:
	.asciz	" <-- confident"
	.size	.L.str.75, 15

	.type	.L.str.76,@object               # @.str.76
.L.str.76:
	.asciz	"%d  %d\n"
	.size	.L.str.76, 8

	.type	.L.str.77,@object               # @.str.77
.L.str.77:
	.asciz	"%-8d    %d   %d     %d  %d     %d   "
	.size	.L.str.77, 37

	.type	.L.str.78,@object               # @.str.78
.L.str.78:
	.asciz	"%d  %f\n"
	.size	.L.str.78, 8

	.type	.L.str.79,@object               # @.str.79
.L.str.79:
	.asciz	"%-8d    %f   %f     %f    %f     %f    "
	.size	.L.str.79, 40

	.type	.L.str.80,@object               # @.str.80
.L.str.80:
	.asciz	"%-5.2f %% <-Out of range %-5.2f %% \n"
	.size	.L.str.80, 37

	.type	.L.str.81,@object               # @.str.81
.L.str.81:
	.asciz	"%-5.2f %% <-F(1)P(2) %-5.2f %%  %-5.2f %% %-5.2f %% \n"
	.size	.L.str.81, 54

	.type	.L.str.82,@object               # @.str.82
.L.str.82:
	.asciz	"%-5.2f %%  <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n"
	.size	.L.str.82, 49

	.type	.L.str.83,@object               # @.str.83
.L.str.83:
	.asciz	"%-5.2f %% <-Failed %-5.2f %%  %-5.2f %%  %-5.2f %% \n"
	.size	.L.str.83, 53

	.type	.L.str.84,@object               # @.str.84
.L.str.84:
	.asciz	"%-5.2f %% <-FMC %-5.2f %%  %-5.2f %%  %-5.2f %% \n"
	.size	.L.str.84, 50

	.type	.L.str.85,@object               # @.str.85
.L.str.85:
	.asciz	"%-5.2f %% <-Failed %-5.2f %%  %-5.2f %% %-5.2f %% \n"
	.size	.L.str.85, 52

	.type	.L.str.86,@object               # @.str.86
.L.str.86:
	.asciz	"%-5.2f %% <-FMC %-5.2f %% %-5.2f %% %-5.2f %% \n"
	.size	.L.str.86, 48

	.type	.L.str.87,@object               # @.str.87
.L.str.87:
	.asciz	"%-5.2f %% <-P(1)F(2) %-5.2f %% %-5.2f %% %-5.2f %% \n"
	.size	.L.str.87, 53

	.type	.L.str.88,@object               # @.str.88
.L.str.88:
	.asciz	"%-5.2f %% <-PMC %-5.2f %% %-5.2f %% %-5.2f %% \n"
	.size	.L.str.88, 48

	.type	.L.str.89,@object               # @.str.89
.L.str.89:
	.asciz	"%-5.2f %% <-Passed %-5.2f %% %-5.2f %% %-5.2f %% \n"
	.size	.L.str.89, 51

	.type	.L.str.90,@object               # @.str.90
.L.str.90:
	.asciz	"%d %e \n"
	.size	.L.str.90, 8

	.type	.L.str.91,@object               # @.str.91
.L.str.91:
	.asciz	"The suggested LoC is "
	.size	.L.str.91, 22

	.type	.L.str.92,@object               # @.str.92
.L.str.92:
	.asciz	"*________________________________________________________________________\n"
	.size	.L.str.92, 75

	.type	.L.str.93,@object               # @.str.93
.L.str.93:
	.asciz	"*Total    Success in   Success in   Non classified   Real success in    \n"
	.size	.L.str.93, 74

	.type	.L.str.94,@object               # @.str.94
.L.str.94:
	.asciz	"* No.    Ist Choice  2nd Choice     items           two chances    \n"
	.size	.L.str.94, 69

	.type	.L.str.95,@object               # @.str.95
.L.str.95:
	.asciz	"* %d       %d          %d           %d             %-5.2f %% \n"
	.size	.L.str.95, 63

	.type	.L.str.96,@object               # @.str.96
.L.str.96:
	.asciz	"* No.    Ist Choice  2nd Choice     items           First chance    \n"
	.size	.L.str.96, 70

	.type	.L.str.97,@object               # @.str.97
.L.str.97:
	.asciz	"Done.\n"
	.size	.L.str.97, 7

	.type	.L__unnamed_1,@object           # @0
.L__unnamed_1:
	.asciz	"_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_"
	.size	.L__unnamed_1, 49

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

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

	.type	.Lstr,@object                   # @str
	.section	.rodata.str1.1,"aMS",@progbits,1
.Lstr:
	.asciz	"Error in cuda memory allocation"
	.size	.Lstr, 32

	.type	.Lstr.1,@object                 # @str.1
.Lstr.1:
	.asciz	"breaking"
	.size	.Lstr.1, 9

	.type	.Lstr.2,@object                 # @str.2
.Lstr.2:
	.asciz	"*________________________________________________________________________"
	.size	.Lstr.2, 74

	.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 _Z22__device_stub__kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.addrsig_sym __hip_module_ctor
	.addrsig_sym __hip_module_dtor
	.addrsig_sym _Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.addrsig_sym fln
	.addrsig_sym fltmp
	.addrsig_sym urchoice
	.addrsig_sym urchoicex
	.addrsig_sym bcchoice
	.addrsig_sym savedpar
	.addrsig_sym _ZSt4cout
	.addrsig_sym _ZL4ans1
	.addrsig_sym _ZL6skpchk
	.addrsig_sym _ZL4gain
	.addrsig_sym _ZL8oneround
	.addrsig_sym _ZSt3cin
	.addrsig_sym _ZL5bgain
	.addrsig_sym _ZL7innodes
	.addrsig_sym _ZL8outnodes
	.addrsig_sym _ZL8dmyclass
	.addrsig_sym _ZL3LoC
	.addrsig_sym _ZL6nresol
	.addrsig_sym _ZL6nerror
	.addrsig_sym _ZL4omax
	.addrsig_sym _ZL4omin
	.addrsig_sym __hip_fatbin
	.addrsig_sym __hip_fatbin_wrapper
	.addrsig_sym __hip_cuid_

	.text
	.amdgcn_target "amdgcn-amd-amdhsa--gfx1100"
	.protected	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_ ; -- Begin function _Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.globl	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
	.p2align	8
	.type	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_,@function
_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_: ; @_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
; %bb.0:
	s_clause 0x1
	s_load_b32 s2, s[0:1], 0xa4
	s_load_b32 s3, s[0:1], 0x0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[2:3], null, s15, s2, v[0:1]
	s_mov_b32 s2, exec_lo
	v_cmpx_gt_i32_e64 s3, v2
	s_cbranch_execz .LBB0_73
; %bb.1:
	s_load_b512 s[4:19], s[0:1], 0x8
	v_ashrrev_i32_e32 v3, 31, v2
	s_load_b128 s[20:23], s[0:1], 0x6c
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[0:1], 2, v[2:3]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v3, vcc_lo, s4, v0
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v4, vcc_lo, s5, v1, vcc_lo
	s_cmp_gt_i32 s20, 0
	s_cselect_b32 s24, -1, 0
	global_load_b32 v10, v[3:4], off
	s_cmp_lt_i32 s20, 1
	s_cbranch_scc1 .LBB0_8
; %bb.2:                                ; %.lr.ph
	v_mad_u64_u32 v[3:4], null, v2, s20, 1
	s_add_u32 s2, s8, 4
	s_addc_u32 s3, s9, 0
	s_add_u32 s4, s6, 4
	v_mov_b32_e32 v8, 0
	s_addc_u32 s5, s7, 0
	s_add_u32 s6, s10, 4
	s_addc_u32 s7, s11, 0
	s_mov_b32 s8, s20
.LBB0_3:                                ; =>This Inner Loop Header: Depth=1
	v_ashrrev_i32_e32 v4, 31, v3
	s_mov_b32 s9, exec_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[6:7], 2, v[3:4]
	v_add_co_u32 v4, vcc_lo, s12, v6
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v5, vcc_lo, s13, v7, vcc_lo
	global_load_b32 v9, v[4:5], off
	s_waitcnt vmcnt(0)
	v_cmpx_neq_f32_e32 0xc61c3c00, v9
	s_cbranch_execz .LBB0_7
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	global_load_b32 v11, v8, s[2:3]
	s_waitcnt vmcnt(0)
	v_cmp_eq_f32_e32 vcc_lo, 0xc61c3c00, v11
	s_cbranch_vccnz .LBB0_7
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	global_load_b32 v12, v8, s[4:5]
	s_load_b32 s25, s[6:7], 0x0
	s_waitcnt vmcnt(0)
	v_sub_f32_e32 v9, v9, v12
	v_sub_f32_e32 v11, v11, v12
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_div_scale_f32 v12, null, v11, v11, v9
	v_div_scale_f32 v15, vcc_lo, v9, v11, v9
	v_rcp_f32_e32 v13, v12
	s_waitcnt_depctr 0xfff
	v_fma_f32 v14, -v12, v13, 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v13, v14, v13
	v_mul_f32_e32 v14, v15, v13
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v16, -v12, v14, v15
	v_fmac_f32_e32 v14, v16, v13
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v12, -v12, v14, v15
	v_div_fmas_f32 v12, v12, v13, v14
	s_waitcnt lgkmcnt(0)
	v_cvt_f32_i32_e32 v13, s25
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fixup_f32 v9, v12, v11, v9
	v_mul_f32_e32 v9, v9, v13
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_trunc_f32_e32 v11, v9
	v_sub_f32_e32 v12, v9, v11
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_cmp_ge_f32_e64 s25, |v12|, 0.5
	v_cndmask_b32_e64 v12, 0, 1.0, s25
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_bfi_b32 v9, 0x7fffffff, v12, v9
	v_add_f32_e32 v9, v11, v9
	v_add_co_u32 v11, vcc_lo, s14, v6
	v_add_co_ci_u32_e32 v12, vcc_lo, s15, v7, vcc_lo
	global_store_b32 v[4:5], v9, off
	s_clause 0x1
	global_load_b32 v9, v8, s[2:3]
	global_load_b32 v14, v8, s[4:5]
	global_load_b32 v15, v[11:12], off
	s_waitcnt vmcnt(1)
	v_sub_f32_e32 v9, v9, v14
	s_waitcnt vmcnt(0)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_div_scale_f32 v14, null, v9, v9, v15
	v_div_scale_f32 v18, vcc_lo, v15, v9, v15
	v_rcp_f32_e32 v16, v14
	s_waitcnt_depctr 0xfff
	v_fma_f32 v17, -v14, v16, 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v16, v17, v16
	v_mul_f32_e32 v17, v18, v16
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v19, -v14, v17, v18
	v_fmac_f32_e32 v17, v19, v16
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v14, -v14, v17, v18
	v_div_fmas_f32 v14, v14, v16, v17
	v_add_co_u32 v6, vcc_lo, s16, v6
	v_add_co_ci_u32_e32 v7, vcc_lo, s17, v7, vcc_lo
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fixup_f32 v9, v14, v9, v15
	v_mul_f32_e32 v9, v9, v13
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_trunc_f32_e32 v14, v9
	v_sub_f32_e32 v15, v9, v14
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_cmp_ge_f32_e64 s25, |v15|, 0.5
	v_cndmask_b32_e64 v15, 0, 1.0, s25
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_bfi_b32 v9, 0x7fffffff, v15, v9
	v_add_f32_e32 v9, v14, v9
	global_store_b32 v[11:12], v9, off
	s_clause 0x1
	global_load_b32 v9, v8, s[2:3]
	global_load_b32 v11, v8, s[4:5]
	global_load_b32 v12, v[6:7], off
	s_waitcnt vmcnt(1)
	v_sub_f32_e32 v9, v9, v11
	s_waitcnt vmcnt(0)
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_div_scale_f32 v11, null, v9, v9, v12
	v_div_scale_f32 v16, vcc_lo, v12, v9, v12
	v_rcp_f32_e32 v14, v11
	s_waitcnt_depctr 0xfff
	v_fma_f32 v15, -v11, v14, 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v14, v15, v14
	v_mul_f32_e32 v15, v16, v14
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v17, -v11, v15, v16
	v_fmac_f32_e32 v15, v17, v14
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v11, -v11, v15, v16
	v_div_fmas_f32 v11, v11, v14, v15
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fixup_f32 v9, v11, v9, v12
	v_mul_f32_e32 v9, v9, v13
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_trunc_f32_e32 v11, v9
	v_sub_f32_e32 v12, v9, v11
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_cmp_ge_f32_e64 s25, |v12|, 0.5
	v_cndmask_b32_e64 v12, 0, 1.0, s25
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_bfi_b32 v9, 0x7fffffff, v12, v9
	v_add_f32_e32 v9, v11, v9
	global_store_b32 v[6:7], v9, off
	global_load_b32 v6, v[4:5], off
	s_waitcnt vmcnt(0)
	v_cmp_gt_f32_e32 vcc_lo, 0, v6
	s_and_b32 exec_lo, exec_lo, vcc_lo
	s_cbranch_execz .LBB0_7
; %bb.6:                                ;   in Loop: Header=BB0_3 Depth=1
	global_store_b32 v[4:5], v8, off
.LBB0_7:                                ;   in Loop: Header=BB0_3 Depth=1
	s_or_b32 exec_lo, exec_lo, s9
	s_add_i32 s8, s8, -1
	s_add_u32 s2, s2, 4
	s_addc_u32 s3, s3, 0
	s_add_u32 s4, s4, 4
	v_add_nc_u32_e32 v3, 1, v3
	s_addc_u32 s5, s5, 0
	s_add_u32 s6, s6, 4
	s_addc_u32 s7, s7, 0
	s_cmp_eq_u32 s8, 0
	s_cbranch_scc0 .LBB0_3
.LBB0_8:                                ; %.preheader400
	v_or_b32_e64 v12, 16, 4
	s_cmp_gt_i32 s22, 0
	s_cselect_b32 s34, -1, 0
	s_cmp_lt_i32 s22, 1
	s_cbranch_scc1 .LBB0_11
; %bb.9:                                ; %.lr.ph405.preheader
	v_or_b32_e64 v3, 16, 4
	v_mov_b32_e32 v4, 1.0
	s_mov_b32 s2, s22
.LBB0_10:                               ; %.lr.ph405
                                        ; =>This Inner Loop Header: Depth=1
	scratch_store_b32 v3, v4, off
	v_add_nc_u32_e32 v3, 4, v3
	s_add_i32 s2, s2, -1
	s_delay_alu instid0(SALU_CYCLE_1)
	s_cmp_eq_u32 s2, 0
	s_cbranch_scc0 .LBB0_10
.LBB0_11:                               ; %.preheader399
	s_clause 0x1
	s_load_b128 s[4:7], s[0:1], 0x50
	s_load_b64 s[2:3], s[0:1], 0x60
	v_cndmask_b32_e64 v11, 0, 1, s34
	s_mov_b32 s8, 1
	s_and_not1_b32 vcc_lo, exec_lo, s24
	s_add_i32 s33, s22, 1
	s_cbranch_vccnz .LBB0_56
; %bb.12:                               ; %.lr.ph439
	v_cvt_f64_i32_e32 v[3:4], s22
	s_load_b32 s35, s[0:1], 0x48
	s_add_i32 s21, s21, 1
	s_add_i32 s36, s20, 1
	s_cmp_eq_u32 s23, 2
	s_mul_i32 s9, s22, s20
	s_cselect_b32 s37, -1, 0
	s_cmp_eq_u32 s23, 1
	v_or_b32_e64 v17, 16, 4
	s_cselect_b32 s23, -1, 0
	s_add_u32 s38, s18, 4
	s_addc_u32 s39, s19, 0
	s_mov_b32 s19, 0
	v_mov_b32_e32 v18, 0
	s_waitcnt lgkmcnt(0)
	s_mov_b32 s24, s35
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_scale_f64 v[5:6], null, v[3:4], v[3:4], 1.0
	v_rcp_f64_e32 v[7:8], v[5:6]
	s_waitcnt_depctr 0xfff
	v_fma_f64 v[13:14], -v[5:6], v[7:8], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f64 v[7:8], v[7:8], v[13:14], v[7:8]
	v_fma_f64 v[13:14], -v[5:6], v[7:8], 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_fma_f64 v[7:8], v[7:8], v[13:14], v[7:8]
	v_div_scale_f64 v[13:14], vcc_lo, 1.0, v[3:4], 1.0
	v_mul_f64 v[15:16], v[13:14], v[7:8]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[5:6], -v[5:6], v[15:16], v[13:14]
	v_mul_lo_u32 v14, v2, s20
	v_div_fmas_f64 v[5:6], v[5:6], v[7:8], v[15:16]
	v_cvt_f32_i32_e32 v16, s9
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_div_fixup_f64 v[3:4], v[5:6], v[3:4], 1.0
	v_cvt_f32_i32_e32 v5, s22
	v_div_scale_f32 v6, null, v5, v5, 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_rcp_f32_e32 v7, v6
	s_waitcnt_depctr 0xfff
	v_fma_f32 v8, -v6, v7, 1.0
	v_fmac_f32_e32 v7, v8, v7
	v_div_scale_f32 v8, vcc_lo, 1.0, v5, 1.0
	v_cvt_f32_f64_e32 v13, v[3:4]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f32_e32 v3, v8, v7
	v_fma_f32 v4, -v6, v3, v8
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v3, v4, v7
	v_fma_f32 v4, -v6, v3, v8
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fmas_f32 v3, v4, v7, v3
	v_div_fixup_f32 v15, v3, v5, 1.0
.LBB0_13:                               ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_15 Depth 2
                                        ;     Child Loop BB0_19 Depth 2
                                        ;       Child Loop BB0_22 Depth 3
                                        ;       Child Loop BB0_27 Depth 3
                                        ;         Child Loop BB0_32 Depth 4
                                        ;         Child Loop BB0_40 Depth 4
                                        ;       Child Loop BB0_49 Depth 3
                                        ;       Child Loop BB0_52 Depth 3
	v_add_nc_u32_e32 v2, s8, v14
	s_mov_b32 s40, exec_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ashrrev_i32_e32 v3, 31, v2
	v_lshlrev_b64 v[2:3], 2, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v2, vcc_lo, s12, v2
	v_add_co_ci_u32_e32 v3, vcc_lo, s13, v3, vcc_lo
	global_load_b32 v3, v[2:3], off
	s_waitcnt vmcnt(0)
	v_cmpx_neq_f32_e32 0xc61c3c00, v3
	s_cbranch_execz .LBB0_55
; %bb.14:                               ; %.preheader398
                                        ;   in Loop: Header=BB0_13 Depth=1
	s_ashr_i32 s25, s24, 31
	s_mov_b32 s9, s19
	s_lshl_b64 s[26:27], s[24:25], 2
	s_mov_b32 s25, 0
	s_add_u32 s26, s38, s26
	s_addc_u32 s27, s39, s27
	s_lshl_b64 s[28:29], s[8:9], 2
	s_mov_b32 s9, 0
	s_add_u32 s28, s10, s28
	s_addc_u32 s29, s11, s29
                                        ; implicit-def: $sgpr18
.LBB0_15:                               ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	global_load_b32 v2, v18, s[26:27]
	s_or_b32 s18, s18, exec_lo
	s_mov_b32 s31, exec_lo
                                        ; implicit-def: $sgpr30
	s_waitcnt vmcnt(0)
	v_sub_f32_e32 v4, v3, v2
	s_delay_alu instid0(VALU_DEP_1)
	v_cmpx_ge_f32_e64 |v4|, 1.0
	s_cbranch_execz .LBB0_17
; %bb.16:                               ;   in Loop: Header=BB0_15 Depth=2
	s_load_b32 s41, s[28:29], 0x0
	s_add_i32 s30, s25, 1
	s_add_u32 s26, s26, 4
	s_addc_u32 s27, s27, 0
	s_waitcnt lgkmcnt(0)
	s_cmp_gt_i32 s25, s41
	s_cselect_b32 s41, -1, 0
	s_and_not1_b32 s18, s18, exec_lo
	s_and_b32 s41, s41, exec_lo
	s_delay_alu instid0(SALU_CYCLE_1)
	s_or_b32 s18, s18, s41
.LBB0_17:                               ; %Flow599
                                        ;   in Loop: Header=BB0_15 Depth=2
	s_or_b32 exec_lo, exec_lo, s31
	v_mov_b32_e32 v2, s25
	s_and_b32 s31, exec_lo, s18
	s_mov_b32 s25, s30
	s_or_b32 s9, s31, s9
	s_delay_alu instid0(SALU_CYCLE_1)
	s_and_not1_b32 exec_lo, exec_lo, s9
	s_cbranch_execnz .LBB0_15
; %bb.18:                               ; %.critedge
                                        ;   in Loop: Header=BB0_13 Depth=1
	s_or_b32 exec_lo, exec_lo, s9
	v_mad_u64_u32 v[5:6], null, s8, s21, v[2:3]
	v_cmp_nlt_f32_e64 s9, |v4|, 1.0
	v_cmp_lt_f32_e64 s25, |v4|, 1.0
	s_mov_b32 s18, 1
	s_mov_b32 s26, s35
	s_delay_alu instid0(VALU_DEP_3)
	v_mul_lo_u32 v19, v5, s36
.LBB0_19:                               ;   Parent Loop BB0_13 Depth=1
                                        ; =>  This Loop Header: Depth=2
                                        ;       Child Loop BB0_22 Depth 3
                                        ;       Child Loop BB0_27 Depth 3
                                        ;         Child Loop BB0_32 Depth 4
                                        ;         Child Loop BB0_40 Depth 4
                                        ;       Child Loop BB0_49 Depth 3
                                        ;       Child Loop BB0_52 Depth 3
	s_cmp_eq_u32 s8, s18
	s_cbranch_scc1 .LBB0_54
; %bb.20:                               ;   in Loop: Header=BB0_19 Depth=2
	v_add_nc_u32_e32 v2, s18, v14
	s_mov_b32 s41, exec_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ashrrev_i32_e32 v3, 31, v2
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v2, vcc_lo, s12, v4
	v_add_co_ci_u32_e32 v3, vcc_lo, s13, v5, vcc_lo
	global_load_b32 v2, v[2:3], off
	s_waitcnt vmcnt(0)
	v_cmpx_neq_f32_e32 0xc61c3c00, v2
	s_cbranch_execz .LBB0_53
; %bb.21:                               ;   in Loop: Header=BB0_19 Depth=2
	s_ashr_i32 s27, s26, 31
	s_mov_b32 s43, 0
	s_lshl_b64 s[28:29], s[26:27], 2
	s_mov_b32 s27, 0
	s_add_u32 s30, s38, s28
	s_addc_u32 s31, s39, s29
	s_lshl_b64 s[28:29], s[18:19], 2
                                        ; implicit-def: $sgpr42
	s_delay_alu instid0(SALU_CYCLE_1)
	s_add_u32 s28, s10, s28
	s_addc_u32 s29, s11, s29
.LBB0_22:                               ;   Parent Loop BB0_13 Depth=1
                                        ;     Parent Loop BB0_19 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	global_load_b32 v3, v18, s[30:31]
	s_or_b32 s42, s42, exec_lo
	s_mov_b32 s45, exec_lo
                                        ; implicit-def: $sgpr44
	s_waitcnt vmcnt(0)
	v_sub_f32_e32 v3, v2, v3
	s_delay_alu instid0(VALU_DEP_1)
	v_cmpx_ge_f32_e64 |v3|, 1.0
	s_cbranch_execz .LBB0_24
; %bb.23:                               ;   in Loop: Header=BB0_22 Depth=3
	s_load_b32 s46, s[28:29], 0x0
	s_add_i32 s44, s43, 1
	s_add_u32 s30, s30, 4
	s_addc_u32 s31, s31, 0
	s_waitcnt lgkmcnt(0)
	s_cmp_gt_i32 s43, s46
	s_cselect_b32 s46, -1, 0
	s_and_not1_b32 s42, s42, exec_lo
	s_and_b32 s46, s46, exec_lo
	s_delay_alu instid0(SALU_CYCLE_1)
	s_or_b32 s42, s42, s46
.LBB0_24:                               ; %Flow595
                                        ;   in Loop: Header=BB0_22 Depth=3
	s_or_b32 exec_lo, exec_lo, s45
	v_mov_b32_e32 v20, s43
	s_and_b32 s45, exec_lo, s42
	s_mov_b32 s43, s44
	s_or_b32 s27, s45, s27
	s_delay_alu instid0(SALU_CYCLE_1)
	s_and_not1_b32 exec_lo, exec_lo, s27
	s_cbranch_execnz .LBB0_22
; %bb.25:                               ; %.critedge2
                                        ;   in Loop: Header=BB0_19 Depth=2
	s_or_b32 exec_lo, exec_lo, s27
	v_mov_b32_e32 v2, 0
	s_and_not1_b32 vcc_lo, exec_lo, s34
	s_cbranch_vccnz .LBB0_50
; %bb.26:                               ; %.lr.ph422
                                        ;   in Loop: Header=BB0_19 Depth=2
	v_add_nc_u32_e32 v2, s18, v19
	s_mov_b32 s30, 1
	s_delay_alu instid0(VALU_DEP_1)
	v_mul_lo_u32 v21, v2, s21
	v_add_co_u32 v2, vcc_lo, s14, v4
	v_add_co_ci_u32_e32 v3, vcc_lo, s15, v5, vcc_lo
	v_add_co_u32 v4, vcc_lo, s16, v4
	v_add_co_ci_u32_e32 v5, vcc_lo, s17, v5, vcc_lo
	v_mul_lo_u32 v22, v21, s33
.LBB0_27:                               ;   Parent Loop BB0_13 Depth=1
                                        ;     Parent Loop BB0_19 Depth=2
                                        ; =>    This Loop Header: Depth=3
                                        ;         Child Loop BB0_32 Depth 4
                                        ;         Child Loop BB0_40 Depth 4
	v_mov_b32_e32 v8, v13
	s_and_saveexec_b32 s27, s25
	s_cbranch_execz .LBB0_29
; %bb.28:                               ;   in Loop: Header=BB0_27 Depth=3
	v_add_nc_u32_e32 v8, v20, v21
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[6:7], null, v8, s33, s[30:31]
	v_ashrrev_i32_e32 v7, 31, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[6:7], 2, v[6:7]
	v_add_co_u32 v6, vcc_lo, s4, v6
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v7, vcc_lo
	global_load_b32 v6, v[6:7], off
	s_waitcnt vmcnt(0)
	v_cvt_f32_i32_e32 v8, v6
.LBB0_29:                               ;   in Loop: Header=BB0_27 Depth=3
	s_or_b32 exec_lo, exec_lo, s27
	s_delay_alu instid0(SALU_CYCLE_1)
	s_and_not1_b32 vcc_lo, exec_lo, s37
	s_cbranch_vccnz .LBB0_37
; %bb.30:                               ;   in Loop: Header=BB0_27 Depth=3
	global_load_b32 v6, v[2:3], off
	global_load_b32 v7, v[4:5], off
	s_mov_b32 s27, exec_lo
	s_waitcnt vmcnt(1)
	v_cvt_i32_f32_e32 v9, v6
	s_waitcnt vmcnt(0)
	v_cvt_i32_f32_e32 v6, v7
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_sub_nc_u32_e32 v7, v20, v9
	v_add_nc_u32_e32 v9, v20, v6
	s_delay_alu instid0(VALU_DEP_1)
	v_cmpx_le_i32_e64 v7, v9
	s_cbranch_execz .LBB0_36
; %bb.31:                               ; %.lr.ph409
                                        ;   in Loop: Header=BB0_27 Depth=3
	s_load_b32 s42, s[28:29], 0x0
	s_mov_b32 s31, 0
                                        ; implicit-def: $sgpr43
.LBB0_32:                               ;   Parent Loop BB0_13 Depth=1
                                        ;     Parent Loop BB0_19 Depth=2
                                        ;       Parent Loop BB0_27 Depth=3
                                        ; =>      This Inner Loop Header: Depth=4
	v_max_i32_e32 v9, 0, v7
	s_or_b32 s43, s43, exec_lo
	s_mov_b32 s44, exec_lo
                                        ; implicit-def: $vgpr7
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_1)
	v_cmpx_ge_i32_e64 s42, v9
	s_cbranch_execz .LBB0_34
; %bb.33:                               ;   in Loop: Header=BB0_32 Depth=4
	v_add_nc_u32_e32 v7, v9, v21
	s_and_not1_b32 s43, s43, exec_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[23:24], null, v7, s33, s[30:31]
	v_ashrrev_i32_e32 v24, 31, v23
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[23:24], 2, v[23:24]
	v_add_co_u32 v23, vcc_lo, s4, v23
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_3) | instid1(VALU_DEP_1)
	v_add_co_ci_u32_e32 v24, vcc_lo, s5, v24, vcc_lo
	global_load_b32 v7, v[23:24], off
	s_waitcnt vmcnt(0)
	v_cvt_f32_i32_e32 v7, v7
	v_cmp_lt_f32_e32 vcc_lo, v8, v7
	v_cndmask_b32_e32 v20, v20, v9, vcc_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_nc_u32_e32 v7, v20, v6
	v_cmp_ge_i32_e32 vcc_lo, v9, v7
	v_add_nc_u32_e32 v7, 1, v9
	s_and_b32 s45, vcc_lo, exec_lo
	s_delay_alu instid0(SALU_CYCLE_1)
	s_or_b32 s43, s43, s45
.LBB0_34:                               ; %Flow590
                                        ;   in Loop: Header=BB0_32 Depth=4
	s_or_b32 exec_lo, exec_lo, s44
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
	s_and_b32 s44, exec_lo, s43
	s_or_b32 s31, s44, s31
	s_delay_alu instid0(SALU_CYCLE_1)
	s_and_not1_b32 exec_lo, exec_lo, s31
	s_cbranch_execnz .LBB0_32
; %bb.35:                               ; %Flow591
                                        ;   in Loop: Header=BB0_27 Depth=3
	s_or_b32 exec_lo, exec_lo, s31
.LBB0_36:                               ; %Flow592
                                        ;   in Loop: Header=BB0_27 Depth=3
	s_delay_alu instid0(SALU_CYCLE_1)
	s_or_b32 exec_lo, exec_lo, s27
.LBB0_37:                               ; %.loopexit394
                                        ;   in Loop: Header=BB0_27 Depth=3
	s_delay_alu instid0(SALU_CYCLE_1)
	s_and_not1_b32 vcc_lo, exec_lo, s23
	s_cbranch_vccnz .LBB0_45
; %bb.38:                               ;   in Loop: Header=BB0_27 Depth=3
	global_load_b32 v6, v[2:3], off
	s_mov_b32 s27, exec_lo
	s_waitcnt vmcnt(0)
	v_cvt_i32_f32_e32 v9, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_sub_nc_u32_e32 v23, v20, v9
	v_add_nc_u32_e32 v6, v20, v9
	v_cmpx_le_i32_e64 v23, v6
	s_cbranch_execz .LBB0_44
; %bb.39:                               ; %.lr.ph415
                                        ;   in Loop: Header=BB0_27 Depth=3
	v_add_nc_u32_e32 v6, s30, v22
	s_load_b32 s31, s[28:29], 0x0
	s_mov_b32 s42, 0
                                        ; implicit-def: $sgpr43
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ashrrev_i32_e32 v7, 31, v6
	v_lshlrev_b64 v[6:7], 2, v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v6, vcc_lo, s4, v6
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v7, vcc_lo
.LBB0_40:                               ;   Parent Loop BB0_13 Depth=1
                                        ;     Parent Loop BB0_19 Depth=2
                                        ;       Parent Loop BB0_27 Depth=3
                                        ; =>      This Inner Loop Header: Depth=4
	v_max_i32_e32 v24, 0, v23
	s_or_b32 s43, s43, exec_lo
	s_mov_b32 s44, exec_lo
                                        ; implicit-def: $vgpr23
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_1)
	v_cmpx_ge_i32_e64 s31, v24
	s_cbranch_execz .LBB0_42
; %bb.41:                               ;   in Loop: Header=BB0_40 Depth=4
	global_load_b32 v23, v[6:7], off
	s_and_not1_b32 s43, s43, exec_lo
	s_waitcnt vmcnt(0)
	v_cvt_f32_i32_e32 v23, v23
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_cmp_lt_f32_e32 vcc_lo, v8, v23
	v_cndmask_b32_e32 v20, v20, v24, vcc_lo
	v_add_nc_u32_e32 v23, v20, v9
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
	v_cmp_ge_i32_e32 vcc_lo, v24, v23
	v_add_nc_u32_e32 v23, 1, v24
	s_and_b32 s45, vcc_lo, exec_lo
	s_or_b32 s43, s43, s45
.LBB0_42:                               ; %Flow587
                                        ;   in Loop: Header=BB0_40 Depth=4
	s_or_b32 exec_lo, exec_lo, s44
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
	s_and_b32 s44, exec_lo, s43
	s_or_b32 s42, s44, s42
	s_delay_alu instid0(SALU_CYCLE_1)
	s_and_not1_b32 exec_lo, exec_lo, s42
	s_cbranch_execnz .LBB0_40
; %bb.43:                               ; %Flow588
                                        ;   in Loop: Header=BB0_27 Depth=3
	s_or_b32 exec_lo, exec_lo, s42
.LBB0_44:                               ; %Flow589
                                        ;   in Loop: Header=BB0_27 Depth=3
	s_delay_alu instid0(SALU_CYCLE_1)
	s_or_b32 exec_lo, exec_lo, s27
.LBB0_45:                               ; %.loopexit
                                        ;   in Loop: Header=BB0_27 Depth=3
	v_add_nc_u32_e32 v6, v20, v21
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_lo_u32 v8, v6, s33
	v_ashrrev_i32_e32 v9, 31, v8
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[6:7], 2, v[8:9]
	v_add_co_u32 v6, vcc_lo, s4, v6
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v7, vcc_lo
	global_load_b32 v9, v[6:7], off
	s_waitcnt vmcnt(0)
	v_cmp_gt_i32_e32 vcc_lo, 1, v9
	v_cndmask_b32_e32 v23, v13, v15, vcc_lo
	s_or_b32 s27, vcc_lo, s9
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
	s_xor_b32 s31, s27, -1
	s_and_saveexec_b32 s27, s31
	s_cbranch_execz .LBB0_47
; %bb.46:                               ;   in Loop: Header=BB0_27 Depth=3
	v_add_nc_u32_e32 v23, s30, v8
	s_ashr_i32 s31, s30, 31
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
	s_lshl_b64 s[42:43], s[30:31], 2
	v_add_co_u32 v6, vcc_lo, v6, s42
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_ashrrev_i32_e32 v24, 31, v23
	v_add_co_ci_u32_e32 v7, vcc_lo, s43, v7, vcc_lo
	v_lshlrev_b64 v[23:24], 2, v[23:24]
	global_load_b32 v8, v[6:7], off
	v_add_co_u32 v6, vcc_lo, s6, v23
	v_add_co_ci_u32_e32 v7, vcc_lo, s7, v24, vcc_lo
	global_load_b32 v6, v[6:7], off
	s_waitcnt vmcnt(1)
	v_cvt_f32_i32_e32 v7, v8
	v_cvt_f32_i32_e32 v8, v9
	s_waitcnt vmcnt(0)
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f32_e32 v6, v6, v7
	v_div_scale_f32 v7, null, v8, v8, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_rcp_f32_e32 v9, v7
	s_waitcnt_depctr 0xfff
	v_fma_f32 v23, -v7, v9, 1.0
	v_fmac_f32_e32 v9, v23, v9
	v_div_scale_f32 v23, vcc_lo, v6, v8, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f32_e32 v24, v23, v9
	v_fma_f32 v25, -v7, v24, v23
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v24, v25, v9
	v_fma_f32 v7, -v7, v24, v23
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fmas_f32 v7, v7, v9, v24
	v_div_fixup_f32 v23, v7, v8, v6
.LBB0_47:                               ;   in Loop: Header=BB0_27 Depth=3
	s_or_b32 exec_lo, exec_lo, s27
	s_lshl_b32 s27, s30, 2
	s_add_i32 s31, s30, 1
	s_add_i32 s27, s27, 16
	s_cmp_eq_u32 s30, s22
	scratch_load_b32 v6, off, s27
	s_mov_b32 s30, s31
	s_waitcnt vmcnt(0)
	v_mul_f32_e32 v6, v23, v6
	scratch_store_b32 off, v6, s27
	s_cbranch_scc0 .LBB0_27
; %bb.48:                               ; %.preheader396
                                        ;   in Loop: Header=BB0_19 Depth=2
	v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v3, v17
	s_mov_b32 s27, s22
.LBB0_49:                               ; %.lr.ph426
                                        ;   Parent Loop BB0_13 Depth=1
                                        ;     Parent Loop BB0_19 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	scratch_load_b32 v4, v3, off
	v_add_nc_u32_e32 v3, 4, v3
	s_add_i32 s27, s27, -1
	s_delay_alu instid0(SALU_CYCLE_1)
	s_cmp_lg_u32 s27, 0
	s_waitcnt vmcnt(0)
	v_add_f32_e32 v2, v2, v4
	s_cbranch_scc1 .LBB0_49
.LBB0_50:                               ; %._crit_edge
                                        ;   in Loop: Header=BB0_19 Depth=2
	s_and_not1_b32 vcc_lo, exec_lo, s34
	s_cbranch_vccnz .LBB0_53
; %bb.51:                               ; %.lr.ph431.preheader
                                        ;   in Loop: Header=BB0_19 Depth=2
	s_delay_alu instid0(VALU_DEP_1)
	v_cmp_eq_f32_e32 vcc_lo, 0, v2
	s_mov_b32 s27, s22
	v_dual_mov_b32 v3, v17 :: v_dual_cndmask_b32 v2, v2, v16
.LBB0_52:                               ; %.lr.ph431
                                        ;   Parent Loop BB0_13 Depth=1
                                        ;     Parent Loop BB0_19 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	scratch_load_b32 v4, v3, off
	s_add_i32 s27, s27, -1
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_3) | instid1(VALU_DEP_2)
	s_cmp_lg_u32 s27, 0
	s_waitcnt vmcnt(0)
	v_div_scale_f32 v5, null, v2, v2, v4
	v_div_scale_f32 v8, vcc_lo, v4, v2, v4
	v_rcp_f32_e32 v6, v5
	s_waitcnt_depctr 0xfff
	v_fma_f32 v7, -v5, v6, 1.0
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v6, v7, v6
	v_mul_f32_e32 v7, v8, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v9, -v5, v7, v8
	v_fmac_f32_e32 v7, v9, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v5, -v5, v7, v8
	v_div_fmas_f32 v5, v5, v6, v7
	s_delay_alu instid0(VALU_DEP_1)
	v_div_fixup_f32 v4, v5, v2, v4
	scratch_store_b32 v3, v4, off
	v_add_nc_u32_e32 v3, 4, v3
	s_cbranch_scc1 .LBB0_52
.LBB0_53:                               ; %Flow596
                                        ;   in Loop: Header=BB0_19 Depth=2
	s_or_b32 exec_lo, exec_lo, s41
.LBB0_54:                               ; %.loopexit395
                                        ;   in Loop: Header=BB0_19 Depth=2
	s_add_i32 s27, s18, 1
	s_add_i32 s26, s26, s35
	s_cmp_lg_u32 s18, s20
	s_mov_b32 s18, s27
	s_cbranch_scc1 .LBB0_19
.LBB0_55:                               ; %Flow600
                                        ;   in Loop: Header=BB0_13 Depth=1
	s_or_b32 exec_lo, exec_lo, s40
	s_add_i32 s9, s8, 1
	s_add_i32 s24, s24, s35
	s_cmp_eq_u32 s8, s20
	s_mov_b32 s8, s9
	s_cbranch_scc0 .LBB0_13
.LBB0_56:                               ; %.preheader393
	s_and_not1_b32 vcc_lo, exec_lo, s34
	s_cbranch_vccnz .LBB0_60
; %bb.57:                               ; %.lr.ph444.preheader
	v_mov_b32_e32 v4, 0
	v_mov_b32_e32 v2, 1
	s_waitcnt lgkmcnt(0)
	s_mov_b32 s4, 0
.LBB0_58:                               ; %.lr.ph444
                                        ; =>This Inner Loop Header: Depth=1
	scratch_load_b32 v3, v12, off
	s_add_i32 s4, s4, 1
	v_add_nc_u32_e32 v12, 4, v12
	s_cmp_lg_u32 s22, s4
	s_waitcnt vmcnt(0)
	v_cmp_gt_f32_e32 vcc_lo, v3, v4
	v_cndmask_b32_e64 v2, v2, s4, vcc_lo
	v_cndmask_b32_e32 v4, v4, v3, vcc_lo
	s_cbranch_scc1 .LBB0_58
; %bb.59:                               ; %._crit_edge445.loopexit
	s_delay_alu instid0(VALU_DEP_2)
	v_ashrrev_i32_e32 v3, 31, v2
	s_branch .LBB0_61
.LBB0_60:
	v_mov_b32_e32 v2, 1
	v_dual_mov_b32 v3, 0 :: v_dual_mov_b32 v4, 0
.LBB0_61:                               ; %._crit_edge445
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_2)
	v_lshlrev_b64 v[2:3], 2, v[2:3]
	v_mov_b32_e32 v5, 0
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v2, vcc_lo, s2, v2
	s_delay_alu instid0(VALU_DEP_3)
	v_add_co_ci_u32_e32 v3, vcc_lo, s3, v3, vcc_lo
	s_clause 0x1
	global_load_b32 v3, v[2:3], off
	global_load_b32 v2, v5, s[2:3]
	s_clause 0x1
	s_load_b128 s[4:7], s[0:1], 0x80
	s_load_b64 s[0:1], s[0:1], 0x90
	s_waitcnt vmcnt(1)
	v_sub_f32_e32 v3, v3, v10
	s_waitcnt vmcnt(0)
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_cmp_nlt_f32_e64 s8, |v3|, v2
	s_and_saveexec_b32 s9, s8
	s_delay_alu instid0(SALU_CYCLE_1)
	s_xor_b32 s8, exec_lo, s9
	s_cbranch_execz .LBB0_71
; %bb.62:                               ; %.preheader
	v_cmp_ne_u32_e32 vcc_lo, 1, v11
	v_mov_b32_e32 v5, 1
	s_cbranch_vccnz .LBB0_70
; %bb.63:                               ; %.lr.ph450.preheader
	v_mov_b32_e32 v3, 0
	s_add_u32 s2, s2, 4
	s_addc_u32 s3, s3, 0
	s_mov_b32 s9, 0
	s_mov_b32 s13, 0
                                        ; implicit-def: $sgpr10
                                        ; implicit-def: $sgpr12
                                        ; implicit-def: $sgpr11
.LBB0_64:                               ; %.lr.ph450
                                        ; =>This Inner Loop Header: Depth=1
	global_load_b32 v5, v3, s[2:3]
	s_or_b32 s11, s11, exec_lo
	s_or_b32 s12, s12, exec_lo
	s_mov_b32 s15, exec_lo
                                        ; implicit-def: $sgpr14
	s_waitcnt vmcnt(0)
	v_sub_f32_e32 v5, v5, v10
	s_delay_alu instid0(VALU_DEP_1)
	v_cmpx_gt_f32_e64 |v5|, v2
; %bb.65:                               ;   in Loop: Header=BB0_64 Depth=1
	s_add_i32 s14, s13, 1
	s_add_u32 s2, s2, 4
	s_addc_u32 s3, s3, 0
	s_cmp_eq_u32 s22, s14
	s_cselect_b32 s16, -1, 0
	s_and_not1_b32 s12, s12, exec_lo
	s_and_b32 s16, s16, exec_lo
	s_and_not1_b32 s11, s11, exec_lo
	s_or_b32 s12, s12, s16
; %bb.66:                               ; %Flow579
                                        ;   in Loop: Header=BB0_64 Depth=1
	s_or_b32 exec_lo, exec_lo, s15
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_4) | instid1(SALU_CYCLE_1)
	s_and_b32 s15, exec_lo, s12
	v_dual_mov_b32 v5, s33 :: v_dual_mov_b32 v6, s13
	s_or_b32 s9, s15, s9
	s_and_not1_b32 s10, s10, exec_lo
	s_and_b32 s13, s11, exec_lo
	s_or_b32 s10, s10, s13
	s_mov_b32 s13, s14
	s_and_not1_b32 exec_lo, exec_lo, s9
	s_cbranch_execnz .LBB0_64
; %bb.67:                               ; %loop.exit.guard
	s_or_b32 exec_lo, exec_lo, s9
	s_and_saveexec_b32 s2, s10
	s_delay_alu instid0(SALU_CYCLE_1)
	s_xor_b32 s2, exec_lo, s2
; %bb.68:                               ; %.lr.ph450..critedge5.loopexit_crit_edge
	v_add_nc_u32_e32 v5, 1, v6
; %bb.69:                               ; %Flow
	s_or_b32 exec_lo, exec_lo, s2
.LBB0_70:                               ; %.critedge5
	s_delay_alu instid0(VALU_DEP_1)
	v_lshl_add_u32 v2, v5, 2, 16
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v0, vcc_lo, s6, v0
	v_add_co_ci_u32_e32 v1, vcc_lo, s7, v1, vcc_lo
	scratch_load_b32 v2, v2, off
	global_load_b32 v3, v[0:1], off
	s_waitcnt vmcnt(1)
	v_sub_f32_e32 v2, v4, v2
                                        ; implicit-def: $vgpr4
	s_waitcnt vmcnt(0)
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f32_e32 v2, v3, v2
	global_store_b32 v[0:1], v2, off
                                        ; implicit-def: $vgpr0_vgpr1
.LBB0_71:                               ; %Flow581
	s_and_not1_saveexec_b32 s2, s8
	s_cbranch_execz .LBB0_73
; %bb.72:
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v2, vcc_lo, s0, v0
	v_add_co_ci_u32_e32 v3, vcc_lo, s1, v1, vcc_lo
	v_add_co_u32 v0, vcc_lo, s4, v0
	v_add_co_ci_u32_e32 v1, vcc_lo, s5, v1, vcc_lo
	global_load_b32 v5, v[2:3], off
	global_load_b32 v6, v[0:1], off
	s_waitcnt vmcnt(0)
	v_dual_add_f32 v4, v4, v5 :: v_dual_add_nc_u32 v5, 1, v6
	global_store_b32 v[2:3], v4, off
	global_store_b32 v[0:1], v5, off
.LBB0_73:
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 2016
		.amdhsa_kernarg_size 408
		.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 1
		.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 26
		.amdhsa_next_free_sgpr 47
		.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	_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_, .Lfunc_end0-_Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 3636
; NumSgprs: 49
; NumVgprs: 26
; ScratchSize: 2016
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 6
; VGPRBlocks: 3
; NumSGPRsForWavesPerEU: 49
; NumVGPRsForWavesPerEU: 26
; Occupancy: 16
; WaveLimiterHint : 1
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 1
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.p2alignl 7, 3214868480
	.fill 96, 4, 3214868480
	.type	__hip_cuid_,@object             ; @__hip_cuid_
	.section	.bss,"aw",@nobits
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               ; 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym __hip_cuid_
	.amdgpu_metadata
---
amdhsa.kernels:
  - .args:
      - .offset:         0
        .size:           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
      - .address_space:  global
        .offset:         56
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         64
        .size:           8
        .value_kind:     global_buffer
      - .offset:         72
        .size:           4
        .value_kind:     by_value
      - .address_space:  global
        .offset:         80
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         88
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         96
        .size:           8
        .value_kind:     global_buffer
      - .offset:         104
        .size:           4
        .value_kind:     by_value
      - .offset:         108
        .size:           4
        .value_kind:     by_value
      - .offset:         112
        .size:           4
        .value_kind:     by_value
      - .offset:         116
        .size:           4
        .value_kind:     by_value
      - .offset:         120
        .size:           4
        .value_kind:     by_value
      - .offset:         124
        .size:           4
        .value_kind:     by_value
      - .address_space:  global
        .offset:         128
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         136
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         144
        .size:           8
        .value_kind:     global_buffer
      - .offset:         152
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         156
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         160
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         164
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         166
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         168
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         170
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         172
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         174
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         192
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         200
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         208
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         216
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 408
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_
    .private_segment_fixed_size: 2016
    .sgpr_count:     49
    .sgpr_spill_count: 0
    .symbol:         _Z7kernel2iPfS_S_PiS_S_S_S_iS0_S_S_fiiiiiS0_S_S_.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     26
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
amdhsa.target:   amdgcn-amd-amdhsa--gfx1100
amdhsa.version:
  - 1
  - 2
...

	.end_amdgpu_metadata
