user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<ZVaxpy33>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x58,%rsp
  mov    %edi,-0x14(%rbp)
  mov    %rsi,-0x20(%rbp)
  mov    %rdx,-0x28(%rbp)
  mov    %rcx,-0x30(%rbp)
  mov    %r8,-0x38(%rbp)
  mov    %r9,-0x40(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  (%rax),%xmm3
  movsd  %xmm3,-0x48(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x8(%rax),%xmm3
  movsd  %xmm3,-0x50(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x10(%rax),%xmm3
  movsd  %xmm3,-0x58(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x18(%rax),%xmm3
  movsd  %xmm3,-0x60(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x20(%rax),%xmm3
  movsd  %xmm3,-0x68(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x28(%rax),%xmm3
  movsd  %xmm3,-0x70(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x30(%rax),%xmm3
  movsd  %xmm3,-0x78(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x38(%rax),%xmm3
  movsd  %xmm3,-0x80(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x40(%rax),%xmm3
  movsd  %xmm3,-0x88(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x48(%rax),%xmm3
  movsd  %xmm3,-0x90(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x50(%rax),%xmm3
  movsd  %xmm3,-0x98(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x58(%rax),%xmm4
  movsd  %xmm4,-0xa0(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x60(%rax),%xmm5
  movsd  %xmm5,-0xa8(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x68(%rax),%xmm6
  movsd  %xmm6,-0xb0(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x70(%rax),%xmm7
  movsd  %xmm7,-0xb8(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x78(%rax),%xmm3
  movsd  %xmm3,-0xc0(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x80(%rax),%xmm4
  movsd  %xmm4,-0xc8(%rbp)
  mov    -0x38(%rbp),%rax
  movsd  0x88(%rax),%xmm5
  movsd  %xmm5,-0xd0(%rbp)
  movl   $0x0,-0x4(%rbp)
  jmp    L4
L11:
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm4
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm5
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm6
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm7
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x18(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm8
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    0x18(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm9
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm3
  movsd  -0x48(%rbp),%xmm10
  movapd %xmm10,%xmm0
  mulsd  %xmm4,%xmm0
  movsd  -0x50(%rbp),%xmm11
  movapd %xmm11,%xmm1
  mulsd  %xmm5,%xmm1
  movapd %xmm0,%xmm2
  subsd  %xmm1,%xmm2
  movsd  -0x58(%rbp),%xmm12
  movapd %xmm12,%xmm0
  mulsd  %xmm6,%xmm0
  movsd  -0x60(%rbp),%xmm13
  movapd %xmm13,%xmm1
  mulsd  %xmm7,%xmm1
  subsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm2
  movsd  -0x68(%rbp),%xmm14
  movapd %xmm14,%xmm0
  mulsd  %xmm8,%xmm0
  movsd  -0x70(%rbp),%xmm15
  movapd %xmm15,%xmm1
  mulsd  %xmm9,%xmm1
  subsd  %xmm1,%xmm0
  addsd  %xmm2,%xmm0
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm3
  movapd %xmm10,%xmm1
  mulsd  %xmm5,%xmm1
  movapd %xmm11,%xmm0
  mulsd  %xmm4,%xmm0
  movapd %xmm1,%xmm2
  addsd  %xmm0,%xmm2
  movapd %xmm12,%xmm1
  mulsd  %xmm7,%xmm1
  movapd %xmm13,%xmm0
  mulsd  %xmm6,%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm2
  movapd %xmm14,%xmm1
  mulsd  %xmm9,%xmm1
  movapd %xmm15,%xmm0
  mulsd  %xmm8,%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm2,%xmm0
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm3
  movsd  -0x78(%rbp),%xmm10
  movapd %xmm10,%xmm0
  mulsd  %xmm4,%xmm0
  movsd  -0x80(%rbp),%xmm11
  movapd %xmm11,%xmm1
  mulsd  %xmm5,%xmm1
  movapd %xmm0,%xmm2
  subsd  %xmm1,%xmm2
  movsd  -0x88(%rbp),%xmm12
  movapd %xmm12,%xmm0
  mulsd  %xmm6,%xmm0
  movsd  -0x90(%rbp),%xmm13
  movapd %xmm13,%xmm1
  mulsd  %xmm7,%xmm1
  subsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm2
  movsd  -0x98(%rbp),%xmm14
  movapd %xmm14,%xmm0
  mulsd  %xmm8,%xmm0
  movsd  -0xa0(%rbp),%xmm15
  movapd %xmm15,%xmm1
  mulsd  %xmm9,%xmm1
  subsd  %xmm1,%xmm0
  addsd  %xmm2,%xmm0
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm3
  movapd %xmm10,%xmm1
  mulsd  %xmm5,%xmm1
  movapd %xmm11,%xmm0
  mulsd  %xmm4,%xmm0
  movapd %xmm1,%xmm2
  addsd  %xmm0,%xmm2
  movapd %xmm12,%xmm1
  mulsd  %xmm7,%xmm1
  movapd %xmm13,%xmm0
  mulsd  %xmm6,%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm2
  movapd %xmm14,%xmm1
  mulsd  %xmm9,%xmm1
  movapd %xmm15,%xmm0
  mulsd  %xmm8,%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm2,%xmm0
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm3
  movsd  -0xa8(%rbp),%xmm10
  movapd %xmm10,%xmm0
  mulsd  %xmm4,%xmm0
  movsd  -0xb0(%rbp),%xmm11
  movapd %xmm11,%xmm1
  mulsd  %xmm5,%xmm1
  movapd %xmm0,%xmm2
  subsd  %xmm1,%xmm2
  movsd  -0xb8(%rbp),%xmm12
  movapd %xmm12,%xmm0
  mulsd  %xmm6,%xmm0
  movsd  -0xc0(%rbp),%xmm13
  movapd %xmm13,%xmm1
  mulsd  %xmm7,%xmm1
  subsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm2
  movsd  -0xc8(%rbp),%xmm14
  movapd %xmm14,%xmm0
  mulsd  %xmm8,%xmm0
  movsd  -0xd0(%rbp),%xmm15
  movapd %xmm15,%xmm1
  mulsd  %xmm9,%xmm1
  subsd  %xmm1,%xmm0
  addsd  %xmm2,%xmm0
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm10,%xmm5
  movapd %xmm5,%xmm1
  mulsd  %xmm11,%xmm4
  movapd %xmm4,%xmm0
  movapd %xmm1,%xmm2
  addsd  %xmm0,%xmm2
  mulsd  %xmm12,%xmm7
  movapd %xmm7,%xmm1
  mulsd  %xmm13,%xmm6
  movapd %xmm6,%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm2
  mulsd  %xmm14,%xmm9
  movapd %xmm9,%xmm1
  mulsd  %xmm15,%xmm8
  movapd %xmm8,%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm2,%xmm0
  mov    -0x4(%rbp),%eax
  add    %eax,%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x4(%rbp)
L4:
  mov    -0x4(%rbp),%eax
  cmp    -0x14(%rbp),%eax
  jl     L11
  nop
  leave
  ret
```

assistant: ```c
void ZVaxpy33(int n, double y0[], double y1[], double y2[], double alpha[], double x0[], double x1[], double x2[]) {
  register double ar00, ar01, ar02, ar10, ar11, ar12, ar20, ar21, ar22;
  register double ai00, ai01, ai02, ai10, ai11, ai12, ai20, ai21, ai22;
  register double xr0i, xr1i, xr2i;
  register double xi0i, xi1i, xi2i;
  int ii;
  ar00 = alpha[0];
  ai00 = alpha[1];
  ar01 = alpha[2];
  ai01 = alpha[3];
  ar02 = alpha[4];
  ai02 = alpha[5];
  ar10 = alpha[6];
  ai10 = alpha[7];
  ar11 = alpha[8];
  ai11 = alpha[9];
  ar12 = alpha[10];
  ai12 = alpha[11];
  ar20 = alpha[12];
  ai20 = alpha[13];
  ar21 = alpha[14];
  ai21 = alpha[15];
  ar22 = alpha[16];
  ai22 = alpha[17];
  for (ii = 0; ii < n; ii++) {
    xr0i = x0[2 * ii];
    xi0i = x0[2 * ii + 1];
    xr1i = x1[2 * ii];
    xi1i = x1[2 * ii + 1];
    xr2i = x2[2 * ii];
    xi2i = x2[2 * ii + 1];
    y0[2 * ii] += (ar00 * xr0i - ai00 * xi0i) + (ar01 * xr1i - ai01 * xi1i) + (ar02 * xr2i - ai02 * xi2i);
    y0[2 * ii + 1] += (ar00 * xi0i + ai00 * xr0i) + (ar01 * xi1i + ai01 * xr1i) + (ar02 * xi2i + ai02 * xr2i);
    y1[2 * ii] += (ar10 * xr0i - ai10 * xi0i) + (ar11 * xr1i - ai11 * xi1i) + (ar12 * xr2i - ai12 * xi2i);
    y1[2 * ii + 1] += (ar10 * xi0i + ai10 * xr0i) + (ar11 * xi1i + ai11 * xr1i) + (ar12 * xi2i + ai12 * xr2i);
    y2[2 * ii] += (ar20 * xr0i - ai20 * xi0i) + (ar21 * xr1i - ai21 * xi1i) + (ar22 * xr2i - ai22 * xi2i);
    y2[2 * ii + 1] += (ar20 * xi0i + ai20 * xr0i) + (ar21 * xi1i + ai21 * xr1i) + (ar22 * xi2i + ai22 * xr2i);
  }
  return;
}
```