// File: /workspace/github_c_makefile_star2_O2/ugobas[P]tnm/confchange.c
// Function: Print_force_confchange
void Print_force_confchange(struct Normal_Mode NM, struct Tors Diff,
			    atom *atoms, struct axe *axes, int N_axes,
			    struct residue *seq, int N_res,
			    char *nameout2)
{
  // Squared conformation changes
  struct Tors Diff2;   int i;
  Allocate_tors(&Diff2, NM.N_axes, NM.N_Cart, NM.N);
  for(i=0; i<NM.N_Cart;  i++){
    Diff2.Cart[i]=Diff.Cart[i]*Diff.Cart[i];
  }
  for(i=0; i<NM.N_axes;  i++){
    Diff2.Tors[i]=Diff.Tors[i]*Diff.Tors[i];
    Diff2.MW_Tors[i]=Diff.MW_Tors[i]*Diff.MW_Tors[i];
  }

  Print_change(NM.cart_fluct, Diff2.Cart, N_res,  nameout2, "Cart");
  Print_change(NM.tors_fluct, Diff2.Tors, N_axes, nameout2, "Tors");
  char namepdb[200];
  sprintf(namepdb, "%s1.pdb", nameout2);
  Print_tors_fluct(axes,N_axes,Diff2.Tors,atoms,seq,namepdb,"CONFCHANGE");
  sprintf(namepdb, "%s2.pdb", nameout2);
  Print_tors_fluct(axes,N_axes, NM.tors_fluct,atoms,seq,namepdb,"FLUCT");

  Empty_tors(Diff2);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %r9, %r12
movl %r8d, 0x48(%rsp)
movq %rcx, 0x68(%rsp)
movl %edx, 0x54(%rsp)
movq %rsi, 0x58(%rsp)
movq %rdi, 0x60(%rsp)
leaq 0x280(%rsp), %rbp
leaq 0x1b0(%rsp), %r15
movl (%r15), %ecx
movl 0x8(%r15), %ebx
movl 0xc(%r15), %r13d
leaq 0x70(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %r13d, %edx
callq 0x10444
movq 0x8(%rbp), %rax
movq 0x8(%r14), %rsi
xorl %ecx, %ecx
testl %r13d, %r13d
cmovlel %ecx, %r13d
cmpq %rcx, %r13
je 0x2bd35
movss (%rax,%rcx,4), %xmm0
mulss %xmm0, %xmm0
movss %xmm0, (%rsi,%rcx,4)
incq %rcx
jmp 0x2bd1d
movq 0x10(%rbp), %rax
movq 0x18(%rbp), %rcx
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rdi
xorl %r8d, %r8d
testl %ebx, %ebx
cmovlel %r8d, %ebx
cmpq %r8, %rbx
je 0x2bd80
movss (%rcx,%r8,4), %xmm0
mulss %xmm0, %xmm0
movss %xmm0, (%rdi,%r8,4)
movss (%rax,%r8,4), %xmm0
mulss %xmm0, %xmm0
movss %xmm0, (%rdx,%r8,4)
incq %r8
jmp 0x2bd56
movq 0x58(%r15), %rdi
leaq 0x2378d(%rip), %r8      # 0x4f518
movl 0x48(%rsp), %edx
movq %r12, %rcx
callq 0x3d22b
movq 0x50(%r15), %rdi
movq %rdi, 0x48(%rsp)
movq 0x88(%rsp), %rsi
leaq 0x1ffc8(%rip), %r8      # 0x4bd77
movl 0x54(%rsp), %ebp
movl %ebp, %edx
movq %r12, %rcx
callq 0x3d22b
leaq 0x28890(%rip), %rsi     # 0x54654
leaq 0xb0(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x2260
movq 0x88(%rsp), %rdx
leaq 0x28874(%rip), %rax     # 0x5465c
movq %rax, (%rsp)
movq %r12, %r13
movq 0x58(%rsp), %r12
movq %r12, %rdi
movl %ebp, %esi
movq 0x60(%rsp), %r15
movq %r15, %rcx
movq 0x68(%rsp), %r14
movq %r14, %r8
movq %rbx, %r9
callq 0x3cc02
leaq 0x2884f(%rip), %rsi     # 0x54667
movq %rbx, %rdi
movq %r13, %rdx
xorl %eax, %eax
callq 0x2260
leaq 0x28843(%rip), %rax     # 0x5466f
movq %rax, (%rsp)
movq %r12, %rdi
movl %ebp, %esi
movq 0x48(%rsp), %rdx
movq %r15, %rcx
movq %r14, %r8
movq %rbx, %r9
callq 0x3cc02
movups 0x70(%rsp), %xmm0
movups 0x80(%rsp), %xmm1
movups 0x90(%rsp), %xmm2
movups 0xa0(%rsp), %xmm3
movups %xmm3, 0x30(%rsp)
movups %xmm2, 0x20(%rsp)
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
callq 0x104a1
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq