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

```asm
<pencil_dgemv_t_nn>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  mov    %edi,-0x54(%rbp)
  mov    %esi,-0x58(%rbp)
  movsd  %xmm0,-0x60(%rbp)
  mov    %edx,-0x64(%rbp)
  mov    %rcx,-0x70(%rbp)
  mov    %r8d,-0x68(%rbp)
  mov    %r9,-0x78(%rbp)
  movsd  %xmm1,-0x80(%rbp)
  mov    -0x58(%rbp),%edx
  movslq %edx,%rax
  sub    $0x1,%rax
  mov    %rax,-0x38(%rbp)
  movslq %edx,%rax
  mov    %rax,%r14
  mov    $0x0,%r15d
  mov    -0x68(%rbp),%ecx
  movslq %ecx,%rax
  sub    $0x1,%rax
  mov    %rax,-0x30(%rbp)
  movslq %ecx,%rax
  mov    %rax,%r12
  mov    $0x0,%r13d
  mov    0x10(%rbp),%eax
  movslq %eax,%rsi
  sub    $0x1,%rsi
  mov    %rsi,-0x28(%rbp)
  movslq %eax,%rsi
  mov    %rsi,%r10
  mov    $0x0,%r11d
  movl   $0x0,-0x44(%rbp)
  jmp    L25
L45:
  mov    -0x44(%rbp),%esi
  movslq %esi,%rdi
  movslq %eax,%rsi
  imul   %rdi,%rsi
  lea    0x0(,%rsi,8),%rdi
  mov    0x18(%rbp),%rsi
  add    %rdi,%rsi
  movsd  (%rsi),%xmm0
  mov    -0x44(%rbp),%esi
  movslq %esi,%rdi
  movslq %eax,%rsi
  imul   %rdi,%rsi
  lea    0x0(,%rsi,8),%rdi
  mov    0x18(%rbp),%rsi
  add    %rdi,%rsi
  mulsd  -0x80(%rbp),%xmm0
  movsd  %xmm0,(%rsi)
  addl   $0x1,-0x44(%rbp)
L25:
  mov    -0x54(%rbp),%esi
  cmp    -0x44(%rbp),%esi
  jg     L45
  movl   $0x0,-0x40(%rbp)
  jmp    L10
L39:
  movl   $0x0,-0x3c(%rbp)
  jmp    L20
L1:
  mov    -0x3c(%rbp),%esi
  movslq %esi,%rdi
  movslq %eax,%rsi
  imul   %rdi,%rsi
  lea    0x0(,%rsi,8),%rdi
  mov    0x18(%rbp),%rsi
  add    %rdi,%rsi
  movsd  (%rsi),%xmm1
  mov    -0x40(%rbp),%esi
  movslq %esi,%rdi
  movslq %edx,%rsi
  imul   %rdi,%rsi
  lea    0x0(,%rsi,8),%rdi
  mov    -0x70(%rbp),%rsi
  add    %rsi,%rdi
  mov    -0x3c(%rbp),%esi
  movslq %esi,%rsi
  movsd  (%rdi,%rsi,8),%xmm0
  movapd %xmm0,%xmm2
  mulsd  -0x60(%rbp),%xmm2
  mov    -0x40(%rbp),%esi
  movslq %esi,%rdi
  movslq %ecx,%rsi
  imul   %rdi,%rsi
  lea    0x0(,%rsi,8),%rdi
  mov    -0x78(%rbp),%rsi
  add    %rdi,%rsi
  movsd  (%rsi),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x3c(%rbp),%esi
  movslq %esi,%rdi
  movslq %eax,%rsi
  imul   %rdi,%rsi
  lea    0x0(,%rsi,8),%rdi
  mov    0x18(%rbp),%rsi
  add    %rdi,%rsi
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rsi)
  addl   $0x1,-0x3c(%rbp)
L20:
  mov    -0x54(%rbp),%esi
  cmp    -0x3c(%rbp),%esi
  jg     L1
  addl   $0x1,-0x40(%rbp)
L10:
  mov    -0x58(%rbp),%esi
  cmp    -0x40(%rbp),%esi
  jg     L39
  nop
  nop
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  pop    %rbp
  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
}
```