// File: /workspace/github_cpp_makefile_star2_O3/atfrank[P]PCASA/lib/Trajectory.cpp
// Function: Trajectory::showHeader()
void Trajectory::showHeader(){
  for (unsigned int i=0; i< title.size(); i++){
    std::cout << title[i] << std::endl;
  }
  std::cout << std::fixed;
  std::cout << std::setw(25) << std::left << "Atoms" << ": " << natom << std::endl;
  if (nframe == 0){
    std::cout << std::setw(25) << std::left << "Frames" << ": " << nframe << " ***Warning: Zero frames detected!***" << std::endl;
  }
  else{
    std::cout << std::setw(25) << std::left << "Frames" << ": " << nframe << std::endl;
  }
  std::cout << std::setw(25) << std::left << "Start Frame" << ": " << npriv << std::endl;
  std::cout << std::setw(25) << std::left << "Save Frequency" << ": " << nsavc << std::endl;
  std::cout << std::setw(25) << std::left << "Dynamics Steps" << ": " << nstep << std::endl;
  std::cout << std::setw(25) << std::left << "Degrees of Freedom" << ": " << dof << std::endl;
  std::cout << std::setw(25) << std::left << "Number of Fixed" << ": " << nfixed << std::endl;
  std::cout << std::setw(25) << std::left << "Time Step (ps)" << ": " << this->getTStepPS() << std::endl;
  std::cout << std::setw(25) << std::left << "Start Time (ps)" << ": " << npriv*this->getTStepPS()/nsavc << std::endl;
  std::cout << std::setw(25) << std::left << "Periodic Boundaries" << ": " << qcrystal << std::endl;
  std::cout << std::setw(25) << std::left << "4D Trajectory" << ": " << q4d << std::endl;
  std::cout << std::setw(25) << std::left << "Fluctuating Charges" << ": " << qcharge << std::endl;
  std::cout << std::setw(25) << std::left << "Consistency Check" << ": " << qcheck << std::endl;
  std:: cout << std::setw(25) << std::left << "Version" << ": " << version << std::endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xb0(%rdi), %rax
cmpq %rax, 0xb8(%rdi)
je 0x37b21
movl $0x1, %ebp
xorl %ecx, %ecx
movq 0x3b8504(%rip), %r14    # 0x3effc8
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
movq %r14, %rdi
callq 0x4340
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl %ebp, %ecx
movq 0xb0(%rbx), %rax
movq 0xb8(%rbx), %rdx
subq %rax, %rdx
sarq $0x5, %rdx
incl %ebp
cmpq %rcx, %rdx
ja 0x37ac4
movq 0x3b84a0(%rip), %r14    # 0x3effc8
movq (%r14), %rax
movq -0x18(%rax), %rcx
movl $0xfffffefb, %edx       # imm = 0xFFFFFEFB
andl 0x18(%r14,%rcx), %edx
orl $0x4, %edx
movl %edx, 0x18(%r14,%rcx)
movq -0x18(%rax), %rcx
movl $0x19, %r13d
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl $0xffffff4f, %ebp       # imm = 0xFFFFFF4F
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x54df(%rip), %rsi      # 0x3d04e
movl $0x5, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x55c0(%rip), %r15      # 0x3d143
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xc8(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl 0x78(%rbx), %r12d
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x545f(%rip), %rsi      # 0x3d054
movl $0x6, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x78(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r15
testl %r12d, %r12d
jne 0x37c39
leaq 0x542f(%rip), %rsi      # 0x3d05b
movl $0x25, %edx
movq %r15, %rdi
callq 0x4340
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x53fb(%rip), %rsi      # 0x3d081
movl $0xb, %edx
movq %r14, %rdi
callq 0x4340
leaq 0x54a9(%rip), %r15      # 0x3d143
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x7c(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5388(%rip), %rsi      # 0x3d08d
movl $0xe, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x80(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x531c(%rip), %rsi      # 0x3d09c
movl $0xe, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x84(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x52b0(%rip), %rsi      # 0x3d0ab
movl $0x12, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x90(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5248(%rip), %rsi      # 0x3d0be
movl $0xf, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x94(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x51dd(%rip), %rsi      # 0x3d0ce
movl $0xe, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
cvtss2sd 0x98(%rbx), %xmm0
cvtsi2sdl 0x80(%rbx), %xmm1
mulsd 0x506a(%rip), %xmm0     # 0x3cf90
mulsd %xmm0, %xmm1
movsd 0x504e(%rip), %xmm2     # 0x3cf80
mulsd %xmm2, %xmm1
addsd 0x351a(%rip), %xmm1     # 0x3b458
cvttpd2dq %xmm1, %xmm0
cvtdq2pd %xmm0, %xmm0
divsd %xmm2, %xmm0
movq %r14, %rdi
callq 0x44a0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x513b(%rip), %rsi      # 0x3d0dd
movl $0xf, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
xorps %xmm1, %xmm1
cvtsi2sdl 0x7c(%rbx), %xmm1
xorps %xmm0, %xmm0
cvtss2sd 0x98(%rbx), %xmm0
xorps %xmm2, %xmm2
cvtsi2sdl 0x80(%rbx), %xmm2
mulsd 0x4fab(%rip), %xmm0     # 0x3cf90
mulsd %xmm2, %xmm0
movsd 0x4f8f(%rip), %xmm3     # 0x3cf80
mulsd %xmm3, %xmm0
addsd 0x345b(%rip), %xmm0     # 0x3b458
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
divsd %xmm3, %xmm0
mulsd %xmm1, %xmm0
divsd %xmm2, %xmm0
movq %r14, %rdi
callq 0x44a0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x5084(%rip), %rsi      # 0x3d0ed
movl $0x13, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0x9c(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x501d(%rip), %rsi      # 0x3d101
movl $0xd, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xa0(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x4fb0(%rip), %rsi      # 0x3d10f
movl $0x13, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xa4(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl %ebp, %ecx
orl $0x20, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x4f49(%rip), %rsi      # 0x3d123
movl $0x11, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xa8(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq (%r14), %rax
movq -0x18(%rax), %rcx
movq %r13, 0x10(%r14,%rcx)
movq -0x18(%rax), %rax
andl 0x18(%r14,%rax), %ebp
orl $0x20, %ebp
movl %ebp, 0x18(%r14,%rax)
leaq 0x4ee2(%rip), %rsi      # 0x3d135
movl $0x7, %edx
movq %r14, %rdi
callq 0x4340
movl $0x2, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x4340
movl 0xac(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x41f0