// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/multieoplist.c
// Function: gt_multieoplist_show
void gt_multieoplist_show(const GtMultieoplist *multieops, FILE *fp)
{
  GtUword stepssum,
          num = multieops->meoplist.nextfreeEop;
  Eop *space, *last, *next;

  if (num == 0)
  {
    gt_xfputs("[]\n", fp);
    return;
  }
  gt_assert(multieops != NULL);
  space = multieops->meoplist.spaceEop;

  gt_xfputc('[', fp);
  last = space + num - 1;
  next = space + num - 2;
  stepssum = (GtUword) (*last & GT_MEOPS_STEPS_MASK);
  while (next >= space) {
    if (*last >> GT_MEOPS_STEPS_BITS ==
        *next >> GT_MEOPS_STEPS_BITS) {
      stepssum += *next & GT_MEOPS_STEPS_MASK;
      last--;
      next--;
    }
    else {
      switch (*last >> GT_MEOPS_STEPS_BITS) {
        case GT_MEOPS_MATCH:
          gt_xfputc('M', fp);
          break;
        case GT_MEOPS_MIS:
          gt_xfputc('R', fp);
          break;
        case GT_MEOPS_INS:
          gt_xfputc('I', fp);
          break;
        case GT_MEOPS_DEL:
          gt_xfputc('D', fp);
          break;
      }
      fprintf(fp, " %u, ", (unsigned int) stepssum);
      last--;
      stepssum = (GtUword) (*last & GT_MEOPS_STEPS_MASK);
      next = last - 1;
    }
    gt_assert(next + 1 == last);
  }
  gt_assert(num == 0 || last == space);
  switch (*last >> GT_MEOPS_STEPS_BITS) {
    case GT_MEOPS_MATCH:
      gt_xfputc('M', fp);
      break;
    case GT_MEOPS_MIS:
      gt_xfputc('R', fp);
      break;
    case GT_MEOPS_INS:
      gt_xfputc('I', fp);
      break;
    case GT_MEOPS_DEL:
      gt_xfputc('D', fp);
      break;
  }
  fprintf(fp, " %u", (unsigned int) stepssum);
  gt_xfputs("]\n", fp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq 0x18(%rdi), %r14
testq %r14, %r14
je 0x101d31
movq 0x8(%rdi), %r12
pushq $0x5b
popq %rdi
movq %rbx, %rsi
callq 0xb2f2e
leaq (%r12,%r14), %rbp
decq %rbp
leaq (%r12,%r14), %rax
addq $-0x2, %rax
movzbl 0x1(%rax), %r14d
andl $0x3f, %r14d
leaq 0x22baa4(%rip), %r13    # 0x32d6fc
leaq 0x22b49e(%rip), %r15    # 0x32d0fd
cmpq %r12, %rax
jb 0x101cfa
movzbl (%rbp), %edx
shrl $0x6, %edx
movzbl (%rax), %ecx
movl %ecx, %esi
shrl $0x6, %esi
cmpl %edx, %esi
jne 0x101c89
andl $0x3f, %ecx
addq %rcx, %r14
decq %rbp
decq %rax
jmp 0x101cb9
movl (%r13,%rdx,4), %edi
movq %rbx, %rsi
callq 0xb2f2e
movq %rbx, %rdi
movq %r15, %rsi
movl %r14d, %edx
xorl %eax, %eax
callq 0x17a50
movzbl -0x1(%rbp), %r14d
movq %rbp, %rax
decq %rbp
andl $0x3f, %r14d
addq $-0x2, %rax
leaq 0x1(%rax), %rcx
cmpq %rbp, %rcx
je 0x101c5f
movq 0x33629f(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1e3340(%rip), %rsi    # 0x2e5013
leaq 0x22b429(%rip), %rdx    # 0x32d103
leaq 0x22b407(%rip), %rcx    # 0x32d0e8
leaq 0x22b270(%rip), %r8     # 0x32cf58
movl $0x14c, %r9d            # imm = 0x14C
xorl %eax, %eax
callq 0x17a50
callq 0x17390
cmpq %r12, %rbp
jne 0x101d4e
movzbl (%r12), %eax
shrl $0x6, %eax
movl (%r13,%rax,4), %edi
movq %rbx, %rsi
callq 0xb2f2e
leaq 0x21afd3(%rip), %rsi    # 0x31ccee
movq %rbx, %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0x17a50
leaq 0x2199a1(%rip), %rdi    # 0x31b6d0
jmp 0x101d38
leaq 0x22b3ac(%rip), %rdi    # 0x32d0e4
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xb2f4f
movq 0x336213(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1e32b4(%rip), %rsi    # 0x2e5013
leaq 0x22b3ae(%rip), %rdx    # 0x32d114
leaq 0x22b37b(%rip), %rcx    # 0x32d0e8
leaq 0x22b1e4(%rip), %r8     # 0x32cf58
movl $0x14e, %r9d            # imm = 0x14E
jmp 0x101cee