// File: /workspace/github_c_makefile_star2_O0/jiqingxiaoxi[P]RPA/RPA.c
// Function: calc_bulge_internal2
void calc_bulge_internal2(int i,int j,int ii,int jj,double *EntropyEnthalpy,int traceback,double stackEntropies[],double stackEnthalpies[],double stackint2Entropies[],double stackint2Enthalpies[],double interiorLoopEntropies[],double bulgeLoopEntropies[],double interiorLoopEnthalpies[],double bulgeLoopEnthalpies[],double tstackEntropies[],double tstackEnthalpies[],double atpS[],double atpH[],double Initdouble[0],int Initint[],double enthalpyDPT[],double entropyDPT[],char numSeq1[],char numSeq2[])
{
	int loopSize1,loopSize2,loopSize;
	double T1,T2,S,H;

	S=-3224.0;
	H=0.0;
	loopSize1=ii-i-1;
	loopSize2=j-jj-1;
	if(loopSize1+loopSize2>30)
	{
		EntropyEnthalpy[0]=-1.0;
		EntropyEnthalpy[1]=1.0*INFINITY;
		return;
	}

	loopSize=loopSize1+loopSize2-1;
	if((loopSize1==0&&loopSize2>0)||(loopSize2==0&&loopSize1>0))
	{
		if(loopSize2==1||loopSize1==1)
		{ 
			if((loopSize2==1&&loopSize1==0)||(loopSize2==0&&loopSize1==1))
			{
				H=bulgeLoopEnthalpies[loopSize]+stackEnthalpies[numSeq1[i]*125+numSeq1[ii]*25+numSeq2[j]*5+numSeq2[jj]];
				S=bulgeLoopEntropies[loopSize]+stackEntropies[numSeq1[i]*125+numSeq1[ii]*25+numSeq2[j]*5+numSeq2[jj]];
 			}
			if(traceback!=1)
			{
				H+=enthalpyDPT[(ii-1)*Initint[2]+jj-1];
				S+=entropyDPT[(ii-1)*Initint[2]+jj-1];
			}

			if(fabs(H)>999999999)
			{
				H=1.0*INFINITY;
				S=-1.0;
			}
			T1=(H+Initdouble[0])/((S+Initdouble[1])+Initdouble[2]);
			T2=(enthalpyDPT[(i-1)*Initint[2]+j-1]+Initdouble[0])/((entropyDPT[(i-1)*Initint[2]+j-1])+Initdouble[1]+Initdouble[2]);
			if((T1>T2)||((traceback&&T1>=T2)||traceback==1))
			{
				EntropyEnthalpy[0]=S;
				EntropyEnthalpy[1]=H;
			}
		}
		else
		{
			H=bulgeLoopEnthalpies[loopSize]+atpH[numSeq1[i]*5+numSeq2[j]]+atpH[numSeq1[ii]*5+numSeq2[jj]];
			if(traceback!=1)
				H+=enthalpyDPT[(ii-1)*Initint[2]+jj-1];

			S=bulgeLoopEntropies[loopSize]+atpS[numSeq1[i]*5+numSeq2[j]]+atpS[numSeq1[ii]*5+numSeq2[jj]];
			if(traceback!=1)
				S+=entropyDPT[(ii-1)*Initint[2]+jj-1];
			if(fabs(H)>999999999)
			{
				H=1.0*INFINITY;
				S=-1.0;
			}
			T1=(H+Initdouble[0])/((S+Initdouble[1])+Initdouble[2]);
			T2=(enthalpyDPT[(i-1)*Initint[2]+j-1]+Initdouble[0])/(entropyDPT[(i-1)*Initint[2]+j-1]+Initdouble[1]+Initdouble[2]);
			if((T1>T2)||((traceback&&T1>=T2)||(traceback==1)))
			{
				EntropyEnthalpy[0]=S;
				EntropyEnthalpy[1]=H;
			}
		}
	}
	else if(loopSize1==1&&loopSize2==1)
	{
		S=stackint2Entropies[numSeq1[i]*125+numSeq1[i+1]*25+numSeq2[j]*5+numSeq2[j-1]]+stackint2Entropies[numSeq2[jj]*125+numSeq2[jj+1]*25+numSeq1[ii]*5+numSeq1[ii-1]];
		if(traceback!=1)
			S+=entropyDPT[(ii-1)*Initint[2]+jj-1];

		H=stackint2Enthalpies[numSeq1[i]*125+numSeq1[i+1]*25+numSeq2[j]*5+numSeq2[j-1]]+stackint2Enthalpies[numSeq2[jj]*125+numSeq2[jj+1]*25+numSeq1[ii]*5+numSeq1[ii-1]];
		if(traceback!=1)
			H+=enthalpyDPT[(ii-1)*Initint[2]+jj-1];
		if(fabs(H)>999999999)
		{
			H=1.0*INFINITY;
			S=-1.0;
		}
		T1=(H+Initdouble[0])/((S+Initdouble[1])+Initdouble[2]);
		T2=(enthalpyDPT[(i-1)*Initint[2]+j-1]+Initdouble[0])/(entropyDPT[(i-1)*Initint[2]+j-1]+Initdouble[1]+Initdouble[2]);
		if((T1-T2>=0.000001)||traceback)
		{
			if((T1>T2)||((traceback&&T1>= T2)||traceback==1))
			{
				EntropyEnthalpy[0]=S;
				EntropyEnthalpy[1]=H;
			}
		}
		return;
	}
	else
	{
		H=interiorLoopEnthalpies[loopSize]+tstackEnthalpies[numSeq1[i]*125+numSeq1[i+1]*25+numSeq2[j]*5+numSeq2[j-1]]+tstackEnthalpies[numSeq2[jj]*125+numSeq2[jj+1]*25+numSeq1[ii]*5+numSeq1[ii-1]];
		if(traceback!=1)
			H+=enthalpyDPT[(ii-1)*Initint[2]+jj-1];

		S=interiorLoopEntropies[loopSize]+tstackEntropies[numSeq1[i]*125+numSeq1[i+1]*25+numSeq2[j]*5+numSeq2[j-1]]+tstackEntropies[numSeq2[jj]*125+numSeq2[jj+1]*25+numSeq1[ii]*5+numSeq1[ii-1]]+(-300/310.15*abs(loopSize1-loopSize2));
		if(traceback!=1)
			S+=entropyDPT[(ii-1)*Initint[2]+jj-1];
		if(fabs(H)>999999999)
		{
			H=1.0*INFINITY;
			S=-1.0;
		}

		T1=(H+Initdouble[0])/((S+Initdouble[1])+Initdouble[2]);
		T2=(enthalpyDPT[(i-1)*Initint[2]+j-1]+Initdouble[0])/((entropyDPT[(i-1)*Initint[2]+j-1])+Initdouble[1]+Initdouble[2]);
		if((T1>T2)||((traceback&&T1>=T2)||(traceback==1)))
		{
			EntropyEnthalpy[0]=S;
			EntropyEnthalpy[1]=H;
		}
	}
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x98(%rbp), %rax
movq 0x90(%rbp), %rax
movq 0x88(%rbp), %rax
movq 0x80(%rbp), %rax
movq 0x78(%rbp), %rax
movq 0x70(%rbp), %rax
movq 0x68(%rbp), %rax
movq 0x60(%rbp), %rax
movq 0x58(%rbp), %rax
movq 0x50(%rbp), %rax
movq 0x48(%rbp), %rax
movq 0x40(%rbp), %rax
movq 0x38(%rbp), %rax
movq 0x30(%rbp), %rax
movq 0x28(%rbp), %rax
movq 0x20(%rbp), %rax
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl %ecx, -0x10(%rbp)
movq %r8, -0x18(%rbp)
movl %r9d, -0x1c(%rbp)
movsd 0x12fdc(%rip), %xmm0    # 0x17150
movsd %xmm0, -0x40(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x48(%rbp)
movl -0xc(%rbp), %eax
subl -0x4(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x20(%rbp)
movl -0x8(%rbp), %eax
subl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x20(%rbp), %eax
addl -0x24(%rbp), %eax
cmpl $0x1e, %eax
jle 0x41ca
movq -0x18(%rbp), %rax
movsd 0x12f90(%rip), %xmm0    # 0x17140
movsd %xmm0, (%rax)
movq -0x18(%rbp), %rax
movsd 0x12f70(%rip), %xmm0    # 0x17130
movsd %xmm0, 0x8(%rax)
jmp 0x4d40
movl -0x20(%rbp), %eax
addl -0x24(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x28(%rbp)
cmpl $0x0, -0x20(%rbp)
jne 0x41e2
cmpl $0x0, -0x24(%rbp)
jg 0x41f6
cmpl $0x0, -0x24(%rbp)
jne 0x46c4
cmpl $0x0, -0x20(%rbp)
jle 0x46c4
cmpl $0x1, -0x24(%rbp)
je 0x4206
cmpl $0x1, -0x20(%rbp)
jne 0x446a
cmpl $0x1, -0x24(%rbp)
jne 0x4212
cmpl $0x0, -0x20(%rbp)
je 0x4226
cmpl $0x0, -0x24(%rbp)
jne 0x42f8
cmpl $0x1, -0x20(%rbp)
jne 0x42f8
movq 0x48(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x18(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x90(%rbp), %rdx
movslq -0xc(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x10(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x48(%rbp)
movq 0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x10(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x90(%rbp), %rdx
movslq -0xc(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x10(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x40(%rbp)
cmpl $0x1, -0x1c(%rbp)
je 0x4358
movq 0x80(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq 0x88(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x48(%rbp), %xmm0
movaps 0x12e8c(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x12dc8(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
jbe 0x4390
movsd 0x12db2(%rip), %xmm0    # 0x17130
movsd %xmm0, -0x48(%rbp)
movsd 0x12db5(%rip), %xmm0    # 0x17140
movsd %xmm0, -0x40(%rbp)
movsd -0x48(%rbp), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movsd -0x40(%rbp), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x80(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movq 0x88(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
ja 0x444a
cmpl $0x0, -0x1c(%rbp)
je 0x4444
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
jae 0x444a
cmpl $0x1, -0x1c(%rbp)
jne 0x4465
movsd -0x40(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x48(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x8(%rax)
jmp 0x46bf
movq 0x48(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x68(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x5, %ecx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movq 0x68(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0xc(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x5, %ecx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x10(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x48(%rbp)
cmpl $0x1, -0x1c(%rbp)
je 0x450d
movq 0x80(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq 0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x60(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x5, %ecx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movq 0x60(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0xc(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x5, %ecx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x10(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x40(%rbp)
cmpl $0x1, -0x1c(%rbp)
je 0x45b0
movq 0x88(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x48(%rbp), %xmm0
movaps 0x12c34(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x12b70(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
jbe 0x45e8
movsd 0x12b5a(%rip), %xmm0    # 0x17130
movsd %xmm0, -0x48(%rbp)
movsd 0x12b5d(%rip), %xmm0    # 0x17140
movsd %xmm0, -0x40(%rbp)
movsd -0x48(%rbp), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movsd -0x40(%rbp), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x80(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movq 0x88(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
ja 0x46a2
cmpl $0x0, -0x1c(%rbp)
je 0x469c
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
jae 0x46a2
cmpl $0x1, -0x1c(%rbp)
jne 0x46bd
movsd -0x40(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x48(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x8(%rax)
jmp 0x46bf
jmp 0x4d3e
cmpl $0x1, -0x20(%rbp)
jne 0x49fe
cmpl $0x1, -0x24(%rbp)
jne 0x49fe
movq 0x20(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x90(%rbp), %rdx
movl -0x4(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movl -0x8(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x20(%rbp), %rax
movq 0x98(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x98(%rbp), %rdx
movl -0x10(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movslq -0xc(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movl -0xc(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x40(%rbp)
cmpl $0x1, -0x1c(%rbp)
je 0x47d2
movq 0x88(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq 0x28(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x90(%rbp), %rdx
movl -0x4(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movl -0x8(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x28(%rbp), %rax
movq 0x98(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x98(%rbp), %rdx
movl -0x10(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movslq -0xc(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movl -0xc(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x48(%rbp)
cmpl $0x1, -0x1c(%rbp)
je 0x48cc
movq 0x80(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
movaps 0x12918(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x12854(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
jbe 0x4904
movsd 0x1283e(%rip), %xmm0    # 0x17130
movsd %xmm0, -0x48(%rbp)
movsd 0x12841(%rip), %xmm0    # 0x17140
movsd %xmm0, -0x40(%rbp)
movsd -0x48(%rbp), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movsd -0x40(%rbp), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x80(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movq 0x88(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x30(%rbp), %xmm0
subsd -0x38(%rbp), %xmm0
movsd 0x127bc(%rip), %xmm1    # 0x17168
ucomisd %xmm1, %xmm0
jae 0x49b8
cmpl $0x0, -0x1c(%rbp)
je 0x49f9
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
ja 0x49dc
cmpl $0x0, -0x1c(%rbp)
je 0x49d6
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
jae 0x49dc
cmpl $0x1, -0x1c(%rbp)
jne 0x49f7
movsd -0x40(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x48(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x8(%rax)
jmp 0x49f9
jmp 0x4d40
movq 0x40(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x58(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x90(%rbp), %rdx
movl -0x4(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movl -0x8(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movq 0x58(%rbp), %rax
movq 0x98(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x98(%rbp), %rdx
movl -0x10(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movslq -0xc(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movl -0xc(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x48(%rbp)
cmpl $0x1, -0x1c(%rbp)
je 0x4b05
movq 0x80(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq 0x30(%rbp), %rax
movslq -0x28(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x50(%rbp), %rax
movq 0x90(%rbp), %rcx
movslq -0x4(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x90(%rbp), %rdx
movl -0x4(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movslq -0x8(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x98(%rbp), %rdx
movl -0x8(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm1
movq 0x50(%rbp), %rax
movq 0x98(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movsbl (%rcx,%rdx), %ecx
imull $0x7d, %ecx, %ecx
movq 0x98(%rbp), %rdx
movl -0x10(%rbp), %esi
addl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
imull $0x19, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movslq -0xc(%rbp), %rsi
movsbl (%rdx,%rsi), %edx
imull $0x5, %edx, %edx
addl %edx, %ecx
movq 0x90(%rbp), %rdx
movl -0xc(%rbp), %esi
subl $0x1, %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
addsd (%rax,%rcx,8), %xmm1
movl -0x20(%rbp), %eax
subl -0x24(%rbp), %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0x12573(%rip), %xmm2    # 0x17160
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
cmpl $0x1, -0x1c(%rbp)
je 0x4c2d
movq 0x88(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
addsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x48(%rbp), %xmm0
movaps 0x125b7(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x124f3(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
jbe 0x4c65
movsd 0x124dd(%rip), %xmm0    # 0x17130
movsd %xmm0, -0x48(%rbp)
movsd 0x124e0(%rip), %xmm0    # 0x17140
movsd %xmm0, -0x40(%rbp)
movsd -0x48(%rbp), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movsd -0x40(%rbp), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x80(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x70(%rbp), %rax
addsd (%rax), %xmm0
movq 0x88(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movq 0x78(%rbp), %rdx
imull 0x8(%rdx), %ecx
addl -0x8(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x70(%rbp), %rax
addsd 0x8(%rax), %xmm1
movq 0x70(%rbp), %rax
addsd 0x10(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
ja 0x4d1f
cmpl $0x0, -0x1c(%rbp)
je 0x4d19
movsd -0x30(%rbp), %xmm0
ucomisd -0x38(%rbp), %xmm0
jae 0x4d1f
cmpl $0x1, -0x1c(%rbp)
jne 0x4d3a
movsd -0x40(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x48(%rbp), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x8(%rax)
jmp 0x4d3c
jmp 0x4d3e
jmp 0x4d40
popq %rbp
retq
nopw %cs:(%rax,%rax)