// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/editscript.c
// Function: gt_editscript_show
void gt_editscript_show(const GtEditscript *editscript, GtAlphabet *alphabet)
{
  GtEditscriptPos pos;
  GtBitsequence elem;
  uint32_t matchcount,
           elems_served = 0;

  editscript_pos_reset(&pos);

  printf("|");
  if (editscript->num_elems != 0) {
    elem = editscript_space_get_next(editscript, &pos);
    elems_served++;
    while (elems_served < editscript->num_elems) {
      gt_assert(elem <= GT_EDITSCRIPT_INS_SYM(editscript));
      matchcount = (uint32_t) editscript_space_get_length(editscript, &pos,
                                                          &elems_served);
      if (elem == GT_EDITSCRIPT_INS_SYM(editscript)) {
        if (matchcount != 0) {
          printf("M(%u)|Ins:|", matchcount);
        }
        else {
          printf("Ins:|");
        }
        while (elems_served < editscript->num_elems) {
          elem = editscript_space_get_next(editscript, &pos);
          elems_served++;
          gt_assert(elem != (GtBitsequence) editscript->del);
          if (elem > (GtBitsequence) editscript->del) {
            break;
          }
          elem = (elem == (GtBitsequence) editscript->del - 1) ?
            (GtBitsequence) GT_WILDCARD :
            elem;
          printf("%c|", (int) gt_alphabet_pretty_symbol(alphabet,
                                                        (uint32_t) elem));
        }
      }
      else {
        gt_assert(elem == GT_EDITSCRIPT_MISDEL_SYM(editscript));
        if (matchcount != 0) {
          printf("M(%u)|Misdel:|", matchcount);
        }
        else {
          printf("Misdel:|");
        }
        while (elems_served < editscript->num_elems) {
          elem = editscript_space_get_next(editscript, &pos);
          elems_served++;
          if (elem > (GtBitsequence) editscript->del) {
            break;
          }
          if (elem < (GtBitsequence) editscript->del) {
            elem = (elem == (GtBitsequence) editscript->del - 1) ?
              (GtBitsequence) GT_WILDCARD :
              elem;
            printf("%c|", (int) gt_alphabet_pretty_symbol(alphabet,
                                                          (uint32_t) elem));
          }
          else
            printf("-|");
        }
      }
    }
  }
  if (editscript->trailing_matches != 0) {
    printf("M(%u)|\n", editscript->trailing_matches);
  }
  else
    printf("\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, 0x10(%rsp)
movq %rdi, %rbx
movl $0x0, 0x8(%rsp)
movl $0x7c, %edi
callq 0x17a20
movl 0xc(%rbx), %eax
testl %eax, %eax
je 0x1392a6
movq (%rbx), %rdx
movzbl 0x15(%rbx), %ecx
movl $0x40, %esi
cmpl $0x41, %ecx
jb 0x139069
movl $0x1, 0x8(%rsp)
movl $0x80, %esi
movq (%rdx), %r15
subl %ecx, %esi
movl %esi, 0xc(%rsp)
movl $0x1, 0x4(%rsp)
cmpl $0x1, %eax
je 0x1392a6
negb %cl
shrq %cl, %r15
movzbl 0x14(%rbx), %r14d
leaq 0x2(%r14), %r12
cmpq %r12, %r15
ja 0x1392e6
movq %rbx, %rdi
leaq 0x8(%rsp), %rsi
leaq 0x4(%rsp), %rdx
callq 0x137ea7
cmpq %r12, %r15
jne 0x1390c7
testl %eax, %eax
je 0x1390f0
leaq 0x2427d8(%rip), %rdi    # 0x37b894
movl %eax, %esi
xorl %eax, %eax
callq 0x17070
jmp 0x1390fe
incq %r14
cmpq %r14, %r15
jne 0x1392eb
testl %eax, %eax
je 0x1391bb
leaq 0x242817(%rip), %rdi    # 0x37b8f9
movl %eax, %esi
xorl %eax, %eax
callq 0x17070
jmp 0x1391c9
leaq 0x2427a3(%rip), %rdi    # 0x37b89a
xorl %eax, %eax
callq 0x17070
movl 0x4(%rsp), %r13d
movl 0x8(%rsp), %ebp
movl 0xc(%rsp), %r12d
movl 0xc(%rbx), %edx
cmpl %edx, %r13d
jae 0x13928f
movl %ebp, %eax
xorl %ebp, %ebp
testl %r12d, %r12d
sete %bpl
movl $0x40, %ecx
cmovel %ecx, %r12d
addl %eax, %ebp
movq (%rbx), %rsi
movq (%rsi,%rbp,8), %r15
movl %r12d, %ecx
negb %cl
shlq %cl, %r15
movl %r13d, %r14d
movzbl 0x15(%rbx), %eax
cmpl %eax, %r12d
jae 0x13915c
incl %ebp
movq (%rsi,%rbp,8), %rsi
movl %r12d, %ecx
shrq %cl, %rsi
orq %rsi, %r15
addl $0x40, %r12d
subl %eax, %r12d
negb %al
movl %eax, %ecx
shrq %cl, %r15
leal 0x1(%r14), %r13d
movzbl 0x14(%rbx), %eax
cmpq %rax, %r15
je 0x1392e1
ja 0x139289
decq %rax
cmpq %rax, %r15
movl $0xfe, %eax
cmoveq %rax, %r15
movq 0x10(%rsp), %rdi
movl %r15d, %esi
callq 0xd15a9
movzbl %al, %esi
leaq 0x242725(%rip), %rdi    # 0x37b8c8
xorl %eax, %eax
callq 0x17070
movl 0xc(%rbx), %edx
cmpl %edx, %r13d
jb 0x139118
jmp 0x139289
leaq 0x24273d(%rip), %rdi    # 0x37b8ff
xorl %eax, %eax
callq 0x17070
movl 0x4(%rsp), %r13d
movl 0x8(%rsp), %ebp
movl 0xc(%rsp), %r12d
movl 0xc(%rbx), %edx
cmpl %edx, %r13d
jae 0x13928f
movl %ebp, %eax
xorl %ebp, %ebp
testl %r12d, %r12d
sete %bpl
movl $0x40, %ecx
cmovel %ecx, %r12d
addl %eax, %ebp
movq (%rbx), %rsi
movq (%rsi,%rbp,8), %r15
movl %r12d, %ecx
negb %cl
shlq %cl, %r15
movl %r13d, %r14d
movzbl 0x15(%rbx), %eax
cmpl %eax, %r12d
jae 0x139227
incl %ebp
movq (%rsi,%rbp,8), %rsi
movl %r12d, %ecx
shrq %cl, %rsi
orq %rsi, %r15
addl $0x40, %r12d
subl %eax, %r12d
negb %al
movl %eax, %ecx
shrq %cl, %r15
leal 0x1(%r14), %r13d
movzbl 0x14(%rbx), %eax
cmpq %rax, %r15
ja 0x139289
jae 0x13926f
decq %rax
cmpq %rax, %r15
movl $0xfe, %eax
cmoveq %rax, %r15
movq 0x10(%rsp), %rdi
movl %r15d, %esi
callq 0xd15a9
movzbl %al, %esi
leaq 0x242662(%rip), %rdi    # 0x37b8c8
xorl %eax, %eax
callq 0x17070
jmp 0x13927d
leaq 0x242692(%rip), %rdi    # 0x37b908
xorl %eax, %eax
callq 0x17070
movl 0xc(%rbx), %edx
cmpl %edx, %r13d
jb 0x1391e3
incl %r14d
movl %r14d, %r13d
movl %r13d, 0x4(%rsp)
movl %r12d, 0xc(%rsp)
movl %ebp, 0x8(%rsp)
cmpl %edx, %r13d
jb 0x139088
movl 0x10(%rbx), %esi
testl %esi, %esi
je 0x1392c9
leaq 0x242657(%rip), %rdi    # 0x37b90b
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x17070
movl $0xa, %edi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x17a20
callq 0x40163
callq 0x4019c
callq 0x4012a