user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<xscale_up_reduce_n>:
  endbr64
  mov    %ecx,%r8d
  test   %ecx,%ecx
  jle    L78
  movslq %ecx,%rax
  lea    -0x1(%rcx),%r10d
  lea    (%rsi,%rax,4),%r9
  shl    $0x4,%rax
  add    %rdi,%rax
  cmp    %rax,%rsi
  setae  %cl
  cmp    %r9,%rdi
  setae  %al
  or     %eax,%ecx
  lea    0x10(%rdx),%rax
  cmp    %rax,%rsi
  setae  %al
  cmp    %r9,%rdx
  setae  %r9b
  or     %r9d,%eax
  test   %al,%cl
  je     L60
  cmp    $0x2,%r10d
  jbe    L60
  mov    %r8d,%r9d
  movss  (%rdx),%xmm7
  movss  0x4(%rdx),%xmm6
  mov    %rdi,%rax
  shr    $0x2,%r9d
  movss  0x8(%rdx),%xmm5
  movss  0xc(%rdx),%xmm4
  mov    %rsi,%rcx
  sub    $0x1,%r9d
  shufps $0x0,%xmm7,%xmm7
  shufps $0x0,%xmm6,%xmm6
  shl    $0x6,%r9
  shufps $0x0,%xmm5,%xmm5
  shufps $0x0,%xmm4,%xmm4
  lea    0x40(%rdi,%r9,1),%r9
  nopw   0x0(%rax,%rax,1)
L3:
  movups (%rax),%xmm1
  movups 0x10(%rax),%xmm0
  add    $0x40,%rax
  add    $0x10,%rcx
  movups -0x20(%rax),%xmm3
  movaps %xmm1,%xmm2
  shufps $0xdd,%xmm0,%xmm1
  movaps %xmm1,%xmm8
  shufps $0x88,%xmm0,%xmm2
  movups -0x10(%rax),%xmm0
  movaps %xmm3,%xmm9
  shufps $0x88,%xmm0,%xmm9
  shufps $0xdd,%xmm0,%xmm3
  movaps %xmm2,%xmm0
  shufps $0x88,%xmm3,%xmm8
  shufps $0x88,%xmm9,%xmm0
  mulps  %xmm7,%xmm0
  shufps $0xdd,%xmm9,%xmm2
  shufps $0xdd,%xmm3,%xmm1
  mulps  %xmm6,%xmm8
  mulps  %xmm5,%xmm2
  mulps  %xmm4,%xmm1
  addps  %xmm8,%xmm0
  addps  %xmm2,%xmm0
  addps  %xmm1,%xmm0
  movups %xmm0,-0x10(%rcx)
  cmp    %r9,%rax
  jne    L3
  mov    %r8d,%eax
  and    $0xfffffffc,%eax
  test   $0x3,%r8b
  je     L78
  mov    %eax,%r9d
  mov    %r9,%r11
  lea    0x0(,%r9,4),%r10
  shl    $0x4,%r11
  lea    (%rdi,%r11,1),%rcx
  movss  (%rcx),%xmm0
  movss  0x4(%rcx),%xmm1
  mulss  (%rdx),%xmm0
  mulss  0x4(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  0x8(%rcx),%xmm1
  mulss  0x8(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  0xc(%rcx),%xmm1
  mulss  0xc(%rdx),%xmm1
  lea    0x1(%rax),%ecx
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rsi,%r9,4)
  cmp    %ecx,%r8d
  jle    L78
  lea    0x10(%rdi,%r11,1),%rcx
  add    $0x2,%eax
  movss  (%rcx),%xmm0
  movss  0x4(%rcx),%xmm1
  mulss  (%rdx),%xmm0
  mulss  0x4(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  0x8(%rcx),%xmm1
  mulss  0x8(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  0xc(%rcx),%xmm1
  mulss  0xc(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,0x4(%rsi,%r10,1)
  cmp    %eax,%r8d
  jle    L78
  lea    0x20(%rdi,%r11,1),%rax
  movss  (%rax),%xmm0
  movss  0x4(%rax),%xmm1
  mulss  (%rdx),%xmm0
  mulss  0x4(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  0x8(%rax),%xmm1
  mulss  0x8(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  0xc(%rax),%xmm1
  mulss  0xc(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,0x8(%rsi,%r10,1)
  ret
  nopl   0x0(%rax)
L60:
  shl    $0x4,%r10
  mov    %rdi,%rax
  lea    0x10(%rdi,%r10,1),%rcx
  nopl   0x0(%rax)
L43:
  movss  0x4(%rax),%xmm1
  movss  (%rdx),%xmm0
  add    $0x10,%rax
  add    $0x4,%rsi
  mulss  0x4(%rdx),%xmm1
  mulss  -0x10(%rax),%xmm0
  addss  %xmm1,%xmm0
  movss  -0x8(%rax),%xmm1
  mulss  0x8(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  -0x4(%rax),%xmm1
  mulss  0xc(%rdx),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x4(%rsi)
  cmp    %rcx,%rax
  jne    L43
L78:
  ret
```

assistant: ```c
void xscale_up_reduce_n(float in[][4], float *out, float *coeffs, int cmp) {
  int i;
  for (i = 0; i < cmp; i++) {
    out[i] = in[i][0] * coeffs[0] + in[i][1] * coeffs[1] + in[i][2] * coeffs[2] + in[i][3] * coeffs[3];
  }
}
```