// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/sfx-suffixgetset.c
// Function: gt_suffixsortspace_delete_cloned
void gt_suffixsortspace_delete_cloned(GtSuffixsortspace **sssp_tab,
                                      unsigned int parts)
{
  bool found = false;
  unsigned int p;

  gt_assert(sssp_tab != NULL && parts > 1U && sssp_tab[0]->clonenumber == 0);
  for (p = 1U; p < parts; p++)
  {
    GtSuffixsortspace *sssp = sssp_tab[p];

    gt_assert(sssp->clonenumber == p);
    if (!found && sssp->longestidx.defined)
    {
      GtUword zerotest;
      gt_assert(sssp->longestidx.valueunsignedlong >= sssp->partoffset);
      zerotest = sssp->longestidx.valueunsignedlong - sssp->partoffset;
      if ((sssp->ulongtab != NULL && sssp->ulongtab[zerotest] == 0) ||
          (sssp->uinttab != NULL && sssp->uinttab[zerotest] == 0))
      {
        sssp_tab[0]->longestidx.defined = true;
        sssp_tab[0]->longestidx.valueunsignedlong
          = sssp->longestidx.valueunsignedlong;
        found = true;
      }
    }
    gt_suffixsortspace_delete(sssp_tab[p],false);
    sssp_tab[p] = NULL;
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movl %esi, 0x1c(%rsp)
movb $0x0, 0x1b(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x2ea5ef
cmpl $0x1, 0x1c(%rsp)
jbe 0x2ea5ef
movq 0x20(%rsp), %rax
movq (%rax), %rax
cmpl $0x0, 0x4(%rax)
je 0x2ea627
movq 0x3519aa(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x22ba13(%rip), %rsi    # 0x516013
leaq 0x2a3d77(%rip), %rdx    # 0x58e37e
leaq 0x2a3db0(%rip), %rcx    # 0x58e3be
leaq 0x2a39ae(%rip), %r8     # 0x58dfc3
movl $0x1a9, %r9d            # imm = 0x1A9
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2ea629
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
cmpl 0x1c(%rsp), %eax
jae 0x2ea7b5
movq 0x20(%rsp), %rax
movl 0x14(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movl 0x4(%rax), %eax
cmpl 0x14(%rsp), %eax
je 0x2ea697
movq 0x35193a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x22b9a3(%rip), %rsi    # 0x516013
leaq 0x2a3d68(%rip), %rdx    # 0x58e3df
leaq 0x2a3d40(%rip), %rcx    # 0x58e3be
leaq 0x2a393e(%rip), %r8     # 0x58dfc3
movl $0x1ae, %r9d            # imm = 0x1AE
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2ea699
testb $0x1, 0x1b(%rsp)
jne 0x2ea780
movq 0x8(%rsp), %rax
testb $0x1, 0x8(%rax)
je 0x2ea780
jmp 0x2ea6b5
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jae 0x2ea701
movq 0x3518d0(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x22b939(%rip), %rsi    # 0x516013
leaq 0x2a3d15(%rip), %rdx    # 0x58e3f6
leaq 0x2a3cd6(%rip), %rcx    # 0x58e3be
leaq 0x2a38d4(%rip), %r8     # 0x58dfc3
movl $0x1b2, %r9d            # imm = 0x1B2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2ea703
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
subq 0x38(%rcx), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x50(%rax)
je 0x2ea739
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movq (%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2ea758
movq 0x8(%rsp), %rax
cmpq $0x0, 0x58(%rax)
je 0x2ea77e
movq 0x8(%rsp), %rax
movq 0x58(%rax), %rax
movq (%rsp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jne 0x2ea77e
movq 0x20(%rsp), %rax
movq (%rax), %rax
movb $0x1, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x10(%rax)
movb $0x1, 0x1b(%rsp)
jmp 0x2ea780
movq 0x20(%rsp), %rax
movl 0x14(%rsp), %ecx
movq (%rax,%rcx,8), %rdi
xorl %esi, %esi
callq 0x2e9940
movq 0x20(%rsp), %rax
movl 0x14(%rsp), %ecx
movq $0x0, (%rax,%rcx,8)
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x2ea631
addq $0x28, %rsp
retq
nopw (%rax,%rax)