// File: /workspace/github_c_makefile_star2_O3/fukunagatsu[P]RIblast/./seed_search.h
// Function: SeedSearch::SeedSearch(int, int, int, double)
SeedSearch(int h, int l, int mal, double he){
    _max_seed_length = l;
    _pair_size = 6;
    _hash_size = h;
    _min_accessible_length = mal;
    _hybrid_energy_threshold = he;
    
    _stem_pair.resize(_pair_size);
    _stem_pair[0].push_back(3); _stem_pair[0].push_back(4);
    _stem_pair[1].push_back(4); _stem_pair[1].push_back(3);
    _stem_pair[2].push_back(4); _stem_pair[2].push_back(5);
    _stem_pair[3].push_back(5); _stem_pair[3].push_back(4);
    _stem_pair[4].push_back(2); _stem_pair[4].push_back(5);
    _stem_pair[5].push_back(5); _stem_pair[5].push_back(2);
    _hit_candidate_result.reserve(5000);
  }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
xorps %xmm1, %xmm1
movups %xmm1, (%rdi)
xorl %eax, %eax
movq %rax, 0x10(%rdi)
leaq 0x30(%rdi), %r14
movups %xmm1, 0x30(%rdi)
movq %rax, 0x40(%rdi)
movl %edx, 0x1c(%rdi)
movl $0x6, 0x18(%rdi)
movl %esi, 0x20(%rdi)
movl %ecx, 0x24(%rdi)
movsd %xmm0, 0x28(%rdi)
movl $0x6, %esi
callq 0x12b3c
movq (%rbx), %rdi
movl $0x3, 0xc(%rsp)
movq 0x8(%rdi), %rsi
movq 0x10(%rdi), %rax
cmpq %rax, %rsi
je 0x12627
movl $0x3, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rdi)
jmp 0x1263c
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movq 0x8(%rdi), %rsi
movq 0x10(%rdi), %rax
movl $0x4, 0xc(%rsp)
cmpq %rax, %rsi
je 0x12659
movl $0x4, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rdi)
jmp 0x12666
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movl $0x4, 0xc(%rsp)
movq 0x20(%rdi), %rsi
movq 0x28(%rdi), %rax
cmpq %rax, %rsi
je 0x1268b
movl $0x4, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x20(%rdi)
jmp 0x126a4
addq $0x18, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movq 0x20(%rdi), %rsi
movq 0x28(%rdi), %rax
movl $0x3, 0xc(%rsp)
cmpq %rax, %rsi
je 0x126c1
movl $0x3, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x20(%rdi)
jmp 0x126d2
addq $0x18, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movl $0x4, 0xc(%rsp)
movq 0x38(%rdi), %rsi
movq 0x40(%rdi), %rax
cmpq %rax, %rsi
je 0x126f7
movl $0x4, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x38(%rdi)
jmp 0x12710
addq $0x30, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movq 0x38(%rdi), %rsi
movq 0x40(%rdi), %rax
movl $0x5, 0xc(%rsp)
cmpq %rax, %rsi
je 0x1272d
movl $0x5, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x38(%rdi)
jmp 0x1273e
addq $0x30, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movl $0x5, 0xc(%rsp)
movq 0x50(%rdi), %rsi
movq 0x58(%rdi), %rax
cmpq %rax, %rsi
je 0x12763
movl $0x5, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x50(%rdi)
jmp 0x1277c
addq $0x48, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movq 0x50(%rdi), %rsi
movq 0x58(%rdi), %rax
movl $0x4, 0xc(%rsp)
cmpq %rax, %rsi
je 0x12799
movl $0x4, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x50(%rdi)
jmp 0x127aa
addq $0x48, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movl $0x2, 0xc(%rsp)
movq 0x68(%rdi), %rsi
movq 0x70(%rdi), %rax
cmpq %rax, %rsi
je 0x127cf
movl $0x2, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x68(%rdi)
jmp 0x127e8
addq $0x60, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movq 0x68(%rdi), %rsi
movq 0x70(%rdi), %rax
movl $0x5, 0xc(%rsp)
cmpq %rax, %rsi
je 0x12805
movl $0x5, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x68(%rdi)
jmp 0x12816
addq $0x60, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movl $0x5, 0xc(%rsp)
movq 0x80(%rdi), %rsi
movq 0x88(%rdi), %rax
cmpq %rax, %rsi
je 0x12844
movl $0x5, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x80(%rdi)
jmp 0x12863
addq $0x78, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movq (%rbx), %rdi
movq 0x80(%rdi), %rsi
movq 0x88(%rdi), %rax
movl $0x2, 0xc(%rsp)
cmpq %rax, %rsi
je 0x12883
movl $0x2, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x80(%rdi)
jmp 0x12891
addq $0x78, %rdi
leaq 0xc(%rsp), %rdx
callq 0x132d6
movl $0x1388, %esi           # imm = 0x1388
movq %r14, %rdi
callq 0x12b78
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
jmp 0x128c0
movq %rax, %r15
movq (%r14), %rdi
testq %rdi, %rdi
je 0x128d7
movq 0x40(%rbx), %rsi
subq %rdi, %rsi
callq 0x3230
movq %rbx, %rdi
callq 0x4972
movq %r15, %rdi
callq 0x33e0
nop