// File: /workspace/github_cpp_makefile_star2_O3/atfrank[P]PCASA/lib/Prmtop.cpp
// Function: Prmtop::Prmtop()
Prmtop::Prmtop (){
  mass.clear();
  charge.clear();
  atmtype.clear();
  //Hardcode HIS atom types with doubly deprotonated side chain nitrogens
  atmtype.insert(std::make_pair(std::make_pair("HIS","N"), "NH1"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","HN"), "H"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","CA"), "CT1"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","HA"), "HB1"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","CB"), "CT2"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","HB1"), "HA2"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","HB2"), "HA2"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","ND1"), "NR2"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","HD1"), "H"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","CG"), "CPH1"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","CE1"), "CPH2"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","HE1"), "HR1"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","NE2"), "NR2"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","CD2"), "CPH1"));
  atmtype.insert(std::make_pair(std::make_pair("HIS","HD2"), "HR3"));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
leaq 0x8(%rdi), %rax
xorl %ecx, %ecx
movl %ecx, 0x8(%rdi)
movq %rcx, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
movq %rcx, 0x28(%rdi)
leaq 0x30(%rdi), %r14
leaq 0x38(%rdi), %rax
movl %ecx, 0x38(%rdi)
movq %rcx, 0x40(%rdi)
movq %rax, 0x48(%rdi)
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
leaq 0x60(%rdi), %r15
leaq 0x68(%rdi), %rax
movl %ecx, 0x68(%rdi)
movq %rcx, 0x70(%rdi)
movq %rax, 0x78(%rdi)
movq %rax, 0x80(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x88(%rdi)
movups %xmm0, 0x98(%rdi)
callq 0x2e7e0
movq %r14, %rdi
callq 0x2e7e0
movq %r15, %rdi
callq 0x2e80e
leaq 0xe9e9(%rip), %r12      # 0x3b85d
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xfd51(%rip), %rax      # 0x3cbd2
movq %rax, 0x8(%rsi)
leaq 0xf864(%rip), %rax      # 0x3c6f0
movq %rax, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf84f(%rip), %rax      # 0x3c6f4
movq %rax, 0x8(%rsi)
leaq 0xf847(%rip), %r13      # 0x3c6f7
movq %r13, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xe3b4(%rip), %rax      # 0x3b27d
movq %rax, 0x8(%rsi)
leaq 0xf825(%rip), %rax      # 0x3c6f9
movq %rax, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf810(%rip), %rax      # 0x3c6fd
movq %rax, 0x8(%rsi)
leaq 0xf808(%rip), %rbp      # 0x3c700
movq %rbp, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xe5af(%rip), %rax      # 0x3b4c0
movq %rax, 0x8(%rsi)
leaq 0xf7cc(%rip), %rax      # 0x3c6e8
movq %rax, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
movq %rbp, 0x8(%rsi)
leaq 0xf7cb(%rip), %rbp      # 0x3c704
movq %rbp, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf7b6(%rip), %rax      # 0x3c708
movq %rax, 0x8(%rsi)
movq %rbp, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xe576(%rip), %rax      # 0x3b4e5
movq %rax, 0x8(%rsi)
leaq 0xf792(%rip), %rbp      # 0x3c70c
movq %rbp, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf77d(%rip), %rax      # 0x3c710
movq %rax, 0x8(%rsi)
movq %r13, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xe51e(%rip), %rax      # 0x3b4ce
movq %rax, 0x8(%rsi)
leaq 0xf759(%rip), %r13      # 0x3c714
movq %r13, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf745(%rip), %rax      # 0x3c719
movq %rax, 0x8(%rsi)
leaq 0xf73e(%rip), %rax      # 0x3c71d
movq %rax, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf72a(%rip), %rax      # 0x3c722
movq %rax, 0x8(%rsi)
leaq 0xf723(%rip), %rax      # 0x3c726
movq %rax, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf70e(%rip), %rax      # 0x3c72a
movq %rax, 0x8(%rsi)
movq %rbp, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf6f5(%rip), %rax      # 0x3c72e
movq %rax, 0x8(%rsi)
movq %r13, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
movq %rsp, %rsi
movq %r12, (%rsi)
leaq 0xf6dc(%rip), %rax      # 0x3c732
movq %rax, 0x8(%rsi)
leaq 0xf6d5(%rip), %rax      # 0x3c736
movq %rax, 0x10(%rsi)
movq %r15, %rdi
callq 0x2e83c
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
jmp 0x2d098
movq %rax, %r12
leaq 0x90(%rbx), %rdi
callq 0x6412
movq %r15, %rdi
callq 0x272fc
movq %r14, %rdi
callq 0x273a6
movq %rbx, %rdi
callq 0x273a6
movq %r12, %rdi
callq 0x4550
nop