// File: /workspace/github_c_makefile_star2_O2/fukunagatsu[P]RIblast/raccess.cpp
// Function: Raccess::Initiallize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
void Raccess::Initiallize(string &sequence){
  _seq_length = sequence.length();
  _int_sequence.resize(_seq_length+1);
  for(int i = 0;i < _seq_length;i++){
    if(sequence[i] == 'A' || sequence[i] == 'a'){
      _int_sequence[i+1] = 1;
    }else if(sequence[i] == 'C' || sequence[i] == 'c'){
      _int_sequence[i+1] = 2;
    }else if(sequence[i] == 'G' || sequence[i] == 'g'){
      _int_sequence[i+1] = 3;
    }else if(sequence[i] == 'T' || sequence[i] == 't' || sequence[i] == 'U' || sequence[i] == 'u'){
      _int_sequence[i+1] = 4;
    }else{
      _int_sequence[i+1] = 0;
    }
  }
  
  _Alpha_outer.resize(_seq_length+1, 0);
  _Alpha_stem.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Alpha_stemend.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Alpha_multi.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Alpha_multibif.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Alpha_multi1.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Alpha_multi2.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  

  _Beta_outer.resize(_seq_length+1, 0);
  _Beta_stem.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Beta_stemend.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Beta_multi.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Beta_multibif.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Beta_multi1.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
  _Beta_multi2.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movl 0x8(%rsi), %eax
movl %eax, 0x62110(%rdi)
addq $0x620f8, %rdi          # imm = 0x620F8
incl %eax
movslq %eax, %rsi
callq 0x6456
movq (%r14), %rax
movq 0x620f8(%rbx), %rcx
xorl %edx, %edx
pushq $0x1
popq %rdi
pushq $0x4
popq %r8
pushq $0x2
popq %r9
pushq $0x3
popq %r10
movslq 0x62110(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x6fca
movzbl (%rax,%rdx), %esi
leal -0x54(%rsi), %r11d
cmpl $0x2, %r11d
jb 0x6fb3
leal -0x74(%rsi), %r11d
cmpl $0x2, %r11d
jb 0x6fb3
movl %edi, %r11d
cmpl $0x41, %esi
je 0x6fc0
cmpl $0x43, %esi
je 0x6fae
cmpl $0x47, %esi
je 0x6fb8
movl %edi, %r11d
cmpl $0x61, %esi
je 0x6fc0
cmpl $0x67, %esi
je 0x6fb8
cmpl $0x63, %esi
jne 0x6fbd
movl %r9d, %r11d
jmp 0x6fc0
movl %r8d, %r11d
jmp 0x6fc0
movl %r10d, %r11d
jmp 0x6fc0
xorl %r11d, %r11d
movl %r11d, 0x4(%rcx,%rdx,4)
incq %rdx
jmp 0x6f66
leaq 0x62140(%rbx), %rdi
incq %rsi
leaq 0x10(%rsp), %rdx
andq $0x0, (%rdx)
callq 0xa746
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
movabsq $-0x3ed17b8000000000, %r15 # imm = 0xC12E848000000000
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62158(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62170(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62188(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x621a0(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x621b8(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x621d0(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x6a68
leaq 0x621e8(%rbx), %rdi
movslq 0x62110(%rbx), %rsi
incq %rsi
andq $0x0, (%r14)
leaq 0x10(%rsp), %rdx
callq 0xa746
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62200(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62218(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62230(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62248(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
leaq 0x62260(%rbx), %rdi
leaq 0x10(%rsp), %rdx
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
movslq 0x62110(%rbx), %r14
movslq 0x62114(%rbx), %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0xa7b6
incq %r14
addq $0x62278, %rbx          # imm = 0x62278
leaq 0x10(%rsp), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa77a
leaq 0x10(%rsp), %rdi
callq 0x6a68
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
jmp 0x73bf
jmp 0x73ce
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6a68
jmp 0x73d1
movq %rax, %rbx
movq %rbx, %rdi
callq 0x33a0
nop