// File: /workspace/github_c_makefile_star2_O3/enzo1982[P]smooth/libraries/libwebp/src/dsp/dec.c
// Function: FilterLoop26_C
static WEBP_INLINE void FilterLoop26_C(uint8_t* p,
                                       int hstride, int vstride, int size,
                                       int thresh, int ithresh,
                                       int hev_thresh) {
  const int thresh2 = 2 * thresh + 1;
  while (size-- > 0) {
    if (NeedsFilter2_C(p, hstride, thresh2, ithresh)) {
      if (Hev(p, hstride, hev_thresh)) {
        DoFilter2_C(p, hstride);
      } else {
        DoFilter6_C(p, hstride);
      }
    }
    p += vstride;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %r9d, -0x64(%rsp)
testl %ecx, %ecx
jle 0xd964c
leal 0x1(,%r8,2), %r9d
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %r8
movq %r8, -0x10(%rsp)
negq %r8
movq %r8, -0x20(%rsp)
leaq (%rsi,%rsi), %rbx
negq %rbx
movq %rsi, %r14
negq %r14
leal (%rsi,%rsi), %eax
cltq
movq %rax, -0x28(%rsp)
leaq 0x91c49(%rip), %rax     # 0x16afe8
movq (%rax), %r12
leal (,%rsi,4), %eax
negl %eax
cltq
movq %rax, -0x8(%rsp)
leaq 0x91c17(%rip), %rax     # 0x16afd0
movq (%rax), %rax
movq %rax, -0x38(%rsp)
leaq 0x91c18(%rip), %rax     # 0x16afe0
movq (%rax), %rax
movq %rax, -0x40(%rsp)
leaq 0x91c01(%rip), %rax     # 0x16afd8
movq (%rax), %rax
movq %rax, -0x18(%rsp)
movslq %edx, %rdx
incl %ecx
movl %r9d, -0x4c(%rsp)
movzbl (%rdi,%rbx), %r11d
movzbl (%rdi,%r14), %eax
movzbl (%rdi), %ebp
movzbl (%rdi,%rsi), %r15d
movq %rax, %r10
subq %rbp, %r10
movzbl (%r12,%r10), %r13d
movq %r11, %r10
subq %r15, %r10
movzbl (%r12,%r10), %r8d
leal (%r8,%r13,4), %r8d
cmpl %r9d, %r8d
jg 0xd963e
movq -0x20(%rsp), %r8
movzbl (%rdi,%r8), %r13d
movq -0x8(%rsp), %r8
movzbl (%rdi,%r8), %r8d
subq %r13, %r8
movzbl (%r12,%r8), %r8d
cmpl -0x64(%rsp), %r8d
jg 0xd963e
movq %r13, %r8
subq %r11, %r8
movzbl (%r12,%r8), %r8d
cmpl -0x64(%rsp), %r8d
ja 0xd963e
movq %r11, %r8
subq %rax, %r8
movzbl (%r12,%r8), %r8d
cmpl -0x64(%rsp), %r8d
ja 0xd963e
movq -0x28(%rsp), %r8
movzbl (%rdi,%r8), %r9d
movq -0x10(%rsp), %r8
movzbl (%rdi,%r8), %r8d
movq %r9, -0x30(%rsp)
subq %r9, %r8
movl -0x4c(%rsp), %r9d
movzbl (%r12,%r8), %r8d
cmpl -0x64(%rsp), %r8d
ja 0xd963e
movq -0x30(%rsp), %r8
subq %r15, %r8
movzbl (%r12,%r8), %r8d
cmpl -0x64(%rsp), %r8d
ja 0xd963e
movq %r15, %r8
subq %rbp, %r8
movzbl (%r12,%r8), %r8d
cmpl -0x64(%rsp), %r8d
ja 0xd963e
movq %rbx, -0x48(%rsp)
movl %r11d, %r8d
movl %eax, %ebx
movq %rbx, -0x60(%rsp)
movq %r8, -0x58(%rsp)
subq -0x60(%rsp), %r8
movzbl (%r12,%r8), %ebx
movl %r15d, %r8d
movq %r8, -0x60(%rsp)
cmpl 0x38(%rsp), %ebx
jg 0xd9512
movl %ebp, %ebx
movq -0x60(%rsp), %r8
subq %rbx, %r8
movzbl (%r12,%r8), %r8d
cmpl 0x38(%rsp), %r8d
jbe 0xd957c
movl %ebp, %r8d
subl %eax, %r8d
leal (%r8,%r8,2), %r8d
movq -0x58(%rsp), %r11
subq -0x60(%rsp), %r11
movq -0x38(%rsp), %r10
movsbl (%r10,%r11), %r10d
leal (%r10,%r8), %r11d
addl $0x4, %r11d
sarl $0x3, %r11d
movslq %r11d, %r11
movq -0x18(%rsp), %r15
movsbl (%r15,%r11), %r11d
addl %r10d, %r8d
addl $0x3, %r8d
sarl $0x3, %r8d
movslq %r8d, %r8
movsbq (%r15,%r8), %r8
addq %rax, %r8
movq -0x40(%rsp), %r10
movb (%r10,%r8), %al
movb %al, (%rdi,%r14)
subl %r11d, %ebp
movq %rdi, %rax
movq -0x48(%rsp), %rbx
jmp 0xd9634
movq %rbp, %r8
subq %rax, %r8
leaq (%r8,%r8,2), %rbx
movq -0x38(%rsp), %r8
movsbq (%r8,%r10), %r10
addq %rbx, %r10
movsbl (%r8,%r10), %r8d
movq %r8, -0x60(%rsp)
leal (%r8,%r8,8), %r8d
leal (%r8,%r8,2), %r10d
addl $0x3f, %r10d
sarl $0x7, %r10d
movslq %r10d, %r10
addq %r10, %rax
movq %rax, -0x58(%rsp)
subq %r10, %rbp
leal 0x3f(,%r8,2), %r8d
sarl $0x7, %r8d
movslq %r8d, %r8
leaq (%r8,%r11), %r10
subq %r8, %r15
movq -0x60(%rsp), %rax
leal (%rax,%rax,8), %r8d
addl $0x3f, %r8d
sarl $0x7, %r8d
movslq %r8d, %r8
addq %r8, %r13
movq -0x40(%rsp), %rax
movb (%rax,%r13), %r11b
movq -0x20(%rsp), %r13
movb %r11b, (%rdi,%r13)
movb (%rax,%r10), %r10b
movq -0x48(%rsp), %rbx
movb %r10b, (%rdi,%rbx)
movq %rax, %r10
movq -0x58(%rsp), %rax
movb (%r10,%rax), %al
movb %al, (%rdi,%r14)
movb (%r10,%rbp), %al
movb %al, (%rdi)
movb (%r10,%r15), %al
movb %al, (%rdi,%rsi)
movq -0x30(%rsp), %rbp
subl %r8d, %ebp
movq -0x28(%rsp), %rax
addq %rdi, %rax
movslq %ebp, %r8
movb (%r10,%r8), %r8b
movb %r8b, (%rax)
addq %rdx, %rdi
decl %ecx
cmpl $0x1, %ecx
ja 0xd93e9
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq