// File: /workspace/github_c_makefile_star2_O1/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 0x1da121
movq %rdi, %r14
testb %sil, %sil
movl %esi, 0x14(%rsp)
je 0x1d993f
movq 0x80(%r14), %rsi
leaq 0x38(%rsp), %rdi
callq 0x110c6c
movl 0x14(%rsp), %esi
cmpq $0x0, 0x80(%r14)
je 0x1da088
xorl %r13d, %r13d
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da11c
leaq 0x1(%r13), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1da11c
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da11c
movq (%rax), %rdi
movq %rdx, %rsi
movq %rcx, 0x40(%rsp)
imulq %rcx, %rsi
callq 0x2fcc2c
movq %rax, %rbx
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da117
cmpq %r13, 0x8(%rax)
jbe 0x1da117
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da117
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
subq %rax, %rbx
cmpq $0x2, %rbx
jb 0x1da065
leaq (,%rbx,8), %rax
leaq (%rax,%rax,2), %rdi
leaq 0x1def4b(%rip), %rsi    # 0x3b892d
movl $0x348, %edx            # imm = 0x348
callq 0x1092b2
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 0x1da0ae
cmpq %r13, 0x8(%rax)
jbe 0x1da0ae
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0ae
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1da0a9
addq %r12, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1da0a9
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1da0a9
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %rbx
movq 0x80(%r14), %rdi
callq 0x2f9d41
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
notl %ebp
movq 0x90(%r14), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %ebp
movslq %ebp, %r13
andq %rbx, %r13
movq 0x90(%r14), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %r13
movq %r13, -0x10(%r15)
movq 0x30(%rsp), %r13
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da0c2
cmpq %r13, 0x8(%rax)
jbe 0x1da0c2
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0c2
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1da0b3
addq %r12, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1da0b3
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1da0b3
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %rbx
movq 0x90(%r14), %rdi
callq 0x2f9d41
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 0x1da0bd
cmpq %r13, 0x8(%rax)
jbe 0x1da0bd
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0bd
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1da0b8
addq %r12, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1da0b8
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1da0b8
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
andb $0x1, %al
movb %al, (%r15)
incq %r12
addq $0x18, %r15
movq 0x28(%rsp), %rbx
cmpq %r12, %rbx
movq 0x18(%rsp), %rbp
jne 0x1d9a0d
movl $0x18, %edx
movq 0x20(%rsp), %rdi
movq %rbx, %rsi
leaq -0x2509(%rip), %rcx     # 0x1d76f0
callq 0x17f60
movq $0x0, 0x8(%rsp)
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da0c7
cmpq %r13, 0x8(%rax)
jbe 0x1da0c7
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0c7
movq %rbp, 0x18(%rsp)
movq 0x88(%r14), %rbp
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x80(%r14), %rdi
callq 0x2f9d41
movq %r13, %r15
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r13d
notl %r13d
movq 0x90(%r14), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %r13d
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da0cc
cmpq %r15, 0x8(%rax)
jbe 0x1da0cc
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0cc
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r15, %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1da0d1
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1da0d1
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1da0d1
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %rbx
movq 0x18(%rsp), %rax
movq -0x10(%rax), %r15
movq 0x90(%r14), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shlq %cl, %r15
testq %rbp, %rbp
je 0x1da0db
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbp)
jbe 0x1da0db
movl 0x10(%rbp), %edx
cmpq $0x41, %rdx
jae 0x1da0db
notl %r13d
movslq %r13d, %rax
andq %rax, %rbx
addq %rbx, %r15
movq (%rbp), %rdi
imulq %rdx, %r12
movq %r12, %rsi
movq %r15, %rcx
callq 0x2fcd13
movq 0x60(%r14), %rax
testq %rax, %rax
movq 0x30(%rsp), %r13
je 0x1da0e0
cmpq %r13, 0x8(%rax)
jbe 0x1da0e0
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0e0
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x90(%r14), %rdi
callq 0x2f9d41
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da0d6
cmpq %r13, 0x8(%rax)
jbe 0x1da0d6
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0d6
movq 0x88(%r14), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1da0ef
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%r15)
jbe 0x1da0ef
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1da0ef
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1da0e5
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbx)
jbe 0x1da0e5
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1da0e5
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 0x2fcd13
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da0ea
cmpq %r13, 0x8(%rax)
jbe 0x1da0ea
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0ea
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da0f9
cmpq %r13, 0x8(%rax)
jbe 0x1da0f9
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da0f9
movq 0x88(%r14), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1da0f4
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%r15)
jbe 0x1da0f4
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1da0f4
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1da0fe
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbx)
jbe 0x1da0fe
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1da0fe
andq $-0x2, %rax
movq (%rbx), %rdi
imulq %rdx, %r12
movq %r12, %rsi
movq %rax, %rcx
callq 0x2fcd13
cmpb $0x1, (%rbp)
jne 0x1da033
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da103
cmpq %r13, 0x8(%rax)
jbe 0x1da103
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da103
movq 0x88(%r14), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x60(%r14), %rax
testq %rax, %rax
je 0x1da10d
cmpq %r13, 0x8(%rax)
jbe 0x1da10d
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1da10d
movq 0x88(%r14), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1da112
addq 0x8(%rsp), %rax
cmpq %rax, 0x8(%r15)
jbe 0x1da112
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1da112
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1da108
addq 0x8(%rsp), %r12
cmpq %r12, 0x8(%rbx)
jbe 0x1da108
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1da108
orq $0x1, %rax
movq (%rbx), %rdi
imulq %rdx, %r12
movq %r12, %rsi
movq %rax, %rcx
callq 0x2fcd13
movq 0x8(%rsp), %rcx
incq %rcx
addq $0x18, %rbp
movq %rcx, 0x8(%rsp)
cmpq %rcx, 0x28(%rsp)
jne 0x1d9c07
movq 0x20(%rsp), %rdi
leaq 0x1de8d2(%rip), %rsi    # 0x3b892d
movl $0x348, %edx            # imm = 0x348
callq 0x109670
movl 0x14(%rsp), %esi
testb %sil, %sil
je 0x1da073
incq 0x38(%rsp)
movq 0x40(%rsp), %rax
movq %rax, %r13
cmpq 0x80(%r14), %rax
jb 0x1d9950
movl $0x2, 0x10(%r14)
testb %sil, %sil
je 0x1da09a
callq 0x111189
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x6ef47
callq 0x6ef80
callq 0x6eed5
callq 0x6ee63
callq 0x6ee9c
callq 0x6ef0e
callq 0x6ee2a
callq 0x6edf1
callq 0x6edb8
callq 0x6ed0d
callq 0x6ed7f
callq 0x6ed46
callq 0x6ec9b
callq 0x6ec62
callq 0x6ecd4
callq 0x6ebf0
callq 0x6ec29
callq 0x6ebb7
callq 0x6eb7e
callq 0x6ead3
callq 0x6eb45
callq 0x6eb0c
callq 0x6efb9
callq 0x6eff2
callq 0x6f02b