// File: Kingsford-Group[P]ghost2/src/blastDistance.hpp
// Function: getBlastMap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
blastMap getBlastMap(string filename)
{
  blastMap bevals;
  ifstream fin (filename);
  if(!fin.good()) {std::cout << "sequencescores file is bad\n"; exit(0);}
  while(1)
  {
    string n1,n2;
    double d;
    fin >> n1 >> n2 >> d;
    if(fin.eof()) break;
    bevals[make_pair(n1,n2)] = d;
  }
  fin.close();
  return bevals;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %rsi, -0x2c8(%rbp)
movq %rdi, -0x2d8(%rbp)
movq %rdi, %rax
movq %rax, -0x2d0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x266b0
movq -0x2c8(%rbp), %rsi
leaq -0x220(%rbp), %rdi
movl $0x8, %edx
callq 0x10bd0
jmp 0x1708e
movq -0x220(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x220(%rbp,%rax), %rdi
callq 0x10c60
movb %al, -0x2d9(%rbp)
jmp 0x170ae
movb -0x2d9(%rbp), %al
testb $0x1, %al
jne 0x17104
jmp 0x170ba
movq 0x119ed7(%rip), %rdi    # 0x130f98
leaq 0xa57a7(%rip), %rsi     # 0xbc86f
callq 0x106c0
jmp 0x170cf
xorl %edi, %edi
callq 0x10890
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x172f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x172ca
jmp 0x17106
jmp 0x17108
leaq -0x250(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0x109f0
leaq -0x270(%rbp), %rdi
callq 0x109f0
movq -0x2f0(%rbp), %rsi
leaq -0x220(%rbp), %rdi
callq 0x10910
movq %rax, -0x2e8(%rbp)
jmp 0x17143
movq -0x2e8(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x10910
movq %rax, -0x2f8(%rbp)
jmp 0x1715f
movq -0x2f8(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x10590
jmp 0x17174
movq -0x220(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x220(%rbp,%rax), %rdi
callq 0x10d60
movb %al, -0x2f9(%rbp)
jmp 0x17194
movb -0x2f9(%rbp), %al
testb $0x1, %al
jne 0x171a0
jmp 0x171c6
movl $0x3, -0x27c(%rbp)
jmp 0x17237
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x17280
movsd -0x278(%rbp), %xmm0
movsd %xmm0, -0x308(%rbp)
leaq -0x2c0(%rbp), %rdi
leaq -0x250(%rbp), %rsi
leaq -0x270(%rbp), %rdx
callq 0x267a0
jmp 0x171f2
movq -0x2d8(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x26740
movq %rax, -0x310(%rbp)
jmp 0x1720e
movq -0x310(%rbp), %rax
movsd -0x308(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x2c0(%rbp), %rdi
callq 0x267e0
movl $0x0, -0x27c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x10460
leaq -0x250(%rbp), %rdi
callq 0x10460
movl -0x27c(%rbp), %eax
testl %eax, %eax
je 0x1725d
jmp 0x1725b
jmp 0x1729a
jmp 0x17106
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x267e0
leaq -0x270(%rbp), %rdi
callq 0x10460
leaq -0x250(%rbp), %rdi
callq 0x10460
jmp 0x172ca
leaq -0x220(%rbp), %rdi
callq 0x10170
jmp 0x172a8
movb $0x1, -0x11(%rbp)
movl $0x1, -0x27c(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x101b0
testb $0x1, -0x11(%rbp)
jne 0x172e4
jmp 0x172d8
leaq -0x220(%rbp), %rdi
callq 0x101b0
jmp 0x172f4
movq -0x2d8(%rbp), %rdi
callq 0x26810
movq -0x2d0(%rbp), %rax
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
movq -0x2d8(%rbp), %rdi
callq 0x26810
movq -0x228(%rbp), %rdi
callq 0x10cc0
nopl (%rax)