user: 下面的汇编指令对应的C源代码是什么:

```asm
<d_max_mat>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x38,%rsp
  mov    %esi,0x20(%rsp)
  test   %edi,%edi
  jle    L33
  test   %esi,%esi
  jle    L33
  movslq %ecx,%rax
  pxor   %xmm0,%xmm0
  mov    %rdx,%r13
  mov    %edi,%r14d
  mov    %rax,0x10(%rsp)
  shl    $0x3,%rax
  cvtsd2ss (%rdx),%xmm0
  movaps %xmm0,%xmm1
  mov    %rax,0x8(%rsp)
  lea    -0x4(%rdi),%eax
  shufps $0x0,%xmm1,%xmm1
  xor    %r15d,%r15d
  shr    $0x2,%eax
  movl   $0x0,0x4(%rsp)
  lea    D72(%rip),%rbp
  mov    %eax,%edx
  lea    0x4(,%rax,4),%eax
  movaps %xmm1,D124(%rip)
  mov    %eax,0x24(%rsp)
  shl    $0x2,%rdx
  lea    0x20(%r13),%rax
  mov    %rdx,0x18(%rsp)
  mov    %rax,0x28(%rsp)
  nopw   0x0(%rax,%rax,1)
L46:
  cmp    $0x3,%r14d
  jle    L44
  mov    0x18(%rsp),%rax
  mov    0x28(%rsp),%rdi
  mov    %r13,%rbx
  add    %r15,%rax
  lea    (%rdi,%rax,8),%r12
  xchg   %ax,%ax
L76:
  pxor   %xmm1,%xmm1
  add    $0x20,%rbx
  cvtsd2ss -0x20(%rbx),%xmm1
  call   <fmax@plt>
  pxor   %xmm1,%xmm1
  movss  %xmm0,0x0(%rbp)
  movss  D124(%rip),%xmm0
  cvtsd2ss -0x18(%rbx),%xmm1
  call   <fmax@plt>
  pxor   %xmm1,%xmm1
  movss  %xmm0,D19(%rip)
  movss  D19(%rip),%xmm0
  cvtsd2ss -0x10(%rbx),%xmm1
  call   <fmax@plt>
  pxor   %xmm1,%xmm1
  movss  %xmm0,D67(%rip)
  movss  D67(%rip),%xmm0
  cvtsd2ss -0x8(%rbx),%xmm1
  call   <fmax@plt>
  movss  %xmm0,D119(%rip)
  movss  0x0(%rbp),%xmm0
  cmp    %rbx,%r12
  jne    L76
  mov    0x24(%rsp),%eax
  movslq %eax,%rbx
  cmp    %eax,%r14d
  jle    L50
L37:
  pxor   %xmm1,%xmm1
  cvtsd2ss 0x0(%r13,%rbx,8),%xmm1
  call   <fmax@plt>
  add    $0x1,%rbx
  movss  %xmm0,0x0(%rbp)
  cmp    %ebx,%r14d
  jg     L37
L50:
  addl   $0x1,0x4(%rsp)
  add    0x8(%rsp),%r13
  mov    0x4(%rsp),%eax
  add    0x10(%rsp),%r15
  cmp    %eax,0x20(%rsp)
  jg     L46
  movss  D67(%rip),%xmm1
  call   <fmax@plt>
  movss  D119(%rip),%xmm1
  movss  %xmm0,D119(%rip)
  movss  D19(%rip),%xmm0
  call   <fmax@plt>
  movaps %xmm0,%xmm1
  movss  %xmm0,D119(%rip)
  movss  D119(%rip),%xmm0
  call   <fmax@plt>
  movss  %xmm0,D119(%rip)
  add    $0x38,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax,%rax,1)
L44:
  xor    %ebx,%ebx
  jmp    L37
L33:
  add    $0x38,%rsp
  pxor   %xmm0,%xmm0
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
float d_max_mat(int row, int col, double *A, int lda) {
  if (row <= 0 || col <= 0)
    return 0.0;
  int i, j;
  static float max_vec[4];
  max_vec[0] = A[0];
  max_vec[1] = A[0];
  max_vec[2] = A[0];
  max_vec[3] = A[0];
  for (j = 0; j < col; j++) {
    i = 0;
    for (; i < row - 3; i += 4) {
      max_vec[0] = fmax(max_vec[0], A[i + 0 + j * lda]);
      max_vec[1] = fmax(max_vec[1], A[i + 1 + j * lda]);
      max_vec[2] = fmax(max_vec[2], A[i + 2 + j * lda]);
      max_vec[3] = fmax(max_vec[3], A[i + 3 + j * lda]);
    }
    for (; i < row; i++) {
      max_vec[0] = fmax(max_vec[0], A[i + j * lda]);
    }
  }
  max_vec[0] = fmax(max_vec[0], max_vec[2]);
  max_vec[1] = fmax(max_vec[1], max_vec[3]);
  max_vec[0] = fmax(max_vec[0], max_vec[1]);
  return max_vec[0];
}
```