// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/bzip2-1.0.6/blocksort.c
// Function: mainGtU
static
__inline__
Bool mainGtU ( UInt32  i1, 
               UInt32  i2,
               UChar*  block, 
               UInt16* quadrant,
               UInt32  nblock,
               Int32*  budget )
{
   Int32  k;
   UChar  c1, c2;
   UInt16 s1, s2;

   AssertD ( i1 != i2, "mainGtU" );
   /* 1 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 2 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 3 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 4 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 5 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 6 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 7 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 8 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 9 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 10 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 11 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;
   /* 12 */
   c1 = block[i1]; c2 = block[i2];
   if (c1 != c2) return (c1 > c2);
   i1++; i2++;

   k = nblock + 8;

   do {
      /* 1 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;
      /* 2 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;
      /* 3 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;
      /* 4 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;
      /* 5 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;
      /* 6 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;
      /* 7 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;
      /* 8 */
      c1 = block[i1]; c2 = block[i2];
      if (c1 != c2) return (c1 > c2);
      s1 = quadrant[i1]; s2 = quadrant[i2];
      if (s1 != s2) return (s1 > s2);
      i1++; i2++;

      if (i1 >= nblock) i1 -= nblock;
      if (i2 >= nblock) i2 -= nblock;

      k -= 8;
      (*budget)--;
   }
      while (k >= 0);

   return False;
}

// Assembly:
movl %edi, %eax
movl %esi, %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x1(%rdi), %eax
leal 0x1(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x2(%rdi), %eax
leal 0x2(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x3(%rdi), %eax
leal 0x3(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x4(%rdi), %eax
leal 0x4(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x5(%rdi), %eax
leal 0x5(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x6(%rdi), %eax
leal 0x6(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x7(%rdi), %eax
leal 0x7(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x8(%rdi), %eax
leal 0x8(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0x9(%rdi), %eax
leal 0x9(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0xa(%rdi), %eax
leal 0xa(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
leal 0xb(%rdi), %eax
leal 0xb(%rsi), %r10d
movb (%rdx,%r10), %r10b
cmpb %r10b, (%rdx,%rax)
jne 0xc66dd
pushq %rbx
addl $0xc, %edi
addl $0xc, %esi
leal 0x10(%r8), %r10d
movl %edi, %edi
movl %esi, %esi
movb (%rdx,%rsi), %al
cmpb %al, (%rdx,%rdi)
jne 0xc66e1
movzwl (%rcx,%rsi,2), %eax
cmpw %ax, (%rcx,%rdi,2)
jne 0xc66e1
leal 0x1(%rdi), %eax
leal 0x1(%rsi), %r11d
movb (%rdx,%r11), %bl
cmpb %bl, (%rdx,%rax)
jne 0xc66e1
movzwl (%rcx,%r11,2), %r11d
cmpw %r11w, (%rcx,%rax,2)
jne 0xc66e1
leal 0x2(%rdi), %eax
leal 0x2(%rsi), %r11d
movb (%rdx,%r11), %bl
cmpb %bl, (%rdx,%rax)
jne 0xc66e1
movzwl (%rcx,%r11,2), %r11d
cmpw %r11w, (%rcx,%rax,2)
jne 0xc66e1
leal 0x3(%rdi), %eax
leal 0x3(%rsi), %r11d
movb (%rdx,%r11), %bl
cmpb %bl, (%rdx,%rax)
jne 0xc66e1
movzwl (%rcx,%r11,2), %r11d
cmpw %r11w, (%rcx,%rax,2)
jne 0xc66e1
leal 0x4(%rdi), %eax
leal 0x4(%rsi), %r11d
movb (%rdx,%r11), %bl
cmpb %bl, (%rdx,%rax)
jne 0xc66e1
movzwl (%rcx,%r11,2), %r11d
cmpw %r11w, (%rcx,%rax,2)
jne 0xc66e1
leal 0x5(%rdi), %eax
leal 0x5(%rsi), %r11d
movb (%rdx,%r11), %bl
cmpb %bl, (%rdx,%rax)
jne 0xc66e1
movzwl (%rcx,%r11,2), %r11d
cmpw %r11w, (%rcx,%rax,2)
jne 0xc66e1
leal 0x6(%rdi), %eax
leal 0x6(%rsi), %r11d
movb (%rdx,%r11), %bl
cmpb %bl, (%rdx,%rax)
jne 0xc66e1
movzwl (%rcx,%r11,2), %r11d
cmpw %r11w, (%rcx,%rax,2)
jne 0xc66e1
leal 0x7(%rdi), %eax
leal 0x7(%rsi), %r11d
movb (%rdx,%r11), %bl
cmpb %bl, (%rdx,%rax)
jne 0xc66e1
movzwl (%rcx,%r11,2), %r11d
cmpw %r11w, (%rcx,%rax,2)
jne 0xc66e1
addl $0x8, %edi
addl $0x8, %esi
xorl %eax, %eax
cmpl %r8d, %edi
movl %r8d, %r11d
cmovbl %eax, %r11d
subl %r11d, %edi
cmpl %r8d, %esi
movl %r8d, %r11d
cmovbl %eax, %r11d
decl (%r9)
subl %r11d, %esi
addl $-0x8, %r10d
cmpl $0x7, %r10d
jg 0xc65a6
jmp 0xc66e4
seta %al
retq
seta %al
popq %rbx
retq
nop