// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/match/rdj-strgraph.c
// Function: gt_strgraph_sort_edges_by_len
void gt_strgraph_sort_edges_by_len(GtStrgraph *strgraph, bool show_progressbar)
{
  GtStrgraphVnum i;
  GtUint64 progress = 0;

  gt_assert(strgraph != NULL);

  if (show_progressbar)
    gt_progressbar_start(&progress,
        (GtUint64)GT_STRGRAPH_NOFVERTICES(strgraph));

  for (i = 0; i < GT_STRGRAPH_NOFVERTICES(strgraph); i++)
  {
    GT_STRGRAPH_SORT_V_EDGES(strgraph, i);
    if (show_progressbar)
      progress++;
  }

  strgraph->state = GT_STRGRAPH_SORTED_BY_L;

  if (show_progressbar)
    gt_progressbar_stop();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq $0x0, 0x38(%rsp)
testq %rdi, %rdi
je 0x1d09b4
movq %rdi, %r14
testb %sil, %sil
movl %esi, 0x14(%rsp)
je 0x1d01d2
movq 0x80(%r14), %rsi
leaq 0x38(%rsp), %rdi
callq 0x10ba28
movl 0x14(%rsp), %esi
cmpq $0x0, 0x80(%r14)
je 0x1d091b
xorl %r13d, %r13d
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d09af
leaq 0x1(%r13), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1d09af
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d09af
movq (%rax), %rdi
movq %rdx, %rsi
movq %rcx, 0x40(%rsp)
imulq %rcx, %rsi
callq 0x2f37dc
movq %rax, %rbx
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d09aa
cmpq %r13, 0x8(%rax)
jbe 0x1d09aa
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d09aa
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
subq %rax, %rbx
cmpq $0x2, %rbx
jb 0x1d08f8
leaq (,%rbx,8), %rax
leaq (%rax,%rax,2), %rdi
leaq 0x1df0b8(%rip), %rsi    # 0x3af32d
movl $0x348, %edx            # imm = 0x348
callq 0x104226
movq %rax, 0x20(%rsp)
movq %rax, %rbp
addq $0x10, %rbp
movq %rbp, %r15
xorl %r12d, %r12d
movq %r13, 0x30(%rsp)
movq %rbx, 0x28(%rsp)
movq %rbp, 0x18(%rsp)
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d0941
cmpq %r13, 0x8(%rax)
jbe 0x1d0941
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d0941
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
testq %rbx, %rbx
je 0x1d093c
addq %r12, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1d093c
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1d093c
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2f37dc
movq %rax, %rbx
movq 0x80(%r14), %rdi
callq 0x2f09dd
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
notl %ebp
movq 0x90(%r14), %rdi
callq 0x2f09dd
leal 0x1(%rax), %ecx
shll %cl, %ebp
movslq %ebp, %r13
andq %rbx, %r13
movq 0x90(%r14), %rdi
callq 0x2f09dd
leal 0x1(%rax), %ecx
shrq %cl, %r13
movq %r13, -0x10(%r15)
movq 0x30(%rsp), %r13
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d0955
cmpq %r13, 0x8(%rax)
jbe 0x1d0955
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d0955
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
testq %rbx, %rbx
je 0x1d0946
addq %r12, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1d0946
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1d0946
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2f37dc
movq %rax, %rbx
movq 0x90(%r14), %rdi
callq 0x2f09dd
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rax
andq %rbx, %rax
shrq %rax
movq %rax, -0x8(%r15)
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d0950
cmpq %r13, 0x8(%rax)
jbe 0x1d0950
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d0950
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
testq %rbx, %rbx
je 0x1d094b
addq %r12, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1d094b
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1d094b
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2f37dc
andb $0x1, %al
movb %al, (%r15)
incq %r12
addq $0x18, %r15
movq 0x28(%rsp), %rbx
cmpq %r12, %rbx
movq 0x18(%rsp), %rbp
jne 0x1d02a0
movl $0x18, %edx
movq 0x20(%rsp), %rdi
movq %rbx, %rsi
leaq -0x24f8(%rip), %rcx     # 0x1cdf94
callq 0x17f60
movq $0x0, 0x8(%rsp)
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d095a
cmpq %r13, 0x8(%rax)
jbe 0x1d095a
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d095a
movq %rbp, 0x18(%rsp)
movq 0x88(%r14), %rbp
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
movq %rax, %r12
movq 0x80(%r14), %rdi
callq 0x2f09dd
movq %r13, %r15
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r13d
notl %r13d
movq 0x90(%r14), %rdi
callq 0x2f09dd
leal 0x1(%rax), %ecx
shll %cl, %r13d
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d095f
cmpq %r15, 0x8(%rax)
jbe 0x1d095f
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d095f
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r15, %rsi
callq 0x2f37dc
testq %rbx, %rbx
je 0x1d0964
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1d0964
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1d0964
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2f37dc
movq %rax, %rbx
movq 0x18(%rsp), %rax
movq -0x10(%rax), %r15
movq 0x90(%r14), %rdi
callq 0x2f09dd
leal 0x1(%rax), %ecx
shlq %cl, %r15
testq %rbp, %rbp
je 0x1d096e
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbp)
jbe 0x1d096e
movl 0x10(%rbp), %edx
cmpq $0x41, %rdx
jae 0x1d096e
notl %r13d
movslq %r13d, %rax
andq %rax, %rbx
addq %rbx, %r15
movq (%rbp), %rdi
imulq %rdx, %r12
movq %r12, %rsi
movq %r15, %rcx
callq 0x2f388c
movq 0x60(%r14), %rax
testq %rax, %rax
movq 0x30(%rsp), %r13
je 0x1d0973
cmpq %r13, 0x8(%rax)
jbe 0x1d0973
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d0973
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
movq %rax, %r12
movq 0x90(%r14), %rdi
callq 0x2f09dd
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d0969
cmpq %r13, 0x8(%rax)
jbe 0x1d0969
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d0969
movq 0x88(%r14), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
testq %r15, %r15
je 0x1d0982
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%r15)
jbe 0x1d0982
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1d0982
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2f37dc
testq %rbx, %rbx
je 0x1d0978
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbx)
jbe 0x1d0978
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1d0978
notl %ebp
addl %ebp, %ebp
notl %ebp
movslq %ebp, %rcx
andq %rcx, %rax
movq 0x18(%rsp), %rbp
movq -0x8(%rbp), %rcx
leaq (%rax,%rcx,2), %rcx
movq (%rbx), %rdi
imulq %rdx, %r12
movq %r12, %rsi
callq 0x2f388c
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d097d
cmpq %r13, 0x8(%rax)
jbe 0x1d097d
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d097d
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
movq %rax, %r12
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d098c
cmpq %r13, 0x8(%rax)
jbe 0x1d098c
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d098c
movq 0x88(%r14), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
testq %r15, %r15
je 0x1d0987
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%r15)
jbe 0x1d0987
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1d0987
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2f37dc
testq %rbx, %rbx
je 0x1d0991
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbx)
jbe 0x1d0991
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1d0991
andq $-0x2, %rax
movq (%rbx), %rdi
imulq %rdx, %r12
movq %r12, %rsi
movq %rax, %rcx
callq 0x2f388c
cmpb $0x1, (%rbp)
jne 0x1d08c6
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d0996
cmpq %r13, 0x8(%rax)
jbe 0x1d0996
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d0996
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
movq %rax, %r12
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1d09a0
cmpq %r13, 0x8(%rax)
jbe 0x1d09a0
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1d09a0
movq 0x88(%r14), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2f37dc
testq %r15, %r15
je 0x1d09a5
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%r15)
jbe 0x1d09a5
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1d09a5
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2f37dc
testq %rbx, %rbx
je 0x1d099b
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbx)
jbe 0x1d099b
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1d099b
orq $0x1, %rax
movq (%rbx), %rdi
imulq %rdx, %r12
movq %r12, %rsi
movq %rax, %rcx
callq 0x2f388c
movq 0x8(%rsp), %rcx
incq %rcx
addq $0x18, %rbp
movq %rcx, 0x8(%rsp)
cmpq %rcx, 0x28(%rsp)
jne 0x1d049a
movq 0x20(%rsp), %rdi
leaq 0x1dea3f(%rip), %rsi    # 0x3af32d
movl $0x348, %edx            # imm = 0x348
callq 0x1045eb
movl 0x14(%rsp), %esi
testb %sil, %sil
je 0x1d0906
incq 0x38(%rsp)
movq 0x40(%rsp), %rax
movq %rax, %r13
cmpq 0x80(%r14), %rax
jb 0x1d01e3
movl $0x2, 0x10(%r14)
testb %sil, %sil
je 0x1d092d
callq 0x10bf8a
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x6d340
callq 0x6d379
callq 0x6d2ce
callq 0x6d25c
callq 0x6d295
callq 0x6d307
callq 0x6d223
callq 0x6d1ea
callq 0x6d1b1
callq 0x6d106
callq 0x6d178
callq 0x6d13f
callq 0x6d094
callq 0x6d05b
callq 0x6d0cd
callq 0x6cfe9
callq 0x6d022
callq 0x6cfb0
callq 0x6cf77
callq 0x6cecc
callq 0x6cf3e
callq 0x6cf05
callq 0x6d3b2
callq 0x6d3eb
callq 0x6d424