// File: /workspace/github_c_makefile_star2_O0/jiqingxiaoxi[P]RPA/RPA.c
// Function: getTriloop
void getTriloop(char *triloopEntropies1,char *triloopEnthalpies1,double *triloopEntropies2,double *triloopEnthalpies2,char *path)
{
        FILE *sFile, *hFile;
        int i,turn;
        char *line,seq[10],value[10];
        
        i=strlen(path)+20;
        line=(char *)malloc(i);
        memset(line,'\0',i);
        strcpy(line,path);
        strcat(line,"triloop.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);
        }
	
	turn=0;
        while(fscanf(sFile,"%s\t%s\n",seq,value)!=EOF)
        {
		for (i=0;i<5;i++)
			triloopEntropies1[5*turn+i]=str2int(seq[i]);
		if(value[0]=='i')
			triloopEntropies2[turn]=1.0*INFINITY;
		else
			triloopEntropies2[turn]=atof(value);
		turn++;
        }
        fclose(sFile);

	i=strlen(path)+20;
        memset(line,'\0',i);
        strcpy(line,path);
        strcat(line,"triloop.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);

	turn=0;
        while(fscanf(hFile,"%s\t%s\n",seq,value)!=EOF)
        {
		for(i=0;i<5;i++)
			triloopEnthalpies1[turn*5+i]=str2int(seq[i]);
		if(value[0]=='i')
			triloopEnthalpies2[turn]=1.0*INFINITY;
		else
			triloopEnthalpies2[turn]=atof(value);
		turn++;
        }
        fclose(hFile);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %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, -0x3c(%rbp)
movslq -0x3c(%rbp), %rdi
callq 0x1160
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movslq -0x3c(%rbp), %rdx
xorl %esi, %esi
callq 0x10e0
movq -0x48(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x1050
movq -0x48(%rbp), %rdi
leaq 0x14029(%rip), %rsi     # 0x173c9
callq 0x11b0
movq -0x48(%rbp), %rdi
xorl %esi, %esi
callq 0x1180
cmpl $-0x1, %eax
jne 0x33d1
movq -0x48(%rbp), %rsi
leaq 0x13e59(%rip), %rdi     # 0x17219
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x48(%rbp), %rdi
leaq 0x14590(%rip), %rsi     # 0x1796c
callq 0x1190
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x3408
movq -0x48(%rbp), %rsi
leaq 0x13e3e(%rip), %rdi     # 0x17235
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movl $0x0, -0x40(%rbp)
movq -0x30(%rbp), %rdi
leaq -0x52(%rbp), %rdx
leaq -0x5c(%rbp), %rcx
leaq 0x13fbf(%rip), %rsi     # 0x173e1
movb $0x0, %al
callq 0x1060
cmpl $-0x1, %eax
je 0x34ab
movl $0x0, -0x3c(%rbp)
cmpl $0x5, -0x3c(%rbp)
jge 0x3467
movslq -0x3c(%rbp), %rax
movsbl -0x52(%rbp,%rax), %edi
callq 0x12e0
movb %al, %dl
movq -0x8(%rbp), %rax
imull $0x5, -0x40(%rbp), %ecx
addl -0x3c(%rbp), %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x3435
movsbl -0x5c(%rbp), %eax
cmpl $0x69, %eax
jne 0x3487
movq -0x18(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsd 0x13cb0(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x349d
leaq -0x5c(%rbp), %rdi
callq 0x1080
movq -0x18(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x340f
movq -0x30(%rbp), %rdi
callq 0x1090
movq -0x28(%rbp), %rdi
callq 0x10a0
addq $0x14, %rax
movl %eax, -0x3c(%rbp)
movq -0x48(%rbp), %rdi
movslq -0x3c(%rbp), %rdx
xorl %esi, %esi
callq 0x10e0
movq -0x48(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x1050
movq -0x48(%rbp), %rdi
leaq 0x13efd(%rip), %rsi     # 0x173e8
callq 0x11b0
movq -0x48(%rbp), %rdi
xorl %esi, %esi
callq 0x1180
cmpl $-0x1, %eax
jne 0x351c
movq -0x48(%rbp), %rsi
leaq 0x13d0e(%rip), %rdi     # 0x17219
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x48(%rbp), %rdi
leaq 0x14445(%rip), %rsi     # 0x1796c
callq 0x1190
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x3553
movq -0x48(%rbp), %rsi
leaq 0x13cf3(%rip), %rdi     # 0x17235
movb $0x0, %al
callq 0x10b0
movl $0x1, %edi
callq 0x11c0
movq -0x48(%rbp), %rdi
callq 0x1030
movl $0x0, -0x40(%rbp)
movq -0x38(%rbp), %rdi
leaq -0x52(%rbp), %rdx
leaq -0x5c(%rbp), %rcx
leaq 0x13e6b(%rip), %rsi     # 0x173e1
movb $0x0, %al
callq 0x1060
cmpl $-0x1, %eax
je 0x35ff
movl $0x0, -0x3c(%rbp)
cmpl $0x5, -0x3c(%rbp)
jge 0x35bb
movslq -0x3c(%rbp), %rax
movsbl -0x52(%rbp,%rax), %edi
callq 0x12e0
movb %al, %dl
movq -0x10(%rbp), %rax
imull $0x5, -0x40(%rbp), %ecx
addl -0x3c(%rbp), %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x3589
movsbl -0x5c(%rbp), %eax
cmpl $0x69, %eax
jne 0x35db
movq -0x20(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsd 0x13b5c(%rip), %xmm0    # 0x17130
movsd %xmm0, (%rax,%rcx,8)
jmp 0x35f1
leaq -0x5c(%rbp), %rdi
callq 0x1080
movq -0x20(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x3563
movq -0x38(%rbp), %rdi
callq 0x1090
addq $0x60, %rsp
popq %rbp
retq
nop