// File: /workspace/github_c_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %r9, 0x18(%rsp)
movl %ecx, %ebp
movq %rdx, %r13
movq %rsi, %rcx
movq %rdi, %r14
movl 0xc0(%rsp), %ebx
leaq 0x2ab56(%rip), %rsi     # 0x5aa33
leaq 0x20(%rsp), %r15
movq %r15, %rdi
movq %r8, %rdx
xorl %eax, %eax
callq 0x2270
leaq 0x2ab53(%rip), %rdi     # 0x5aa49
movq %r15, %rsi
xorl %eax, %eax
callq 0x20f0
leaq 0x272f9(%rip), %rsi     # 0x57200
movq %r15, %rdi
callq 0x2220
movq %rax, %r15
leaq 0x2ab53(%rip), %rsi     # 0x5aa6c
movq %rax, %rdi
movl %ebx, %edx
movl %ebp, %ecx
xorl %eax, %eax
callq 0x21a0
movl %ebp, %ebx
movl %ebp, 0xc(%rsp)
testl %ebp, %ebp
jle 0x2ffb5
leaq 0x2a0f7(%rip), %r12     # 0x5a033
xorl %ebp, %ebp
movq (%r13,%rbp,8), %rcx
movq %r15, %rdi
movq %r12, %rsi
movl %ebp, %edx
xorl %eax, %eax
callq 0x21a0
incq %rbp
cmpq %rbp, %rbx
jne 0x2ff3e
leaq 0x2ab37(%rip), %rdi     # 0x5aa98
movl $0x7, %esi
movl $0x1, %edx
movq %r15, %rcx
callq 0x2290
cmpl $0x0, 0xc(%rsp)
jle 0x2ffce
movl 0xc(%rsp), %eax
movl %eax, %r13d
negl %r13d
movl $0x1, %r12d
leal 0x1(%r12), %ebp
movq %r15, %rdi
leaq 0x2a0b2(%rip), %rsi     # 0x5a04b
movl %ebp, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x21a0
leal (%r12,%r13), %eax
incl %eax
movl %ebp, %r12d
cmpl $0x1, %eax
jne 0x2ff8a
jmp 0x2ffce
leaq 0x2aadc(%rip), %rdi     # 0x5aa98
movl $0x7, %esi
movl $0x1, %edx
movq %r15, %rcx
callq 0x2290
movl $0xa, %edi
movq %r15, %rsi
callq 0x2140
movl 0xc0(%rsp), %eax
testl %eax, %eax
jle 0x3008b
movl %eax, %eax
movq %rax, 0x10(%rsp)
leaq 0x28d0d(%rip), %r13     # 0x58d05
xorl %r12d, %r12d
imulq $0x158, %r12, %rax      # imm = 0x158
movq 0x18(%rsp), %rdx
movq 0x8(%rdx,%rax), %rcx
movq (%rcx), %rcx
movslq 0x64(%rcx), %rcx
shlq $0x5, %rcx
movsbl (%rdx,%rax), %edx
movq 0xc8(%rsp), %rax
addq %rax, %rcx
addq $0xd, %rcx
movsbl -0x1(%rcx), %r8d
movsbl 0x6(%rcx), %r9d
movq %r15, %rdi
leaq 0x2aa62(%rip), %rsi     # 0x5aaa0
xorl %eax, %eax
callq 0x21a0
cmpl $0x0, 0xc(%rsp)
jle 0x30070
xorl %ebp, %ebp
movq (%r14,%rbp,8), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r12,4), %xmm0
movq %r15, %rdi
movq %r13, %rsi
movb $0x1, %al
callq 0x21a0
incq %rbp
cmpq %rbp, %rbx
jne 0x3004e
movl $0xa, %edi
movq %r15, %rsi
callq 0x2140
incq %r12
cmpq 0x10(%rsp), %r12
jne 0x2fffb
movq %r15, %rdi
callq 0x20c0
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq