// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/libraries/libwebp/src/dsp/dec.c
// Function: TransformAC3_C
static void TransformAC3_C(const int16_t* in, uint8_t* dst) {
  const int a = in[0] + 4;
  const int c4 = WEBP_TRANSFORM_AC3_MUL2(in[4]);
  const int d4 = WEBP_TRANSFORM_AC3_MUL1(in[4]);
  const int c1 = WEBP_TRANSFORM_AC3_MUL2(in[1]);
  const int d1 = WEBP_TRANSFORM_AC3_MUL1(in[1]);
  STORE2(0, a + d4, d1, c1);
  STORE2(1, a + c4, d1, c1);
  STORE2(2, a - c4, d1, c1);
  STORE2(3, a - d4, d1, c1);
}

// Assembly:
pushq %rbp
pushq %rbx
movswl (%rdi), %r9d
movswl 0x8(%rdi), %eax
imull $0x8a8c, %eax, %r10d    # imm = 0x8A8C
sarl $0x10, %r10d
imull $0x4e7b, %eax, %r8d     # imm = 0x4E7B
sarl $0x10, %r8d
addl %eax, %r8d
movswl 0x2(%rdi), %ecx
imull $0x8a8c, %ecx, %edi     # imm = 0x8A8C
sarl $0x10, %edi
imull $0x4e7b, %ecx, %eax     # imm = 0x4E7B
sarl $0x10, %eax
addl %ecx, %eax
leal (%r9,%r8), %r11d
addl $0x4, %r11d
movzbl (%rsi), %ecx
leal (%r11,%rax), %ebx
sarl $0x3, %ebx
addl %ecx, %ebx
xorl %ecx, %ecx
testl %ebx, %ebx
cmovlel %ecx, %ebx
movl $0xff, %edx
cmpl %edx, %ebx
cmovgel %edx, %ebx
movb %bl, (%rsi)
movzbl 0x1(%rsi), %ebx
leal (%r11,%rdi), %ebp
sarl $0x3, %ebp
addl %ebx, %ebp
testl %ebp, %ebp
cmovlel %ecx, %ebp
cmpl %edx, %ebp
cmovgel %edx, %ebp
movb %bpl, 0x1(%rsi)
movzbl 0x2(%rsi), %ebx
movl %r11d, %ebp
subl %edi, %ebp
sarl $0x3, %ebp
addl %ebx, %ebp
testl %ebp, %ebp
cmovlel %ecx, %ebp
cmpl %edx, %ebp
cmovgel %edx, %ebp
movb %bpl, 0x2(%rsi)
movzbl 0x3(%rsi), %ebx
subl %eax, %r11d
sarl $0x3, %r11d
addl %ebx, %r11d
testl %r11d, %r11d
cmovlel %ecx, %r11d
cmpl %edx, %r11d
cmovgel %edx, %r11d
movb %r11b, 0x3(%rsi)
leal (%r10,%r9), %r11d
addl $0x4, %r11d
movzbl 0x20(%rsi), %ebx
leal (%rax,%r11), %ebp
sarl $0x3, %ebp
addl %ebx, %ebp
testl %ebp, %ebp
cmovlel %ecx, %ebp
addl $0x4, %r9d
cmpl %edx, %ebp
cmovgel %edx, %ebp
movb %bpl, 0x20(%rsi)
movzbl 0x21(%rsi), %ebx
leal (%r11,%rdi), %ebp
sarl $0x3, %ebp
addl %ebx, %ebp
testl %ebp, %ebp
cmovlel %ecx, %ebp
cmpl %edx, %ebp
cmovgel %edx, %ebp
movb %bpl, 0x21(%rsi)
movzbl 0x22(%rsi), %ebx
movl %r11d, %ebp
subl %edi, %ebp
sarl $0x3, %ebp
addl %ebx, %ebp
testl %ebp, %ebp
cmovlel %ecx, %ebp
cmpl %edx, %ebp
cmovgel %edx, %ebp
movb %bpl, 0x22(%rsi)
movzbl 0x23(%rsi), %ebx
subl %eax, %r11d
sarl $0x3, %r11d
addl %ebx, %r11d
testl %r11d, %r11d
cmovlel %ecx, %r11d
cmpl %edx, %r11d
cmovgel %edx, %r11d
movb %r11b, 0x23(%rsi)
movl %r9d, %r11d
subl %r10d, %r11d
movzbl 0x40(%rsi), %r10d
leal (%rax,%r11), %ebx
sarl $0x3, %ebx
addl %r10d, %ebx
testl %ebx, %ebx
cmovlel %ecx, %ebx
cmpl %edx, %ebx
cmovgel %edx, %ebx
movb %bl, 0x40(%rsi)
movzbl 0x41(%rsi), %r10d
leal (%r11,%rdi), %ebx
sarl $0x3, %ebx
addl %r10d, %ebx
testl %ebx, %ebx
cmovlel %ecx, %ebx
cmpl %edx, %ebx
cmovgel %edx, %ebx
movb %bl, 0x41(%rsi)
movzbl 0x42(%rsi), %r10d
movl %r11d, %ebx
subl %edi, %ebx
sarl $0x3, %ebx
addl %r10d, %ebx
testl %ebx, %ebx
cmovlel %ecx, %ebx
cmpl %edx, %ebx
cmovgel %edx, %ebx
movb %bl, 0x42(%rsi)
movzbl 0x43(%rsi), %r10d
subl %eax, %r11d
sarl $0x3, %r11d
addl %r10d, %r11d
testl %r11d, %r11d
cmovlel %ecx, %r11d
cmpl %edx, %r11d
cmovgel %edx, %r11d
movb %r11b, 0x43(%rsi)
subl %r8d, %r9d
movzbl 0x60(%rsi), %r8d
leal (%r9,%rax), %r10d
sarl $0x3, %r10d
addl %r8d, %r10d
testl %r10d, %r10d
cmovlel %ecx, %r10d
cmpl %edx, %r10d
cmovgel %edx, %r10d
movb %r10b, 0x60(%rsi)
movzbl 0x61(%rsi), %r8d
leal (%r9,%rdi), %r10d
sarl $0x3, %r10d
addl %r8d, %r10d
testl %r10d, %r10d
cmovlel %ecx, %r10d
cmpl %edx, %r10d
cmovgel %edx, %r10d
movb %r10b, 0x61(%rsi)
movzbl 0x62(%rsi), %r8d
movl %r9d, %r10d
subl %edi, %r10d
sarl $0x3, %r10d
addl %r8d, %r10d
testl %r10d, %r10d
cmovlel %ecx, %r10d
cmpl %edx, %r10d
cmovgel %edx, %r10d
movb %r10b, 0x62(%rsi)
movzbl 0x63(%rsi), %edi
subl %eax, %r9d
sarl $0x3, %r9d
addl %edi, %r9d
testl %r9d, %r9d
cmovlel %ecx, %r9d
cmpl %edx, %r9d
cmovgel %edx, %r9d
movb %r9b, 0x63(%rsi)
popq %rbx
popq %rbp
retq