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

```asm
<pencil_dgemv_t_nn>:
  endbr64
  push   %r15
  movslq %esi,%rax
  push   %r14
  push   %r13
  mov    %rax,%r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x10,%rsp
  mov    %rax,-0x70(%rsp)
  movslq %r8d,%rax
  mov    0x50(%rsp),%r15
  mov    %r9,-0x60(%rsp)
  movslq 0x48(%rsp),%r9
  mov    %rcx,-0x68(%rsp)
  mov    %rax,-0x78(%rsp)
  test   %edi,%edi
  jle    L38
  mov    %edi,%ebx
  movapd %xmm0,%xmm2
  lea    0x0(,%r9,8),%rcx
  xor    %edx,%edx
  mov    %r15,%rax
  nopl   0x0(%rax)
L106:
  movsd  (%rax),%xmm0
  add    $0x1,%edx
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  add    %rcx,%rax
  cmp    %edx,%ebx
  jne    L106
  test   %r13d,%r13d
  jle    L38
  lea    -0x1(%r13),%eax
  mov    %eax,-0x38(%rsp)
  cmp    $0x2,%r13d
  jle    L67
  lea    -0x1(%rbx),%eax
  lea    0x0(,%r9,8),%rcx
  mov    %eax,-0x34(%rsp)
  cmp    $0x2,%eax
  jbe    L126
  test   %rcx,%rcx
  je     L126
  mov    -0x78(%rsp),%rax
  mov    -0x60(%rsp),%rsi
  mov    %ebx,%ebp
  mov    %ebx,%r10d
  and    $0xfffffffc,%ebp
  mov    %r9,%r8
  shr    $0x2,%r10d
  movapd %xmm2,%xmm3
  shl    $0x5,%r8
  mov    %rax,%rdi
  shl    $0x3,%rax
  unpcklpd %xmm3,%xmm3
  lea    (%rsi,%rax,1),%r12
  neg    %rax
  shl    $0x4,%rdi
  mov    -0x68(%rsp),%rsi
  mov    %rax,-0x50(%rsp)
  mov    -0x70(%rsp),%rax
  shl    $0x5,%r10
  mov    $0x1,%r14d
  mov    %rdi,-0x40(%rsp)
  shl    $0x3,%rax
  mov    %rax,-0x58(%rsp)
  mov    %r9,%rax
  shl    $0x4,%rax
  add    %r15,%rax
  mov    %rax,-0x48(%rsp)
  mov    %ebp,%eax
  imul   %rcx,%rax
  add    %r15,%rax
  mov    %rax,-0x28(%rsp)
  lea    0x1(%rbp),%eax
  mov    %rax,%rdi
  mov    %eax,-0x30(%rsp)
  imul   %rcx,%rax
  add    %r15,%rax
  mov    %rax,-0x20(%rsp)
  lea    0x2(%rbp),%eax
  mov    %rax,%rdx
  mov    %eax,-0x2c(%rsp)
  imul   %rcx,%rax
  add    %r15,%rax
  mov    %rax,-0x8(%rsp)
  movslq %ebp,%rax
  mov    %rax,-0x18(%rsp)
  movslq %edi,%rax
  mov    %rax,-0x10(%rsp)
  movslq %edx,%rax
  mov    %rax,(%rsp)
L197:
  mov    -0x50(%rsp),%rax
  movsd  (%r12),%xmm4
  xor    %edi,%edi
  mov    -0x48(%rsp),%rdx
  movsd  (%r12,%rax,1),%xmm6
  mov    -0x58(%rsp),%rax
  unpcklpd %xmm4,%xmm4
  movapd %xmm6,%xmm5
  lea    (%rsi,%rax,1),%r11
  mov    %r15,%rax
  unpcklpd %xmm5,%xmm5
  nopl   0x0(%rax,%rax,1)
L89:
  movupd (%rsi,%rdi,1),%xmm1
  movsd  (%rax),%xmm0
  movsd  (%rdx),%xmm7
  mulpd  %xmm3,%xmm1
  movhpd (%rax,%rcx,1),%xmm0
  movhpd (%rdx,%rcx,1),%xmm7
  mulpd  %xmm5,%xmm1
  addpd  %xmm0,%xmm1
  movupd 0x10(%rsi,%rdi,1),%xmm0
  mulpd  %xmm3,%xmm0
  movlpd %xmm1,(%rax)
  movhpd %xmm1,(%rax,%rcx,1)
  movupd (%r11,%rdi,1),%xmm1
  mulpd  %xmm3,%xmm1
  mulpd  %xmm5,%xmm0
  mulpd  %xmm4,%xmm1
  addpd  %xmm7,%xmm0
  movlpd %xmm0,(%rdx)
  movhpd %xmm0,(%rdx,%rcx,1)
  movsd  (%rax),%xmm7
  movlpd (%rdx),%xmm0
  movhpd (%rax,%rcx,1),%xmm7
  addpd  %xmm7,%xmm1
  movupd 0x10(%r11,%rdi,1),%xmm7
  add    $0x20,%rdi
  mulpd  %xmm3,%xmm7
  movlpd %xmm1,(%rax)
  movhpd %xmm1,(%rax,%rcx,1)
  add    %r8,%rax
  mulpd  %xmm4,%xmm7
  addpd  %xmm7,%xmm0
  movlpd %xmm0,(%rdx)
  movhpd %xmm0,(%rdx,%rcx,1)
  add    %r8,%rdx
  cmp    %r10,%rdi
  jne    L89
  cmp    %ebp,%ebx
  je     L72
  mov    -0x18(%rsp),%rax
  movsd  (%r12),%xmm4
  mov    -0x28(%rsp),%rdi
  movsd  (%r11,%rax,8),%xmm1
  movsd  (%rsi,%rax,8),%xmm0
  mulsd  %xmm2,%xmm1
  mulsd  %xmm2,%xmm0
  mulsd  %xmm4,%xmm1
  mulsd  %xmm6,%xmm0
  addsd  (%rdi),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rdi)
  cmp    -0x30(%rsp),%ebx
  jle    L72
  mov    -0x10(%rsp),%rax
  mov    -0x20(%rsp),%rdi
  movsd  (%r11,%rax,8),%xmm1
  movsd  (%rsi,%rax,8),%xmm0
  mulsd  %xmm2,%xmm1
  mulsd  %xmm2,%xmm0
  mulsd  %xmm4,%xmm1
  mulsd  %xmm6,%xmm0
  addsd  (%rdi),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rdi)
  cmp    -0x2c(%rsp),%ebx
  jle    L72
  mov    (%rsp),%rax
  movsd  (%r11,%rax,8),%xmm1
  movsd  (%rsi,%rax,8),%xmm0
  mov    -0x8(%rsp),%rsi
  mulsd  %xmm2,%xmm1
  mulsd  %xmm2,%xmm0
  mulsd  %xmm4,%xmm1
  mulsd  %xmm6,%xmm0
  addsd  (%rsi),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rsi)
L72:
  mov    -0x58(%rsp),%rsi
  lea    0x1(%r14),%eax
  add    -0x40(%rsp),%r12
  add    $0x2,%r14d
  add    %r11,%rsi
  cmp    %r14d,-0x38(%rsp)
  jg     L197
  mov    %eax,%r11d
L61:
  mov    %r9,%rcx
  shl    $0x3,%rcx
  je     L167
  cmpl   $0x4,-0x34(%rsp)
  jbe    L167
  mov    %ebx,%edx
  mov    -0x78(%rsp),%rax
  mov    -0x70(%rsp),%r14
  mov    %ebx,%r12d
  and    $0xfffffffe,%edx
  movslq %r11d,%rdi
  shr    %r12d
  movapd %xmm2,%xmm3
  mov    %edx,%esi
  shl    $0x3,%rax
  mov    %edx,-0x78(%rsp)
  unpcklpd %xmm3,%xmm3
  imul   %rcx,%rsi
  mov    %rax,%rbp
  shl    $0x3,%r14
  mov    %ebx,-0x70(%rsp)
  imul   %rdi,%rbp
  shl    $0x4,%r9
  add    -0x60(%rsp),%rbp
  movslq %edx,%r10
  imul   %r14,%rdi
  shl    $0x4,%r12
  add    -0x68(%rsp),%rdi
  mov    %rax,%rbx
  add    %r15,%rsi
  nopl   0x0(%rax)
L213:
  movsd  0x0(%rbp),%xmm4
  mov    %r15,%rax
  lea    (%r12,%rdi,1),%r8
  mov    %rdi,%rdx
  movapd %xmm4,%xmm5
  unpcklpd %xmm5,%xmm5
  nop
L210:
  movupd (%rdx),%xmm0
  movsd  (%rax),%xmm1
  add    $0x10,%rdx
  mulpd  %xmm3,%xmm0
  movhpd (%rax,%rcx,1),%xmm1
  mulpd  %xmm5,%xmm0
  addpd  %xmm1,%xmm0
  movlpd %xmm0,(%rax)
  movhpd %xmm0,(%rax,%rcx,1)
  add    %r9,%rax
  cmp    %r8,%rdx
  jne    L210
  mov    -0x78(%rsp),%edx
  cmp    %edx,-0x70(%rsp)
  je     L63
  movsd  (%rdi,%r10,8),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  (%rsi),%xmm0
  movsd  %xmm0,(%rsi)
L63:
  add    $0x1,%r11d
  add    %rbx,%rbp
  add    %r14,%rdi
  cmp    %r11d,%r13d
  jg     L213
L38:
  add    $0x10,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L126:
  mov    -0x70(%rsp),%rax
  mov    -0x68(%rsp),%rdi
  mov    $0x1,%ebp
  mov    -0x78(%rsp),%r14
  mov    -0x60(%rsp),%r10
  mov    %rax,%r12
  mov    %rdi,%rsi
  lea    (%rdi,%rax,8),%rdx
  mov    %ebx,%edi
  shl    $0x4,%r14
  shl    $0x4,%r12
L193:
  mov    -0x78(%rsp),%rax
  movsd  (%r10),%xmm4
  mov    %r15,%r8
  movsd  (%r10,%rax,8),%xmm3
  xor    %eax,%eax
  xchg   %ax,%ax
L147:
  movsd  (%rdx,%rax,8),%xmm1
  movsd  (%rsi,%rax,8),%xmm0
  add    $0x1,%rax
  mulsd  %xmm2,%xmm1
  mulsd  %xmm2,%xmm0
  mulsd  %xmm3,%xmm1
  mulsd  %xmm4,%xmm0
  addsd  (%r8),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%r8)
  add    %rcx,%r8
  cmp    %rdi,%rax
  jne    L147
  lea    0x1(%rbp),%r11d
  add    %r14,%r10
  add    $0x2,%ebp
  add    %r12,%rsi
  add    %r12,%rdx
  cmp    %ebp,-0x38(%rsp)
  jg     L193
  jmp    L61
L67:
  lea    -0x1(%rbx),%eax
  xor    %r11d,%r11d
  mov    %eax,-0x34(%rsp)
  jmp    L61
L167:
  mov    -0x70(%rsp),%r8
  mov    -0x78(%rsp),%rsi
  movslq %r11d,%rax
  mov    $0xfffffffffffffff8,%r10
  mov    -0x34(%rsp),%edx
  mov    %rax,%rdi
  shl    $0x3,%r8
  shl    $0x3,%rsi
  shl    $0x3,%rdx
  imul   %r8,%rax
  add    -0x68(%rsp),%rax
  imul   %rsi,%rdi
  lea    0x8(%rdx,%rax,1),%r9
  add    -0x60(%rsp),%rdi
  sub    %rdx,%r10
  nop
L184:
  movsd  (%rdi),%xmm1
  mov    %r15,%rdx
  lea    (%r10,%r9,1),%rax
  nopl   0x0(%rax,%rax,1)
L135:
  movsd  (%rax),%xmm0
  add    $0x8,%rax
  mulsd  %xmm2,%xmm0
  mulsd  %xmm1,%xmm0
  addsd  (%rdx),%xmm0
  movsd  %xmm0,(%rdx)
  add    %rcx,%rdx
  cmp    %r9,%rax
  jne    L135
  add    $0x1,%r11d
  add    %rsi,%rdi
  add    %r8,%r9
  cmp    %r11d,%r13d
  jg     L184
  add    $0x10,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void pencil_dgemv_t_nn(int m_10065_10129, int n_10066_10130, double alpha_10067_10131, int ldA_10068_10132, double A_10069_10133[restrict const m_10065_10129][n_10066_10130], int incX_10070_10134, double X_10071_10135[restrict const n_10066_10130][incX_10070_10134], double beta_10072_10136, int incY_10073_10137, double Y_10074_10138[restrict const m_10065_10129][incY_10073_10137]) {
#pragma scop
  {
#pragma pencil independent
    for (int i_4193_4429_8620_12181 = 0; i_4193_4429_8620_12181 <= (m_10065_10129 - 1); i_4193_4429_8620_12181 += 1) {
      Y_10074_10138[i_4193_4429_8620_12181][0] = (Y_10074_10138[i_4193_4429_8620_12181][0] * beta_10072_10136);
    }
    for (int i_4195_4430_8621_12183 = 0; i_4195_4430_8621_12183 <= (n_10066_10130 - 1); i_4195_4430_8621_12183 += 1) {
      for (int i_4194_4431_8622_12182 = 0; i_4194_4431_8622_12182 <= (m_10065_10129 - 1); i_4194_4431_8622_12182 += 1) {
        Y_10074_10138[i_4194_4431_8622_12182][0] = (Y_10074_10138[i_4194_4431_8622_12182][0] + ((alpha_10067_10131 * A_10069_10133[i_4195_4430_8621_12183][i_4194_4431_8622_12182]) * X_10071_10135[i_4195_4430_8621_12183][0]));
      }
    }
  }
#pragma endscop
}
```