user: Please show me the C implementation that matches the assembly code listed below:

```asm
<adjoint33>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x58(%rbp)
  mov    %rsi,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x60(%rbp),%rax
  movsd  0x8(%rax),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0x60(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x60(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  mov    -0x60(%rbp),%rax
  add    $0x18,%rax
  movsd  0x8(%rax),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x60(%rbp),%rax
  add    $0x18,%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  mov    -0x60(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x60(%rbp),%rax
  add    $0x30,%rax
  movsd  0x8(%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x60(%rbp),%rax
  add    $0x30,%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  mulsd  -0x8(%rbp),%xmm0
  movsd  -0x20(%rbp),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x58(%rbp),%rax
  movsd  %xmm0,(%rax)
  movsd  -0x38(%rbp),%xmm0
  mulsd  -0x10(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm1
  mulsd  -0x8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x58(%rbp),%rax
  movsd  %xmm0,0x8(%rax)
  movsd  -0x40(%rbp),%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  -0x38(%rbp),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x58(%rbp),%rax
  movsd  %xmm0,0x10(%rax)
  movsd  -0x20(%rbp),%xmm0
  mulsd  -0x18(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm1
  mulsd  -0x8(%rbp),%xmm1
  mov    -0x58(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x48(%rbp),%xmm0
  mulsd  -0x8(%rbp),%xmm0
  movsd  -0x38(%rbp),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  mov    -0x58(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x8(%rax)
  movsd  -0x38(%rbp),%xmm0
  mulsd  -0x30(%rbp),%xmm0
  movsd  -0x48(%rbp),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  mov    -0x58(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x10(%rax)
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0x10(%rbp),%xmm0
  movsd  -0x28(%rbp),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  mov    -0x58(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x40(%rbp),%xmm0
  mulsd  -0x18(%rbp),%xmm0
  movsd  -0x48(%rbp),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  mov    -0x58(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x8(%rax)
  movsd  -0x48(%rbp),%xmm0
  mulsd  -0x28(%rbp),%xmm0
  movsd  -0x40(%rbp),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  mov    -0x58(%rbp),%rax
  add    $0x30,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,0x10(%rax)
  nop
  pop    %rbp
  ret
```

assistant: ```c
void adjoint33(double madj[3][3], double m[3][3]) {
  double m00, m01, m02, m10, m11, m12, m20, m21, m22;
  m00 = m[0][0];
  m01 = m[0][1];
  m02 = m[0][2];
  m10 = m[1][0];
  m11 = m[1][1];
  m12 = m[1][2];
  m20 = m[2][0];
  m21 = m[2][1];
  m22 = m[2][2];
  madj[0][0] = m11 * m22 - m12 * m21;
  madj[0][1] = m02 * m21 - m01 * m22;
  madj[0][2] = m01 * m12 - m02 * m11;
  madj[1][0] = m12 * m20 - m10 * m22;
  madj[1][1] = m00 * m22 - m02 * m20;
  madj[1][2] = m02 * m10 - m00 * m12;
  madj[2][0] = m10 * m21 - m11 * m20;
  madj[2][1] = m01 * m20 - m00 * m21;
  madj[2][2] = m00 * m11 - m01 * m10;
}
```