// File: /workspace/github_c_makefile_star2_O0/ugobas[P]tnm/confchange.c
// Function: Print_angular_differences
void Print_angular_differences(float **diff_angles, char *type,
			       char **name_dphi, int num_dphi,
			       char *name_para, struct axe *axe,
			       int N_axes, struct residue *seq1)
{
  char nameout[100]; int a, i;
  sprintf(nameout, "%s.Angular_diff%s.dat", name_para, type);
  printf("Writing angular differences in %s\n", nameout);
  FILE *file_out=fopen(nameout, "w");
  fprintf(file_out, "# %d angles %d methods for deriving angles\n",
	  N_axes, num_dphi);
  for(i=0; i<num_dphi; i++)
    fprintf(file_out, "# Method %d: %s\n", i, name_dphi[i]);	     
  fprintf(file_out, "#angle ");
  for(i=0; i<num_dphi; i++)fprintf(file_out, " %d=dphi%d", i+2, i+1);
  fprintf(file_out, "\n");
  for(a=0; a<N_axes; a++){
    struct residue *r=seq1+(axe[a].bond)->atom->res;
    fprintf(file_out, "%c%s%c_%c", axe[a].type,r->pdbres,r->chain,r->amm);
    for(i=0; i<num_dphi; i++){
      fprintf(file_out, " %.4f", diff_angles[i][a]);
    }
    fprintf(file_out, "\n");
  }
  fclose(file_out);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq 0x18(%rbp), %rax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
leaq -0xa0(%rbp), %rdi
movq -0x28(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0x3a2d2(%rip), %rsi     # 0x7fd71
movb $0x0, %al
callq 0x1200
leaq -0xa0(%rbp), %rsi
leaq 0x3a2d3(%rip), %rdi     # 0x7fd87
movb $0x0, %al
callq 0x10d0
leaq -0xa0(%rbp), %rdi
leaq 0x368a9(%rip), %rsi     # 0x7c372
callq 0x11b0
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
movl 0x10(%rbp), %edx
movl -0x1c(%rbp), %ecx
leaq 0x3a2c1(%rip), %rsi     # 0x7fdaa
movb $0x0, %al
callq 0x1150
movl $0x0, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x45b40
movq -0xb0(%rbp), %rdi
movl -0xa8(%rbp), %edx
movq -0x18(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x3965e(%rip), %rsi     # 0x7f186
movb $0x0, %al
callq 0x1150
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x45afa
movq -0xb0(%rbp), %rdi
leaq 0x3a288(%rip), %rsi     # 0x7fdd6
movb $0x0, %al
callq 0x1150
movl $0x0, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x45ba2
movq -0xb0(%rbp), %rdi
movl -0xa8(%rbp), %edx
addl $0x2, %edx
movl -0xa8(%rbp), %ecx
addl $0x1, %ecx
leaq 0x39614(%rip), %rsi     # 0x7f19e
movb $0x0, %al
callq 0x1150
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x45b5f
movq -0xb0(%rbp), %rdi
leaq 0x384c8(%rip), %rsi     # 0x7e078
movb $0x0, %al
callq 0x1150
movl $0x0, -0xa4(%rbp)
movl -0xa4(%rbp), %eax
cmpl 0x10(%rbp), %eax
jge 0x45cd5
movq 0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movslq -0xa4(%rbp), %rdx
imulq $0x158, %rdx, %rdx      # imm = 0x158
addq %rdx, %rcx
movq 0x8(%rcx), %rcx
movq (%rcx), %rcx
movslq 0x64(%rcx), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0xb8(%rbp)
movq -0xb0(%rbp), %rdi
movq -0x30(%rbp), %rax
movslq -0xa4(%rbp), %rcx
imulq $0x158, %rcx, %rcx      # imm = 0x158
addq %rcx, %rax
movsbl (%rax), %edx
movq -0xb8(%rbp), %rcx
addq $0xd, %rcx
movq -0xb8(%rbp), %rax
movsbl 0xc(%rax), %r8d
movq -0xb8(%rbp), %rax
movsbl 0x13(%rax), %r9d
leaq 0x3a193(%rip), %rsi     # 0x7fdde
movb $0x0, %al
callq 0x1150
movl $0x0, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x45cac
movq -0xb0(%rbp), %rdi
movq -0x8(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa4(%rbp), %rcx
movss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x3820c(%rip), %rsi     # 0x7dea0
movb $0x1, %al
callq 0x1150
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x45c5c
movq -0xb0(%rbp), %rdi
leaq 0x383be(%rip), %rsi     # 0x7e078
movb $0x0, %al
callq 0x1150
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
jmp 0x45bc1
movq -0xb0(%rbp), %rdi
callq 0x10a0
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)