// File: /workspace/github_cpp_makefile_star2_O3/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 %rbx
pushq %rax
movl %edx, %r14d
movq %rdi, 0x3cdc(%rip)      # 0x5088
movl %edx, 0x3cde(%rip)      # 0x5090
movl %esi, 0x3cdc(%rip)      # 0x5094
incl %esi
cmpl %edx, %esi
jge 0x1a6c
movq %rdi, %rbx
movslq %r14d, %r15
cmpb $0x73, (%rdi,%r15)
jne 0x1419
leaq 0x1d1a(%rip), %rdi      # 0x30f0
callq 0x1bad
testl %eax, %eax
je 0x13e5
addl $-0x2, %r14d
jmp 0x1412
leaq 0x1d0a(%rip), %rdi      # 0x30f6
callq 0x1bad
testl %eax, %eax
je 0x1407
movslq 0x3c9c(%rip), %rax      # 0x5098
movb $0x69, 0x1(%rbx,%rax)
leal 0x1(%rax), %r14d
jmp 0x1412
cmpb $0x73, -0x1(%rbx,%r15)
je 0x1419
decl %r14d
movl %r14d, 0x3c77(%rip)     # 0x5090
leaq 0x1cdb(%rip), %rdi      # 0x30fb
callq 0x1bad
testl %eax, %eax
je 0x1441
callq 0x1c12
testl %eax, %eax
jle 0x14fb
decl %r14d
movl %r14d, %ebp
jmp 0x14f2
leaq 0x1cb8(%rip), %rdi      # 0x3100
callq 0x1bad
testl %eax, %eax
jne 0x1465
leaq 0x1cac(%rip), %rdi      # 0x3104
callq 0x1bad
testl %eax, %eax
je 0x14fb
callq 0x1d80
testl %eax, %eax
je 0x14fb
movl 0x3c20(%rip), %ebp      # 0x5098
movl %ebp, 0x3c12(%rip)      # 0x5090
leaq 0x1c84(%rip), %rdi      # 0x3109
callq 0x1bad
testl %eax, %eax
je 0x14a3
movslq 0x3c03(%rip), %rax      # 0x5098
movb $0x65, 0x3(%rbx,%rax)
movw $0x7461, 0x1(%rbx,%rax) # imm = 0x7461
jmp 0x14ef
leaq 0x1c68(%rip), %rdi      # 0x3112
callq 0x1bad
testl %eax, %eax
je 0x14c8
movslq 0x3bde(%rip), %rax      # 0x5098
movb $0x65, 0x3(%rbx,%rax)
movw $0x6c62, 0x1(%rbx,%rax) # imm = 0x6C62
jmp 0x14ef
leaq 0x1c4c(%rip), %rdi      # 0x311b
callq 0x1bad
testl %eax, %eax
je 0x1ac8
movslq 0x3bb5(%rip), %rax      # 0x5098
movb $0x65, 0x3(%rbx,%rax)
movw $0x7a69, 0x1(%rbx,%rax) # imm = 0x7A69
leal 0x3(%rax), %ebp
movl %ebp, 0x3b98(%rip)      # 0x5090
movl %ebp, %r14d
leaq 0x1c22(%rip), %rdi      # 0x3124
callq 0x1bad
movslq %r14d, %r15
testl %eax, %eax
je 0x151c
callq 0x1d80
testl %eax, %eax
je 0x151c
movb $0x69, (%rbx,%r15)
movzbl -0x1(%rbx,%r15), %eax
addl $-0x61, %eax
cmpl $0x13, %eax
ja 0x17c8
leaq 0x1b03(%rip), %rcx      # 0x3038
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1be2(%rip), %rdi      # 0x3127
callq 0x1bad
testl %eax, %eax
jne 0x15bb
leaq 0x1bdb(%rip), %rdi      # 0x3130
callq 0x1bad
testl %eax, %eax
je 0x17c8
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x3b22(%rip), %rax      # 0x5098
movl $0x6e6f6974, 0x1(%rbx,%rax) # imm = 0x6E6F6974
jmp 0x1789
leaq 0x1bf8(%rip), %rdi      # 0x3182
callq 0x1bad
testl %eax, %eax
jne 0x16d3
leaq 0x1bed(%rip), %rdi      # 0x318b
callq 0x1bad
testl %eax, %eax
jne 0x15bb
leaq 0x1be4(%rip), %rdi      # 0x3192
callq 0x1bad
testl %eax, %eax
je 0x17c8
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x3ac9(%rip), %rax      # 0x5098
movb $0x65, 0x3(%rbx,%rax)
movw $0x7461, 0x1(%rbx,%rax) # imm = 0x7461
jmp 0x175b
leaq 0x1b51(%rip), %rdi      # 0x3138
callq 0x1bad
testl %eax, %eax
je 0x1761
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x3a90(%rip), %rax      # 0x5098
movl $0x65636e65, 0x1(%rbx,%rax) # imm = 0x65636E65
jmp 0x1789
leaq 0x1b7c(%rip), %rdi      # 0x3198
callq 0x1bad
testl %eax, %eax
jne 0x17a3
leaq 0x1b6f(%rip), %rdi      # 0x319f
callq 0x1bad
testl %eax, %eax
jne 0x169a
leaq 0x1b6d(%rip), %rdi      # 0x31ad
callq 0x1bad
testl %eax, %eax
je 0x1b05
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x3a37(%rip), %rax      # 0x5098
movb $0x6c, 0x3(%rbx,%rax)
movw $0x7566, 0x1(%rbx,%rax) # imm = 0x7566
jmp 0x175b
leaq 0x1b4b(%rip), %rdi      # 0x31c4
callq 0x1bad
testl %eax, %eax
jne 0x17a3
leaq 0x1b3e(%rip), %rdi      # 0x31cb
callq 0x1bad
testl %eax, %eax
je 0x1a7a
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x39ea(%rip), %rax      # 0x5098
movb $0x65, 0x3(%rbx,%rax)
movw $0x7669, 0x1(%rbx,%rax) # imm = 0x7669
jmp 0x175b
leaq 0x1a8a(%rip), %rdi      # 0x3150
callq 0x1bad
testl %eax, %eax
je 0x17c8
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x39b1(%rip), %rax      # 0x5098
movb $0x65, 0x3(%rbx,%rax)
movw $0x7a69, 0x1(%rbx,%rax) # imm = 0x7A69
jmp 0x175b
leaq 0x1ade(%rip), %rdi      # 0x31da
callq 0x1bad
testl %eax, %eax
je 0x17c8
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x397b(%rip), %rax      # 0x5098
movb $0x67, 0x3(%rbx,%rax)
movw $0x6f6c, 0x1(%rbx,%rax) # imm = 0x6F6C
jmp 0x175b
leaq 0x1a24(%rip), %rdi      # 0x3156
callq 0x1bad
testl %eax, %eax
je 0x178f
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x3949(%rip), %rax      # 0x5098
movb $0x65, 0x3(%rbx,%rax)
movw $0x6c62, 0x1(%rbx,%rax) # imm = 0x6C62
leal 0x3(%rax), %r14d
jmp 0x17be
leaq 0x19dc(%rip), %rdi      # 0x3144
callq 0x1bad
testl %eax, %eax
je 0x17c8
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x3917(%rip), %rax      # 0x5098
movl $0x65636e61, 0x1(%rbx,%rax) # imm = 0x65636E61
leal 0x4(%rax), %r14d
jmp 0x17be
leaq 0x19c5(%rip), %rdi      # 0x315b
callq 0x1bad
testl %eax, %eax
je 0x1a93
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x38e5(%rip), %rax      # 0x5098
movw $0x6c61, 0x1(%rbx,%rax) # imm = 0x6C61
leal 0x2(%rax), %r14d
movl %r14d, 0x38cb(%rip)     # 0x5090
movslq %r14d, %r15
movzbl (%rbx,%r15), %eax
cmpl $0x6b, %eax
jg 0x17f5
cmpl $0x65, %eax
je 0x180c
cmpl $0x69, %eax
jne 0x18a9
leaq 0x1a17(%rip), %rdi      # 0x31fe
callq 0x1bad
testl %eax, %eax
jne 0x1865
jmp 0x18a9
cmpl $0x6c, %eax
je 0x1855
cmpl $0x73, %eax
jne 0x18a9
leaq 0x1a01(%rip), %rdi      # 0x320b
jmp 0x1889
leaq 0x19d2(%rip), %rdi      # 0x31e5
callq 0x1bad
testl %eax, %eax
jne 0x1865
leaq 0x19cd(%rip), %rdi      # 0x31f0
callq 0x1bad
testl %eax, %eax
jne 0x1892
leaq 0x19c4(%rip), %rdi      # 0x31f7
callq 0x1bad
testl %eax, %eax
je 0x18a9
callq 0x1c12
testl %eax, %eax
jle 0x18a9
movslq 0x384c(%rip), %rax      # 0x5098
movw $0x6c61, 0x1(%rbx,%rax) # imm = 0x6C61
jmp 0x187c
leaq 0x19a9(%rip), %rdi      # 0x3205
callq 0x1bad
testl %eax, %eax
je 0x1882
callq 0x1c12
testl %eax, %eax
jle 0x18a9
movslq 0x3823(%rip), %rax      # 0x5098
movw $0x6369, 0x1(%rbx,%rax) # imm = 0x6369
leal 0x2(%rax), %r14d
jmp 0x18a2
leaq 0x192d(%rip), %rdi      # 0x31b6
callq 0x1bad
testl %eax, %eax
je 0x18a9
callq 0x1c12
testl %eax, %eax
jle 0x18a9
movl 0x37f6(%rip), %r14d     # 0x5098
movl %r14d, 0x37e7(%rip)     # 0x5090
movslq %r14d, %r15
movzbl -0x1(%rbx,%r15), %eax
addl $-0x61, %eax
cmpl $0x19, %eax
ja 0x1a04
leaq 0x17c3(%rip), %rcx      # 0x3088
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x188c(%rip), %rdi      # 0x3161
jmp 0x19e0
leaq 0x18c7(%rip), %rdi      # 0x31a8
jmp 0x19e0
leaq 0x1924(%rip), %rdi      # 0x3211
jmp 0x19e0
leaq 0x1928(%rip), %rdi      # 0x3221
callq 0x1bad
testl %eax, %eax
jne 0x19e9
leaq 0x1919(%rip), %rdi      # 0x3226
callq 0x1bad
testl %eax, %eax
jne 0x19e9
leaq 0x190c(%rip), %rdi      # 0x322d
callq 0x1bad
testl %eax, %eax
jne 0x19e9
leaq 0x1837(%rip), %rdi      # 0x316c
jmp 0x19e0
leaq 0x17de(%rip), %rdi      # 0x311f
jmp 0x19e0
leaq 0x17fd(%rip), %rdi      # 0x314a
callq 0x1bad
testl %eax, %eax
jne 0x19e9
leaq 0x17dd(%rip), %rdi      # 0x313e
jmp 0x19e0
leaq 0x18c9(%rip), %rdi      # 0x3233
callq 0x1bad
movl 0x3723(%rip), %ecx      # 0x5098
testl %ecx, %ecx
setns %dl
andb %al, %dl
cmpb $0x1, %dl
jne 0x198c
movl %ecx, %eax
movb (%rbx,%rax), %al
addb $-0x73, %al
cmpb $0x2, %al
jb 0x19e9
leaq 0x18a5(%rip), %rdi      # 0x3238
jmp 0x19e0
leaq 0x18a0(%rip), %rdi      # 0x323c
jmp 0x19e0
leaq 0x1847(%rip), %rdi      # 0x31ec
jmp 0x19e0
leaq 0x1867(%rip), %rdi      # 0x3215
callq 0x1bad
testl %eax, %eax
jne 0x19e9
leaq 0x185d(%rip), %rdi      # 0x321b
jmp 0x19e0
leaq 0x17b6(%rip), %rdi      # 0x317d
jmp 0x19e0
leaq 0x173d(%rip), %rdi      # 0x310d
callq 0x1bad
testl %eax, %eax
jne 0x19e9
leaq 0x1861(%rip), %rdi      # 0x3241
callq 0x1bad
testl %eax, %eax
je 0x1a04
callq 0x1c12
cmpl $0x2, %eax
jl 0x1a04
movl 0x369e(%rip), %r14d     # 0x5098
movl %r14d, 0x368f(%rip)     # 0x5090
movslq %r14d, %r15
movl %r14d, 0x368d(%rip)     # 0x5098
movb (%rbx,%r15), %al
cmpb $0x65, %al
jne 0x1a32
callq 0x1c12
cmpl $0x2, %eax
jl 0x1a58
decl %r14d
movl %r14d, %ebp
movl %ebp, 0x3667(%rip)      # 0x5090
movslq %ebp, %rax
movb (%rbx,%rax), %al
movl %ebp, %r14d
cmpb $0x6c, %al
jne 0x1a6c
movl %r14d, %edi
callq 0x1df5
testl %eax, %eax
je 0x1a6c
callq 0x1c12
cmpl $0x2, %eax
jl 0x1a6c
decl %r14d
movl %r14d, 0x363a(%rip)     # 0x5090
jmp 0x1a6c
cmpl $0x1, %eax
jne 0x1a6c
leal -0x1(%r14), %ebp
movl %ebp, %edi
callq 0x1e57
testl %eax, %eax
je 0x1a23
movl %r14d, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1751(%rip), %rdi      # 0x31d2
callq 0x1bad
testl %eax, %eax
jne 0x173b
jmp 0x17c8
leaq 0x16cb(%rip), %rdi      # 0x3165
callq 0x1bad
testl %eax, %eax
je 0x1b0e
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x35e1(%rip), %rax      # 0x5098
movb $0x74, 0x3(%rbx,%rax)
movw $0x6e65, 0x1(%rbx,%rax) # imm = 0x6E65
jmp 0x175b
movl %ebp, %edi
callq 0x1df5
testl %eax, %eax
je 0x1b40
movslq %ebp, %rax
leaq -0x1(%rax), %r14
movl %r14d, 0x35af(%rip)     # 0x5090
movzbl -0x1(%rbx,%rax), %eax
addl $-0x6c, %eax
cmpl $0xe, %eax
ja 0x14fb
movl $0x4081, %ecx           # imm = 0x4081
btl %eax, %ecx
jb 0x14f2
jmp 0x14fb
leaq 0x16af(%rip), %rdi      # 0x31bb
jmp 0x1b7b
leaq 0x165c(%rip), %rdi      # 0x3171
callq 0x1bad
testl %eax, %eax
je 0x1b74
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x3566(%rip), %rax      # 0x5098
movb $0x65, 0x1(%rbx,%rax)
leal 0x1(%rax), %r14d
jmp 0x17be
callq 0x1c12
cmpl $0x1, %eax
jne 0x14f8
movl %ebp, %edi
callq 0x1e57
movl %ebp, %r14d
testl %eax, %eax
je 0x14fb
movslq 0x3531(%rip), %rax      # 0x5098
movb $0x65, 0x1(%rbx,%rax)
leal 0x1(%rax), %ebp
jmp 0x14f2
leaq 0x15fb(%rip), %rdi      # 0x3176
callq 0x1bad
testl %eax, %eax
je 0x17c8
callq 0x1c12
testl %eax, %eax
jle 0x17c8
movslq 0x34fc(%rip), %rax      # 0x5098
movb $0x73, 0x3(%rbx,%rax)
movw $0x756f, 0x1(%rbx,%rax) # imm = 0x756F
jmp 0x175b