// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/mgth/mg_compute_gene_prediction.c
// Function: sort_realtmp
static void sort_realtmp(GtArray * realfrom,
                         GtArray * realto,
                         GtArray * real_fromtmp, GtArray * real_totmp)
{
  GtUword index_outer,
    index_inner,
    max_value = 0,
    from,
    to,
    from_tmp = 0,
    to_tmp = 0;

  /* durchlaufen des GtArrays mit einer aeusseren und einer inneren Schleife
   */
  for (index_outer = 0; index_outer < gt_array_size(real_fromtmp);
       index_outer++)
  {
    /* die innere Schleife bestimmt den naechsten maximalen Wert im GtArray */
    for (index_inner = 0; index_inner < gt_array_size(real_fromtmp);
         index_inner++)
    {
      from = *(GtUword *) gt_array_get(real_fromtmp, index_inner);
      to = *(GtUword *) gt_array_get(real_totmp, index_inner);

      /* Fall: es gibt bereits Eintraege im tmp-Array */
      if (gt_array_size(realfrom) > 0)
      {
        /* der aktuelle from-Wert ist groesser als der tmp-Wert und
           kleiner als der letzte max-Wert */
        if ((from > from_tmp) && (from < max_value))
        {
          from_tmp = from;
          to_tmp = to;
        }
      }
      /* Fall: keine Eintraege im tmp-Array */
      else
      {
        /* bestimmen des max-Wertes */
        if (from > from_tmp)
        {
          from_tmp = from;
          to_tmp = to;
        }
      }
    }
    /* Speichern des max-Wertes */
    gt_array_add(realfrom, from_tmp);
    gt_array_add(realto, to_tmp);

    /* merken des letzten max-Wertes */
    max_value = from_tmp;
    from_tmp = 0;
    to_tmp = 0;
  }
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq %rdx, 0x50(%rsp)
movq %rcx, 0x48(%rsp)
movq $0x0, 0x30(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq $0x0, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x50(%rsp), %rdi
callq 0x81370
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0x4edd37
movq $0x0, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, (%rsp)
movq 0x50(%rsp), %rdi
callq 0x81370
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x4edce0
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x80b60
movq (%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x80b60
movq (%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x60(%rsp), %rdi
callq 0x81370
cmpq $0x0, %rax
jbe 0x4edca9
movq 0x28(%rsp), %rax
cmpq 0x18(%rsp), %rax
jbe 0x4edca7
movq 0x28(%rsp), %rax
cmpq 0x30(%rsp), %rax
jae 0x4edca7
movq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x4edccb
movq 0x28(%rsp), %rax
cmpq 0x18(%rsp), %rax
jbe 0x4edcc9
movq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x4edccb
jmp 0x4edccd
movq 0x38(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x38(%rsp)
jmp 0x4edc1a
movq 0x60(%rsp), %rdi
leaq 0x18(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
movq 0x58(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
movq 0x18(%rsp), %rax
movq %rax, 0x30(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0x4edbec
addq $0x68, %rsp
retq
nopl (%rax)