user: What is the c source code of the assembly code below:

```asm
<d_max_mat>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x48,%rsp
  mov    %esi,0xc(%rsp)
  mov    %rdx,0x38(%rsp)
  mov    %ecx,0x20(%rsp)
  test   %edi,%edi
  jle    L10
  test   %esi,%esi
  jle    L10
  movslq %ecx,%rax
  pxor   %xmm1,%xmm1
  mov    %rdx,%rsi
  mov    %edi,%r14d
  mov    %rax,0x18(%rsp)
  shl    $0x3,%rax
  cvtsd2ss (%rdx),%xmm1
  mov    %rsi,%r13
  mov    %rax,0x10(%rsp)
  lea    -0x4(%rdi),%eax
  movaps %xmm1,%xmm0
  xor    %r15d,%r15d
  shr    $0x2,%eax
  movl   $0x0,0x8(%rsp)
  lea    D100(%rip),%rbp
  mov    %eax,%edx
  lea    0x4(,%rax,4),%eax
  movl   $0x0,0x4(%rsp)
  mov    %eax,0x24(%rsp)
  lea    0x0(,%rdx,4),%rdi
  lea    0x20(%rsi),%rax
  mov    %rdi,0x28(%rsp)
  mov    %rax,0x30(%rsp)
  movss  %xmm1,D11(%rip)
  movss  %xmm1,D11(%rip)
  movss  %xmm1,D50(%rip)
  movss  %xmm1,D59(%rip)
  cmp    $0x3,%r14d
  jle    L48
  nopl   0x0(%rax)
L106:
  mov    0x28(%rsp),%rax
  mov    0x30(%rsp),%rdx
  mov    %r13,%rbx
  add    %r15,%rax
  lea    (%rdx,%rax,8),%r12
  jmp    L47
  xchg   %ax,%ax
L21:
  pxor   %xmm1,%xmm1
  cvtsd2ss (%rbx),%xmm1
L47:
  call   <fmax@plt>
  pxor   %xmm1,%xmm1
  add    $0x20,%rbx
  movss  %xmm0,0x0(%rbp)
  movss  D11(%rip),%xmm0
  cvtsd2ss -0x18(%rbx),%xmm1
  call   <fmax@plt>
  pxor   %xmm1,%xmm1
  movss  %xmm0,D41(%rip)
  movss  D50(%rip),%xmm0
  cvtsd2ss -0x10(%rbx),%xmm1
  call   <fmax@plt>
  pxor   %xmm1,%xmm1
  movss  %xmm0,D41(%rip)
  movss  D59(%rip),%xmm0
  cvtsd2ss -0x8(%rbx),%xmm1
  call   <fmax@plt>
  movss  %xmm0,D41(%rip)
  movss  0x0(%rbp),%xmm0
  cmp    %rbx,%r12
  jne    L21
  movslq 0x24(%rsp),%rbx
  cmp    %r14d,%ebx
  jge    L43
  mov    0x8(%rsp),%eax
  mov    0x38(%rsp),%rdx
  pxor   %xmm1,%xmm1
  add    %ebx,%eax
  cltq
  cvtsd2ss (%rdx,%rax,8),%xmm1
L39:
  call   <fmax@plt>
  add    $0x1,%rbx
  movss  %xmm0,0x0(%rbp)
  cmp    %ebx,%r14d
  jle    L43
  pxor   %xmm1,%xmm1
  cvtsd2ss 0x0(%r13,%rbx,8),%xmm1
  jmp    L39
  nopw   0x0(%rax,%rax,1)
L43:
  addl   $0x1,0x4(%rsp)
  mov    0x20(%rsp),%esi
  mov    0x4(%rsp),%eax
  add    %esi,0x8(%rsp)
  add    0x10(%rsp),%r13
  add    0x18(%rsp),%r15
  cmp    %eax,0xc(%rsp)
  jle    L70
  pxor   %xmm1,%xmm1
  cvtsd2ss 0x0(%r13),%xmm1
  cmp    $0x3,%r14d
  jg     L106
L48:
  xor    %ebx,%ebx
  jmp    L39
  nopl   0x0(%rax)
L70:
  movss  D41(%rip),%xmm1
  call   <fmax@plt>
  movss  D41(%rip),%xmm1
  movss  %xmm0,D41(%rip)
  movss  D41(%rip),%xmm0
  call   <fmax@plt>
  movaps %xmm0,%xmm1
  movss  %xmm0,D41(%rip)
  movss  D41(%rip),%xmm0
  call   <fmax@plt>
  movss  %xmm0,D41(%rip)
  add    $0x48,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L10:
  add    $0x48,%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];
}
```