// File: /workspace/github_c_makefile_star2_O0/jiqingxiaoxi[P]RPA/RPA.c
// Function: getDangle
void getDangle(double dangleEntropies3[],double dangleEnthalpies3[],double dangleEntropies5[],double dangleEnthalpies5[],char *path)
{
        int i, j, k;
        FILE *sFile, *hFile;
        char *line;
        
        i=strlen(path)+20;
        line=(char *)malloc(i);
        memset(line,'\0',i);
        strcpy(line,path);
        strcat(line,"dangle.ds");
        if(access(line,0)==-1)
        {
                printf("Error! Don't have %s file!\n",line);
                exit(1);
        }
        sFile=fopen(line,"r");
        if(sFile==NULL)
        {
                printf("Error! Can't open the %s file!\n",line);
                exit(1);
        }

        memset(line,'\0',i);
        strcpy(line,path);
        strcat(line,"dangle.dh");
        if(access(line,0)==-1)
        {
                printf("Error! Don't have %s file!\n",line);
                exit(1);
        }
        hFile=fopen(line,"r");
        if(hFile==NULL)
        {
                printf("Error! Can't open the %s file!\n",line);
                exit(1);
        }
        free(line);

        line=(char *)malloc(20);
        memset(line,'\0',20);
        for (i = 0; i < 5; ++i)
                for (j = 0; j < 5; ++j)
                        for (k = 0; k < 5; ++k) 
                        {
                                if (i == 4 || j == 4) 
                                {
                                        dangleEntropies3[i*25+k*5+j] = -1.0;
                                        dangleEnthalpies3[i*25+k*5+j] =1.0*INFINITY;
                                }
                                else if (k == 4)
                                {
                                        dangleEntropies3[i*25+k*5+j] = -1.0;
                                        dangleEnthalpies3[i*25+k*5+j] =1.0*INFINITY;
                                } 
                                else
                                {
                                        if(fgets(line,20,sFile)==NULL)
                                        {
                                                printf("Error! When read parameters in getDangle function!\n");
                                                exit(1);
                                        }
                                        if(strncmp(line, "inf", 3)==0)
                                                dangleEntropies3[i*25+k*5+j]=1.0*INFINITY;
                                        else
                                                dangleEntropies3[i*25+k*5+j]=atof(line);

                                        if(fgets(line,20,hFile)==NULL)
                                        {
                                                printf("Error! When read parameters in getDangle function!\n");        
                                                exit(1);        
                                        }
                                        if(strncmp(line, "inf", 3)==0)        
                                                dangleEnthalpies3[i*25+k*5+j]=1.0*INFINITY;           
                                        else        
                                                dangleEnthalpies3[i*25+k*5+j]=atof(line);

                                        if(fabs(dangleEntropies3[i*25+k*5+j])>999999999||fabs(dangleEnthalpies3[i*25+k*5+j])>999999999) 
                                        {
                                                dangleEntropies3[i*25+k*5+j] = -1.0;
                                                dangleEnthalpies3[i*25+k*5+j] =1.0*INFINITY;
                                        }
                                }
                        }

        for (i = 0; i < 5; ++i)
                for (j = 0; j < 5; ++j)
                        for (k = 0; k < 5; ++k) 
                        {
                                if (i == 4 || j == 4)
                                {
                                        dangleEntropies5[i*25+j*5+k] = -1.0;
                                        dangleEnthalpies5[i*25+j*5+k] =1.0*INFINITY;
                                } 
                                else if (k == 4) 
                                {
                                        dangleEntropies5[i*25+j*5+k] = -1.0;
                                        dangleEnthalpies5[i*25+j*5+k] =1.0*INFINITY;
                                }
                                else
                                {
                                        if(fgets(line,20,sFile)==NULL)
                                        {
                                                printf("Error! When read parameters in getDangle function!\n");
                                                exit(1);
                                        }
                                        if(strncmp(line, "inf", 3)==0)
                                                dangleEntropies5[i*25+j*5+k]=1.0*INFINITY;
                                        else
                                                dangleEntropies5[i*25+j*5+k]=atof(line);

                                        if(fgets(line,20,hFile)==NULL)
                                        {
                                                printf("Error! When read parameters in getDangle function!\n");        
                                                exit(1);        
                                        }
                                        if(strncmp(line, "inf", 3)==0)        
                                                dangleEnthalpies5[i*25+j*5+k]=1.0*INFINITY;           
                                        else        
                                                dangleEnthalpies5[i*25+j*5+k]=atof(line);

                                        if(fabs(dangleEntropies5[i*25+j*5+k])>999999999||fabs(dangleEnthalpies5[i*25+j*5+k])>999999999)
                                        {
                                                dangleEntropies5[i*25+j*5+k] = -1.0;
                                                dangleEnthalpies5[i*25+j*5+k] =1.0*INFINITY;
                                        }
                                }
                        }
        fclose(sFile);
        fclose(hFile);
        free(line);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10a0
addq $0x14, %rax
movl %eax, -0x2c(%rbp)
movslq -0x2c(%rbp), %rdi
callq 0x1160
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movslq -0x2c(%rbp), %rdx
xorl %esi, %esi
callq 0x10e0
movq -0x50(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x1050
movq -0x50(%rbp), %rdi
leaq 0x15335(%rip), %rsi     # 0x172d5
callq 0x11b0
movq -0x50(%rbp), %rdi
xorl %esi, %esi
callq 0x1180
cmpl $-0x1, %eax
jne 0x1fd1
movq -0x50(%rbp), %rsi
leaq 0x15259(%rip), %rdi     # 0x17219
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
leaq 0x15990(%rip), %rsi     # 0x1796c
callq 0x1190
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0x2008
movq -0x50(%rbp), %rsi
leaq 0x1523e(%rip), %rdi     # 0x17235
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
movslq -0x2c(%rbp), %rdx
xorl %esi, %esi
callq 0x10e0
movq -0x50(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x1050
movq -0x50(%rbp), %rdi
leaq 0x152b0(%rip), %rsi     # 0x172df
callq 0x11b0
movq -0x50(%rbp), %rdi
xorl %esi, %esi
callq 0x1180
cmpl $-0x1, %eax
jne 0x2060
movq -0x50(%rbp), %rsi
leaq 0x151ca(%rip), %rdi     # 0x17219
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
leaq 0x15901(%rip), %rsi     # 0x1796c
callq 0x1190
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x48(%rbp)
jne 0x2097
movq -0x50(%rbp), %rsi
leaq 0x151af(%rip), %rdi     # 0x17235
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
callq 0x1030
movl $0x14, %edi
callq 0x1160
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
xorl %esi, %esi
movl $0x14, %edx
callq 0x10e0
movl $0x0, -0x2c(%rbp)
cmpl $0x5, -0x2c(%rbp)
jge 0x2389
movl $0x0, -0x30(%rbp)
cmpl $0x5, -0x30(%rbp)
jge 0x2379
movl $0x0, -0x34(%rbp)
cmpl $0x5, -0x34(%rbp)
jge 0x2369
cmpl $0x4, -0x2c(%rbp)
je 0x20fd
cmpl $0x4, -0x30(%rbp)
jne 0x2144
movq -0x8(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x15027(%rip), %xmm0    # 0x17140
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14ff6(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2359
cmpl $0x4, -0x34(%rbp)
jne 0x2191
movq -0x8(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14fda(%rip), %xmm0    # 0x17140
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14fa9(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2357
movq -0x50(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x14, %esi
callq 0x1110
cmpq $0x0, %rax
jne 0x21c1
leaq 0x15139(%rip), %rdi     # 0x172e9
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
leaq 0x1503c(%rip), %rsi     # 0x17208
movl $0x3, %edx
callq 0x1040
cmpl $0x0, %eax
jne 0x21fe
movq -0x8(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14f39(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2220
movq -0x50(%rbp), %rdi
callq 0x1080
movq -0x8(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rdx
movl $0x14, %esi
callq 0x1110
cmpq $0x0, %rax
jne 0x2250
leaq 0x150aa(%rip), %rdi     # 0x172e9
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
leaq 0x14fad(%rip), %rsi     # 0x17208
movl $0x3, %edx
callq 0x1040
cmpl $0x0, %eax
jne 0x228d
movq -0x10(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14eaa(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x22af
movq -0x50(%rbp), %rdi
callq 0x1080
movq -0x10(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x14f21(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x14e5d(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
ja 0x2313
movq -0x10(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x14eef(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x14e2b(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
jbe 0x2355
movq -0x8(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14e11(%rip), %xmm0    # 0x17140
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x34(%rbp), %edx
addl %edx, %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14de0(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2357
jmp 0x2359
jmp 0x235b
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x20e7
jmp 0x236b
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x20d6
jmp 0x237b
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x20c5
movl $0x0, -0x2c(%rbp)
cmpl $0x5, -0x2c(%rbp)
jge 0x2654
movl $0x0, -0x30(%rbp)
cmpl $0x5, -0x30(%rbp)
jge 0x2644
movl $0x0, -0x34(%rbp)
cmpl $0x5, -0x34(%rbp)
jge 0x2634
cmpl $0x4, -0x2c(%rbp)
je 0x23c8
cmpl $0x4, -0x30(%rbp)
jne 0x240f
movq -0x18(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14d5c(%rip), %xmm0    # 0x17140
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14d2b(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2624
cmpl $0x4, -0x34(%rbp)
jne 0x245c
movq -0x18(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14d0f(%rip), %xmm0    # 0x17140
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14cde(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2622
movq -0x50(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x14, %esi
callq 0x1110
cmpq $0x0, %rax
jne 0x248c
leaq 0x14e6e(%rip), %rdi     # 0x172e9
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
leaq 0x14d71(%rip), %rsi     # 0x17208
movl $0x3, %edx
callq 0x1040
cmpl $0x0, %eax
jne 0x24c9
movq -0x18(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14c6e(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x24eb
movq -0x50(%rbp), %rdi
callq 0x1080
movq -0x18(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rdx
movl $0x14, %esi
callq 0x1110
cmpq $0x0, %rax
jne 0x251b
leaq 0x14ddf(%rip), %rdi     # 0x172e9
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x50(%rbp), %rdi
leaq 0x14ce2(%rip), %rsi     # 0x17208
movl $0x3, %edx
callq 0x1040
cmpl $0x0, %eax
jne 0x2558
movq -0x20(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14bdf(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x257a
movq -0x50(%rbp), %rdi
callq 0x1080
movq -0x20(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x14c56(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x14b92(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
ja 0x25de
movq -0x20(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movaps 0x14c24(%rip), %xmm1    # 0x171f0
pand %xmm1, %xmm0
movsd 0x14b60(%rip), %xmm1    # 0x17138
ucomisd %xmm1, %xmm0
jbe 0x2620
movq -0x18(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14b46(%rip), %xmm0    # 0x17140
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rbp), %rax
imull $0x19, -0x2c(%rbp), %ecx
imull $0x5, -0x30(%rbp), %edx
addl %edx, %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movsd 0x14b15(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2622
jmp 0x2624
jmp 0x2626
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x23b2
jmp 0x2636
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x23a1
jmp 0x2646
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2390
movq -0x40(%rbp), %rdi
callq 0x1090
movq -0x48(%rbp), %rdi
callq 0x1090
movq -0x50(%rbp), %rdi
callq 0x1030
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)