// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/./alignment.hpp
// Function: Alignment_sp::AmrMutation::apply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) const
void apply (string &seq) const
    { if (pos_real >= seq. size ())
        throw runtime_error ("AmrMutation position " + to_string (pos_real) + " is outside the sequence: " + seq);
      if (frameshift != no_index)
        throw runtime_error ("AmrMutation is a frameshift");
      if (verbose ())
        cerr         << seq. substr (0, pos_real) 
             << endl << allele 
             << endl << seq. substr (pos_real + reference. size ())
             << endl;
      seq = seq. substr (0, pos_real) + allele + seq. substr (pos_real + reference. size ());
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x88, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rdi), %rax
cmpq 0x8(%rsi), %rax
jae 0xe69e
cmpq $-0x1, 0x98(%r14)
jne 0xe71d
xorl %edi, %edi
callq 0x15d77
testb %al, %al
je 0xe607
movq 0x8(%r14), %rcx
leaq 0x28(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xc5f0
movq 0x7aa49(%rip), %rdi     # 0x88fe8
movq %r15, %rsi
callq 0xc540
movq %rax, %rdi
callq 0xc300
leaq 0x50(%r14), %rsi
movq %rax, %rdi
callq 0xc540
movq %rax, %rdi
callq 0xc300
movq %rax, %r15
movq 0x38(%r14), %rdx
addq 0x8(%r14), %rdx
leaq 0x8(%rsp), %rdi
pushq $-0x1
popq %rcx
movq %rbx, %rsi
callq 0xc5f0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0xc540
movq %rax, %rdi
callq 0xc300
leaq 0x8(%rsp), %rdi
callq 0xcbe8
leaq 0x28(%rsp), %rdi
callq 0xcbe8
movq 0x8(%r14), %rcx
leaq 0x68(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xc5f0
leaq 0x50(%r14), %rdx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
callq 0xe7fa
movq 0x38(%r14), %rdx
addq 0x8(%r14), %rdx
leaq 0x48(%rsp), %rdi
pushq $-0x1
popq %rcx
movq %rbx, %rsi
callq 0xc5f0
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0xe26e
leaq 0x28(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xc710
movq %r14, %rdi
callq 0xcbe8
leaq 0x48(%rsp), %rdi
callq 0xcbe8
leaq 0x8(%rsp), %rdi
callq 0xcbe8
leaq 0x68(%rsp), %rdi
callq 0xcbe8
addq $0x88, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0xc310
movq %rax, %r15
movq 0x8(%r14), %rsi
leaq 0x48(%rsp), %rdi
callq 0xe83d
leaq 0x4fb91(%rip), %rsi     # 0x5e24f
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0xe819
leaq 0x4fb91(%rip), %rdx     # 0x5e265
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0xe24f
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movq %rbx, %rdx
callq 0xe7fa
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r15, %rdi
callq 0xc990
xorl %ebp, %ebp
movq 0x7a8e2(%rip), %rsi     # 0x88ff0
movq 0x7a853(%rip), %rdx     # 0x88f68
movq %r15, %rdi
callq 0xca40
pushq $0x10
popq %rdi
callq 0xc310
movq %rax, %r14
leaq 0x4fb51(%rip), %rsi     # 0x5e280
movq %rax, %rdi
callq 0xc280
movq 0x7a8b2(%rip), %rsi     # 0x88ff0
movq 0x7a823(%rip), %rdx     # 0x88f68
movq %r14, %rdi
callq 0xca40
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xcbe8
jmp 0xe762
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x8(%rsp), %rdi
callq 0xcbe8
jmp 0xe774
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x68(%rsp), %rdi
callq 0xcbe8
jmp 0xe786
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x48(%rsp), %rdi
callq 0xcbe8
testb %bpl, %bpl
jne 0xe7a4
jmp 0xe7f2
jmp 0xe7e5
movq %rax, %rbx
movq %r14, %rdi
jmp 0xe7a7
movq %rax, %rbx
movq %r15, %rdi
callq 0xc470
jmp 0xe7f2
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xcbe8
jmp 0xe7cf
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xcbe8
jmp 0xe7e8
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xcbe8
jmp 0xe7de
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
jmp 0xe7ed
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xcbe8
movq %rbx, %rdi
callq 0xcaa0