// File: /workspace/github_cpp_makefile_star2_O2/ivanzamanov[P]kmeans/src/common/stem.cpp
// Function: stem(char*, int, int)
int stem(char * p, int i, int j)
{  b = p; k = j; k0 = i; /* copy the parameters into statics */
   if (k <= k0+1) return k; /*-DEPARTURE-*/

   /* With this line, strings of length 1 or 2 don't go through the
      stemming process, although no mention is made of this in the
      published algorithm. Remove the line to match the published
      algorithm. */

   step1ab(); step1c(); step2(); step3(); step4(); step5();
   return k;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edx, %r14d
movq %rdi, 0x2d0f(%rip)      # 0x4090
movl %edx, 0x2d11(%rip)      # 0x4098
movl %esi, 0x2d0f(%rip)      # 0x409c
incl %esi
cmpl %edx, %esi
jge 0x1946
movq %rdi, %rbx
movslq %r14d, %r15
cmpb $0x73, (%rdi,%r15)
jne 0x13ee
leaq 0xd47(%rip), %rdi       # 0x20f2
callq 0x1a3d
testl %eax, %eax
je 0x13ba
addl $-0x2, %r14d
jmp 0x13e7
leaq 0xd37(%rip), %rdi       # 0x20f8
callq 0x1a3d
testl %eax, %eax
je 0x13dc
movslq 0x2ccf(%rip), %rax      # 0x40a0
movb $0x69, 0x1(%rbx,%rax)
leal 0x1(%rax), %r14d
jmp 0x13e7
cmpb $0x73, -0x1(%rbx,%r15)
je 0x13ee
decl %r14d
movl %r14d, 0x2caa(%rip)     # 0x4098
leaq 0xd08(%rip), %rdi       # 0x20fd
callq 0x1a3d
testl %eax, %eax
je 0x1416
callq 0x1aa0
testl %eax, %eax
jle 0x14d0
decl %r14d
movl %r14d, %ebp
jmp 0x14c7
leaq 0xce5(%rip), %rdi       # 0x2102
callq 0x1a3d
testl %eax, %eax
jne 0x143a
leaq 0xcd9(%rip), %rdi       # 0x2106
callq 0x1a3d
testl %eax, %eax
je 0x14d0
callq 0x1afa
testl %eax, %eax
je 0x14d0
movl 0x2c53(%rip), %ebp      # 0x40a0
movl %ebp, 0x2c45(%rip)      # 0x4098
leaq 0xcb1(%rip), %rdi       # 0x210b
callq 0x1a3d
testl %eax, %eax
je 0x1478
movslq 0x2c36(%rip), %rax      # 0x40a0
movb $0x65, 0x3(%rbx,%rax)
movw $0x7461, 0x1(%rbx,%rax) # imm = 0x7461
jmp 0x14c4
leaq 0xc95(%rip), %rdi       # 0x2114
callq 0x1a3d
testl %eax, %eax
je 0x149d
movslq 0x2c11(%rip), %rax      # 0x40a0
movb $0x65, 0x3(%rbx,%rax)
movw $0x6c62, 0x1(%rbx,%rax) # imm = 0x6C62
jmp 0x14c4
leaq 0xc79(%rip), %rdi       # 0x211d
callq 0x1a3d
testl %eax, %eax
je 0x1987
movslq 0x2be8(%rip), %rax      # 0x40a0
movb $0x65, 0x3(%rbx,%rax)
movw $0x7a69, 0x1(%rbx,%rax) # imm = 0x7A69
leal 0x3(%rax), %ebp
movl %ebp, 0x2bcb(%rip)      # 0x4098
movl %ebp, %r14d
leaq 0xc52(%rip), %rdi       # 0x2129
callq 0x1a3d
movslq %r14d, %r12
testl %eax, %eax
je 0x14f1
callq 0x1afa
testl %eax, %eax
je 0x14f1
movb $0x69, (%rbx,%r12)
movzbl -0x1(%rbx,%r12), %eax
addl $-0x61, %eax
cmpl $0x13, %eax
ja 0x16cf
leaq 0xb2e(%rip), %rcx       # 0x2038
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc12(%rip), %rdi       # 0x212c
callq 0x1a3d
testl %eax, %eax
je 0x1682
leaq 0xbe1(%rip), %r15       # 0x210f
jmp 0x16b6
leaq 0xc53(%rip), %rdi       # 0x218d
callq 0x1a3d
testl %eax, %eax
jne 0x1627
leaq 0xc48(%rip), %rdi       # 0x2196
callq 0x1a3d
leaq 0xbb5(%rip), %r15       # 0x210f
testl %eax, %eax
jne 0x16b6
leaq 0xc34(%rip), %rdi       # 0x219d
callq 0x1a3d
testl %eax, %eax
jne 0x16b6
jmp 0x16cf
leaq 0xbc1(%rip), %rdi       # 0x2143
callq 0x1a3d
testl %eax, %eax
je 0x1669
leaq 0xbb3(%rip), %r15       # 0x2149
jmp 0x16b6
leaq 0xc01(%rip), %rdi       # 0x21a3
callq 0x1a3d
testl %eax, %eax
jne 0x16af
leaq 0xbf4(%rip), %rdi       # 0x21aa
callq 0x1a3d
testl %eax, %eax
jne 0x1607
leaq 0xbf2(%rip), %rdi       # 0x21b8
callq 0x1a3d
testl %eax, %eax
je 0x19c4
leaq 0xbe7(%rip), %r15       # 0x21c1
jmp 0x16b6
leaq 0xbe9(%rip), %rdi       # 0x21cf
callq 0x1a3d
testl %eax, %eax
jne 0x16af
leaq 0xbdc(%rip), %rdi       # 0x21d6
callq 0x1a3d
testl %eax, %eax
je 0x1952
leaq 0xba5(%rip), %r15       # 0x21b3
jmp 0x16b6
leaq 0xb41(%rip), %rdi       # 0x215b
callq 0x1a3d
testl %eax, %eax
je 0x16cf
leaq 0xaf3(%rip), %r15       # 0x2121
jmp 0x16b6
leaq 0xbab(%rip), %rdi       # 0x21e5
callq 0x1a3d
testl %eax, %eax
je 0x16cf
leaq 0xb9d(%rip), %r15       # 0x21eb
jmp 0x16b6
leaq 0xb0a(%rip), %rdi       # 0x2161
callq 0x1a3d
testl %eax, %eax
je 0x169b
leaq 0xab1(%rip), %r15       # 0x2118
jmp 0x16b6
leaq 0xadf(%rip), %rdi       # 0x214f
callq 0x1a3d
testl %eax, %eax
je 0x16cf
leaq 0xad5(%rip), %r15       # 0x2155
jmp 0x16b6
leaq 0xaac(%rip), %rdi       # 0x2135
callq 0x1a3d
testl %eax, %eax
je 0x16cf
leaq 0xaa4(%rip), %r15       # 0x213d
jmp 0x16b6
leaq 0xac4(%rip), %rdi       # 0x2166
callq 0x1a3d
testl %eax, %eax
je 0x196b
leaq 0xab6(%rip), %r15       # 0x216c
movq %r15, %rdi
callq 0x1be9
movq 0x29cb(%rip), %rbx      # 0x4090
movl 0x29cc(%rip), %r14d     # 0x4098
movslq %r14d, %r12
movzbl (%rbx,%r12), %eax
cmpl $0x73, %eax
je 0x1750
cmpl $0x69, %eax
je 0x1725
cmpl $0x6c, %eax
je 0x1737
cmpl $0x65, %eax
jne 0x1783
leaq 0xafd(%rip), %rdi       # 0x21f0
callq 0x1a3d
testl %eax, %eax
jne 0x1747
leaq 0xaf8(%rip), %rdi       # 0x21fb
callq 0x1a3d
testl %eax, %eax
jne 0x1769
leaq 0xaef(%rip), %rdi       # 0x2202
callq 0x1a3d
testl %eax, %eax
je 0x1783
leaq 0xa49(%rip), %rdi       # 0x216c
jmp 0x1770
leaq 0xadd(%rip), %rdi       # 0x2209
callq 0x1a3d
testl %eax, %eax
jne 0x1747
jmp 0x1783
leaq 0xad2(%rip), %rdi       # 0x2210
callq 0x1a3d
testl %eax, %eax
je 0x1759
leaq 0xaa9(%rip), %rdi       # 0x21f7
jmp 0x1770
leaq 0xabf(%rip), %rdi       # 0x2216
jmp 0x1760
leaq 0xa61(%rip), %rdi       # 0x21c1
callq 0x1a3d
testl %eax, %eax
je 0x1783
leaq 0x980(%rip), %rdi       # 0x20f0
callq 0x1be9
movq 0x2914(%rip), %rbx      # 0x4090
movl 0x2915(%rip), %r14d     # 0x4098
movslq %r14d, %r15
movzbl -0x1(%rbx,%r15), %eax
addl $-0x61, %eax
cmpl $0x19, %eax
ja 0x18de
leaq 0x8e9(%rip), %rcx       # 0x2088
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x9bd(%rip), %rdi       # 0x216c
jmp 0x18ba
leaq 0x9f8(%rip), %rdi       # 0x21b3
jmp 0x18ba
leaq 0xa55(%rip), %rdi       # 0x221c
jmp 0x18ba
leaq 0xa59(%rip), %rdi       # 0x222c
callq 0x1a3d
testl %eax, %eax
jne 0x18c3
leaq 0xa4a(%rip), %rdi       # 0x2231
callq 0x1a3d
testl %eax, %eax
jne 0x18c3
leaq 0xa3d(%rip), %rdi       # 0x2238
callq 0x1a3d
testl %eax, %eax
jne 0x18c3
leaq 0x968(%rip), %rdi       # 0x2177
jmp 0x18ba
leaq 0x906(%rip), %rdi       # 0x2121
jmp 0x18ba
leaq 0x92e(%rip), %rdi       # 0x2155
callq 0x1a3d
testl %eax, %eax
jne 0x18c3
leaq 0x90e(%rip), %rdi       # 0x2149
jmp 0x18ba
leaq 0x9fa(%rip), %rdi       # 0x223e
callq 0x1a3d
movl 0x2851(%rip), %ecx      # 0x40a0
testl %ecx, %ecx
setns %dl
andb %al, %dl
cmpb $0x1, %dl
jne 0x1866
movl %ecx, %eax
movb (%rbx,%rax), %al
addb $-0x73, %al
cmpb $0x2, %al
jb 0x18c3
leaq 0x9d6(%rip), %rdi       # 0x2243
jmp 0x18ba
leaq 0x9d1(%rip), %rdi       # 0x2247
jmp 0x18ba
leaq 0x978(%rip), %rdi       # 0x21f7
jmp 0x18ba
leaq 0x998(%rip), %rdi       # 0x2220
callq 0x1a3d
testl %eax, %eax
jne 0x18c3
leaq 0x98e(%rip), %rdi       # 0x2226
jmp 0x18ba
leaq 0x8e7(%rip), %rdi       # 0x2188
jmp 0x18ba
leaq 0x865(%rip), %rdi       # 0x210f
callq 0x1a3d
testl %eax, %eax
jne 0x18c3
leaq 0x992(%rip), %rdi       # 0x224c
callq 0x1a3d
testl %eax, %eax
je 0x18de
callq 0x1aa0
cmpl $0x2, %eax
jl 0x18de
movl 0x27cc(%rip), %r14d     # 0x40a0
movl %r14d, 0x27bd(%rip)     # 0x4098
movslq %r14d, %r15
movl %r14d, 0x27bb(%rip)     # 0x40a0
movb (%rbx,%r15), %al
cmpb $0x65, %al
jne 0x190c
callq 0x1aa0
cmpl $0x2, %eax
jl 0x1932
decl %r14d
movl %r14d, %ebp
movl %ebp, 0x2795(%rip)      # 0x4098
movslq %ebp, %rax
movb (%rbx,%rax), %al
movl %ebp, %r14d
cmpb $0x6c, %al
jne 0x1946
movl %r14d, %edi
callq 0x1b2b
testl %eax, %eax
je 0x1946
callq 0x1aa0
cmpl $0x2, %eax
jl 0x1946
decl %r14d
movl %r14d, 0x2768(%rip)     # 0x4098
jmp 0x1946
cmpl $0x1, %eax
jne 0x1946
leal -0x1(%r14), %ebp
movl %ebp, %edi
callq 0x1b49
testl %eax, %eax
je 0x18fd
movl %r14d, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x884(%rip), %rdi       # 0x21dd
callq 0x1a3d
testl %eax, %eax
jne 0x1660
jmp 0x16cf
leaq 0x7fe(%rip), %rdi       # 0x2170
callq 0x1a3d
testl %eax, %eax
je 0x19cd
leaq 0x7f5(%rip), %r15       # 0x2177
jmp 0x16b6
movl %ebp, %edi
callq 0x1b2b
testl %eax, %eax
je 0x19e9
movslq %ebp, %rax
leaq -0x1(%rax), %r14
movl %r14d, 0x26f8(%rip)     # 0x4098
movzbl -0x1(%rbx,%rax), %eax
addl $-0x6c, %eax
cmpl $0xe, %eax
ja 0x14d0
movl $0x4081, %ecx           # imm = 0x4081
btl %eax, %ecx
jb 0x14c7
jmp 0x14d0
leaq 0x7fb(%rip), %rdi       # 0x21c6
jmp 0x1a24
leaq 0x7a8(%rip), %rdi       # 0x217c
callq 0x1a3d
testl %eax, %eax
je 0x1a1d
leaq 0x742(%rip), %r15       # 0x2126
jmp 0x16b6
callq 0x1aa0
cmpl $0x1, %eax
jne 0x14cd
movl %ebp, %edi
callq 0x1b49
movl %ebp, %r14d
testl %eax, %eax
je 0x14d0
movslq 0x2690(%rip), %rax      # 0x40a0
movb $0x65, 0x1(%rbx,%rax)
leal 0x1(%rax), %ebp
jmp 0x14c7
leaq 0x75d(%rip), %rdi       # 0x2181
callq 0x1a3d
testl %eax, %eax
je 0x16cf
leaq 0x750(%rip), %r15       # 0x2188
jmp 0x16b6