user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<mix_scale_stereo>:
  endbr64
  test   %r8d,%r8d
  jle    L10
  mov    %rdi,%r9
  mov    %rsi,%rdi
  mov    %rdx,%rsi
  cmp    $0x1,%r8d
  mov    %rcx,%rdx
  mov    %rsi,%rax
  lea    0x4(%r9),%rcx
  setne  %r10b
  sub    %rcx,%rax
  push   %rbx
  cmp    $0x8,%rax
  jbe    L165
  test   %r10b,%r10b
  je     L165
  lea    -0x1(%r8),%eax
  mov    %r8d,%r11d
  cmp    $0x2,%eax
  jbe    L7
  mov    %r8d,%ecx
  movaps %xmm0,%xmm2
  xor    %eax,%eax
  shr    $0x2,%ecx
  shufps $0x0,%xmm2,%xmm2
  shl    $0x4,%rcx
  nopw   0x0(%rax,%rax,1)
L192:
  movups (%r9,%rax,1),%xmm1
  movups (%rsi,%rax,1),%xmm3
  mulps  %xmm2,%xmm1
  addps  %xmm3,%xmm1
  movups %xmm1,(%rsi,%rax,1)
  add    $0x10,%rax
  cmp    %rcx,%rax
  jne    L192
  mov    %r8d,%ecx
  and    $0xfffffffc,%ecx
  mov    %ecx,%eax
  cmp    %ecx,%r8d
  je     L178
  mov    %r8d,%r11d
  sub    %ecx,%r11d
  cmp    $0x1,%r11d
  je     L33
L93:
  movq   (%r9,%rcx,4),%xmm1
  movaps %xmm0,%xmm2
  lea    (%rsi,%rcx,4),%rbx
  mov    %r11d,%ecx
  shufps $0xe0,%xmm2,%xmm2
  and    $0xfffffffe,%ecx
  mulps  %xmm2,%xmm1
  movq   (%rbx),%xmm2
  add    %ecx,%eax
  addps  %xmm2,%xmm1
  movlps %xmm1,(%rbx)
  cmp    %ecx,%r11d
  je     L178
L33:
  cltq
  movss  (%r9,%rax,4),%xmm1
  lea    (%rsi,%rax,4),%rcx
  mulss  %xmm0,%xmm1
  addss  (%rcx),%xmm1
  movss  %xmm1,(%rcx)
L178:
  lea    0x4(%rdi),%rcx
  mov    %rdx,%rax
  sub    %rcx,%rax
  cmp    $0x8,%rax
  jbe    L18
  test   %r10b,%r10b
  je     L18
  lea    -0x1(%r8),%eax
  mov    %r8d,%esi
  cmp    $0x2,%eax
  jbe    L20
  mov    %r8d,%ecx
  movaps %xmm0,%xmm2
  xor    %eax,%eax
  shr    $0x2,%ecx
  shufps $0x0,%xmm2,%xmm2
  shl    $0x4,%rcx
L171:
  movups (%rdi,%rax,1),%xmm1
  movups (%rdx,%rax,1),%xmm4
  mulps  %xmm2,%xmm1
  addps  %xmm4,%xmm1
  movups %xmm1,(%rdx,%rax,1)
  add    $0x10,%rax
  cmp    %rcx,%rax
  jne    L171
  mov    %r8d,%ecx
  and    $0xfffffffc,%ecx
  mov    %ecx,%eax
  cmp    %ecx,%r8d
  je     L140
  mov    %r8d,%esi
  sub    %ecx,%esi
  cmp    $0x1,%esi
  je     L37
L91:
  movq   (%rdi,%rcx,4),%xmm1
  movaps %xmm0,%xmm2
  lea    (%rdx,%rcx,4),%r8
  mov    %esi,%ecx
  shufps $0xe0,%xmm2,%xmm2
  and    $0xfffffffe,%ecx
  mulps  %xmm2,%xmm1
  movq   (%r8),%xmm2
  add    %ecx,%eax
  addps  %xmm2,%xmm1
  movlps %xmm1,(%r8)
  cmp    %ecx,%esi
  je     L140
L37:
  cltq
  mulss  (%rdi,%rax,4),%xmm0
  lea    (%rdx,%rax,4),%rdx
  addss  (%rdx),%xmm0
  movss  %xmm0,(%rdx)
L140:
  pop    %rbx
  ret
  nopl   0x0(%rax)
L18:
  movslq %r8d,%r8
  xor    %eax,%eax
  nopl   (%rax)
L21:
  movss  (%rdi,%rax,4),%xmm1
  mulss  %xmm0,%xmm1
  addss  (%rdx,%rax,4),%xmm1
  movss  %xmm1,(%rdx,%rax,4)
  add    $0x1,%rax
  cmp    %r8,%rax
  jne    L21
  pop    %rbx
  ret
  xchg   %ax,%ax
L165:
  movslq %r8d,%rcx
  xor    %eax,%eax
  nopl   (%rax)
L177:
  movss  (%r9,%rax,4),%xmm1
  mulss  %xmm0,%xmm1
  addss  (%rsi,%rax,4),%xmm1
  movss  %xmm1,(%rsi,%rax,4)
  add    $0x1,%rax
  cmp    %rcx,%rax
  jne    L177
  jmp    L178
  nopw   0x0(%rax,%rax,1)
L10:
  ret
L20:
  xor    %ecx,%ecx
  xor    %eax,%eax
  jmp    L91
L7:
  xor    %ecx,%ecx
  xor    %eax,%eax
  jmp    L93
```

assistant: ```c
void mix_scale_stereo(const float *l1, const float *r1, float scale, float *l2, float *r2, int len) {
  for (int i = 0; i < len; i++) {
    l2[i] += scale * l1[i];
  }
  for (int i = 0; i < len; i++) {
    r2[i] += scale * r1[i];
  }
}
```