// File: /workspace/github_c_makefile_star2_O1/ugobas[P]tnm/mutation.c
// Function: Read_pred_para
void Read_pred_para(char *name_in){
  FILE *file_in=fopen(name_in, "r");
  if(file_in==NULL){
    printf("WARNING, parameter file %s not found\n", name_in);
    return;
  }
  char string[100];
  printf("Reading weights of mutation model in %s: ", name_in);
  while(fgets(string, sizeof(string), file_in)!=NULL){
    if(string[0]=='#')continue;
    if(strncmp(string, "EXP_FORCE", 9)==0){
      sscanf(string+10, "%f", &EXP_FORCE);
    }else if(strncmp(string, "OPT_COEFF", 9)==0){
      sscanf(string+10, "%d", &OPT_COEFF);
    }else if(strncmp(string, "OPT_SCORE", 9)==0){
      char c;
      sscanf(string+10, "%c", &c);
      if((c!='C')&&(c!='A')){
	printf("WARNING, %c is not an allowed score type\n", c);
	printf("Allowed types are C (Cartesian) and A (Absolute). ");
	printf("Using default %c\n", OPT_SCORE);
      }else{
	OPT_SCORE=c;
      }
    }else if(strncmp(string, "C_SIZE", 6)==0){
      sscanf(string+7, "%f", &C_SIZE);
    }else if(strncmp(string, "C_DIST", 6)==0){
      sscanf(string+7, "%f", &C_DIST);
    }else if(strncmp(string, "C_STAB", 6)==0){
      sscanf(string+7, "%f", &C_STAB);
    }else{
      printf("WARNING, unknown record %s\n", string);
    }
  }
  printf("size,dist,stab= %.3g %.3g %.3g\n", C_SIZE, C_DIST, C_STAB);
  fclose(file_in);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdi, %r14
leaq 0x1ca6b(%rip), %rsi     # 0x59eda
callq 0x2210
testq %rax, %rax
je 0x3d6bc
movq %rax, %rbx
leaq 0x1f360(%rip), %rdi     # 0x5c7e7
movq %r14, %rsi
xorl %eax, %eax
callq 0x20f0
leaq 0x10(%rsp), %rdi
movl $0x64, %esi
movq %rbx, %rdx
callq 0x2170
testq %rax, %rax
je 0x3d67f
leaq 0x1a(%rsp), %r15
leaq 0x10(%rsp), %r12
movabsq $0x43524f465f505845, %r14 # imm = 0x43524F465F505845
leaq 0x187e5(%rip), %r13     # 0x55cac
movabsq $0x46454f435f54504f, %rbp # imm = 0x46454F435F54504F
cmpb $0x23, 0x10(%rsp)
je 0x3d666
movq 0x10(%rsp), %rax
xorq %r14, %rax
movzbl 0x18(%rsp), %ecx
xorq $0x45, %rcx
orq %rax, %rcx
je 0x3d5a4
movq 0x10(%rsp), %rax
xorq %rbp, %rax
movzbl 0x18(%rsp), %ecx
xorq $0x46, %rcx
orq %rax, %rcx
je 0x3d5b6
movq 0x10(%rsp), %rax
movabsq $0x524f43535f54504f, %rcx # imm = 0x524F43535F54504F
xorq %rcx, %rax
movzbl 0x18(%rsp), %ecx
xorq $0x45, %rcx
orq %rax, %rcx
je 0x3d5cc
movl 0x10(%rsp), %eax
movl $0x49535f43, %ecx       # imm = 0x49535F43
xorl %ecx, %eax
movzwl 0x14(%rsp), %ecx
xorl $0x455a, %ecx           # imm = 0x455A
orl %eax, %ecx
je 0x3d5f8
movl 0x10(%rsp), %eax
movl $0x49445f43, %ecx       # imm = 0x49445F43
xorl %ecx, %eax
movzwl 0x14(%rsp), %ecx
xorl $0x5453, %ecx           # imm = 0x5453
orl %eax, %ecx
je 0x3d63f
movl 0x10(%rsp), %eax
movl $0x54535f43, %ecx       # imm = 0x54535F43
xorl %ecx, %eax
movzwl 0x14(%rsp), %ecx
xorl $0x4241, %ecx           # imm = 0x4241
orl %eax, %ecx
je 0x3d650
leaq 0x1f31e(%rip), %rdi     # 0x5c8b3
movq %r12, %rsi
xorl %eax, %eax
callq 0x20f0
jmp 0x3d666
movq %r15, %rdi
movq %r13, %rsi
leaq 0x3bfe3(%rip), %rdx     # 0x79594
jmp 0x3d65f
movq %r15, %rdi
leaq 0x1fd2b(%rip), %rsi     # 0x5d2eb
leaq 0x3bfd9(%rip), %rdx     # 0x795a0
jmp 0x3d65f
movq %r15, %rdi
leaq 0x20286(%rip), %rsi     # 0x5d85c
leaq 0xf(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movb 0xf(%rsp), %al
movl %eax, %ecx
andb $-0x3, %cl
cmpb $0x41, %cl
jne 0x3d609
movb %al, 0x2b976(%rip)      # 0x68f6c
jmp 0x3d666
leaq 0x17(%rsp), %rdi
movq %r13, %rsi
leaq 0x2b949(%rip), %rdx     # 0x68f50
jmp 0x3d65f
movsbl %al, %esi
leaq 0x1f21c(%rip), %rdi     # 0x5c82f
xorl %eax, %eax
callq 0x20f0
leaq 0x1f238(%rip), %rdi     # 0x5c859
xorl %eax, %eax
callq 0x20f0
movsbl 0x2b93d(%rip), %esi     # 0x68f6c
leaq 0x1f256(%rip), %rdi     # 0x5c88c
xorl %eax, %eax
callq 0x20f0
jmp 0x3d666
leaq 0x17(%rsp), %rdi
movq %r13, %rsi
leaq 0x2b90a(%rip), %rdx     # 0x68f58
jmp 0x3d65f
leaq 0x17(%rsp), %rdi
movq %r13, %rsi
leaq 0x2b8f5(%rip), %rdx     # 0x68f54
xorl %eax, %eax
callq 0x21f0
movq %r12, %rdi
movl $0x64, %esi
movq %rbx, %rdx
callq 0x2170
testq %rax, %rax
jne 0x3d4d1
cvtss2sd 0x2b8c9(%rip), %xmm0    # 0x68f50
cvtss2sd 0x2b8c9(%rip), %xmm1    # 0x68f58
cvtss2sd 0x2b8bd(%rip), %xmm2    # 0x68f54
leaq 0x1f231(%rip), %rdi     # 0x5c8cf
movb $0x3, %al
callq 0x20f0
movq %rbx, %rdi
callq 0x20c0
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1f0fe(%rip), %rdi     # 0x5c7c1
movq %r14, %rsi
xorl %eax, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x20f0