// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/esa_spmitvs_visitor.c
// Function: gt_esa_spmitvs_visitor_processbranchingedge
static int gt_esa_spmitvs_visitor_processbranchingedge(GtESAVisitor *ev,
                                                    GT_UNUSED bool firstsucc,
                                                    GtUword fd,
                                                    GT_UNUSED GtUword flb,
                                                    GT_UNUSED
                                                        GtESAVisitorInfo *finfo,
                                                    GtUword sd,
                                                    GtUword slb,
                                                    GtUword srb,
                                                    GT_UNUSED
                                                        GtESAVisitorInfo *sinfo,
                                                    GT_UNUSED GtError *err)
{
  GtESASpmitvsVisitor *esv;
  GtUword idx;
  gt_assert(ev);
  esv = gt_esa_spmitvs_visitor_cast(ev);

  for (idx=fd+1; idx<sd; idx++)
  {
    gt_assert(idx <= esv->maxlen);
    if (esv->lastwholeleaf != esv->totallength &&
        esv->lastwholeleaf >= slb)
    {
      gt_assert(esv->lastwholeleaf <= srb);
      esv->wholeleafcount[idx].wholeleaf++;
      esv->wholeleafcount[idx].wholeleafwidth += (srb - slb + 1);
    } else
    {
      esv->wholeleafcount[idx].nowholeleaf++;
      esv->wholeleafcount[idx].nowholeleafwidth += (srb - slb + 1);
    }
  }
  return 0;
}

// Assembly:
subq $0x48, %rsp
movb %sil, %al
movq 0x68(%rsp), %rsi
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %rsi
movq 0x50(%rsp), %rsi
movq %rdi, 0x40(%rsp)
andb $0x1, %al
movb %al, 0x3f(%rsp)
movq %rdx, 0x30(%rsp)
movq %rcx, 0x28(%rsp)
movq %r8, 0x20(%rsp)
movq %r9, 0x18(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x241dba
movq 0x3fa217(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2d4280(%rip), %rsi    # 0x516013
leaq 0x2fd1ec(%rip), %rdx    # 0x53ef86
leaq 0x33608e(%rip), %rcx    # 0x577e2f
leaq 0x335fc6(%rip), %r8     # 0x577d6e
movl $0x6a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x241dbc
callq 0x241b70
movq %rax, %rdi
movq 0x40(%rsp), %rsi
callq 0x2425f0
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq 0x18(%rsp), %rax
jae 0x241f62
jmp 0x241df3
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x30(%rcx), %rax
jbe 0x241e3b
movq 0x3fa196(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2d41ff(%rip), %rsi    # 0x516013
leaq 0x336040(%rip), %rdx    # 0x577e5b
leaq 0x33600d(%rip), %rcx    # 0x577e2f
leaq 0x335f45(%rip), %r8     # 0x577d6e
movl $0x6f, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x241e3d
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
je 0x241f01
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
cmpq 0x50(%rsp), %rax
jb 0x241f01
jmp 0x241e6b
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
cmpq 0x58(%rsp), %rax
jbe 0x241eb3
movq 0x3fa11e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2d4187(%rip), %rsi    # 0x516013
leaq 0x335fdb(%rip), %rdx    # 0x577e6e
leaq 0x335f95(%rip), %rcx    # 0x577e2f
leaq 0x335ecd(%rip), %r8     # 0x577d6e
movl $0x73, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x241eb5
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x8(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq 0x58(%rsp), %rcx
subq 0x50(%rsp), %rcx
addq $0x1, %rcx
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x8(%rsp), %rdx
shlq $0x5, %rdx
addq %rdx, %rax
addq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
jmp 0x241f4d
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x8(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
movq 0x58(%rsp), %rcx
subq 0x50(%rsp), %rcx
addq $0x1, %rcx
movq 0x10(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x8(%rsp), %rdx
shlq $0x5, %rdx
addq %rdx, %rax
addq 0x18(%rax), %rcx
movq %rcx, 0x18(%rax)
jmp 0x241f4f
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x241de1
xorl %eax, %eax
addq $0x48, %rsp
retq
nopl (%rax)