user: Demonstrate the C code that generates the assembly output below:

```asm
<mul_mdmd_md_l1_arb_all>:
  endbr64
  push   %r15
  mov    %esi,%r11d
  mov    %edi,%eax
  push   %r14
  mov    %r11d,%r15d
  mov    %r11d,%r14d
  mov    %eax,%r11d
  push   %r13
  and    $0xfffffffe,%eax
  and    $0x1,%r11d
  and    $0xfffffffe,%r14d
  push   %r12
  and    $0x1,%r15d
  push   %rbp
  push   %rbx
  movslq 0x48(%rsp),%rsi
  movslq 0x38(%rsp),%rdi
  imul   %esi,%eax
  mov    %r11d,-0x8(%rsp)
  mov    %edx,%r11d
  and    $0x1,%r11d
  mov    %rcx,-0x30(%rsp)
  mov    %r11d,-0x10(%rsp)
  cltq
  mov    %edx,%r11d
  and    $0xfffffffe,%r11d
  lea    (%r9,%rax,8),%rax
  mov    %r8,-0x60(%rsp)
  mov    %r9,-0x28(%rsp)
  mov    %r14d,-0xc(%rsp)
  mov    %r11d,-0x4(%rsp)
  mov    %rax,-0x40(%rsp)
  cmp    %rax,%r9
  je     L249
  lea    (%rsi,%rsi,1),%edx
  mov    %rcx,%rbp
  movslq %r14d,%rax
  movslq %r11d,%r8
  lea    (%rdi,%rdi,1),%ecx
  movslq %edx,%rdx
  shl    $0x3,%rax
  mov    %r9,%rbx
  lea    0x0(,%rdi,8),%r11
  lea    0x0(%rbp,%rax,1),%r12
  movslq 0x40(%rsp),%r9
  lea    0x0(,%rdx,8),%rdi
  movslq %ecx,%rdx
  add    %r11,%rax
  mov    %r11,-0x58(%rsp)
  mov    %rdi,-0x50(%rsp)
  lea    0x0(,%rdx,8),%rdi
  add    %rbp,%rax
  lea    0x0(,%r8,8),%r14
  mov    %rdi,-0x48(%rsp)
  mov    %rbx,%rdi
  add    %r14,%rbx
  mov    %rax,%r8
  mov    %r12,-0x18(%rsp)
  lea    0x0(,%rsi,8),%r10
  lea    0x0(,%r9,8),%rsi
  shl    $0x4,%r9
  mov    %rax,-0x20(%rsp)
  mov    %rdi,-0x68(%rsp)
  mov    %r14,-0x38(%rsp)
  mov    %rbx,%r14
  mov    %rbp,%rbx
  nop
L67:
  cmp    %r14,-0x68(%rsp)
  je     L208
  lea    -0x10(%r12),%rbp
  mov    -0x58(%rsp),%rax
  mov    -0x68(%rsp),%rdi
  sub    %rbx,%rbp
  mov    -0x60(%rsp),%r11
  shr    $0x4,%rbp
  add    %rbx,%rax
  add    $0x1,%rbp
  mov    %rax,-0x70(%rsp)
  imul   %r9,%rbp
  cs nopw 0x0(%rax,%rax,1)
L250:
  movsd  (%rdi),%xmm6
  movsd  0x8(%rdi),%xmm3
  mov    %r11,%rax
  movsd  (%rdi,%r10,1),%xmm2
  movsd  0x8(%rdi,%r10,1),%xmm1
  cmp    %r12,%rbx
  je     L85
  mov    -0x70(%rsp),%rdx
  mov    %rbx,%rcx
  mov    %r8,%r13
  nopl   (%rax)
L241:
  movsd  (%rax),%xmm4
  movsd  (%rcx),%xmm5
  add    $0x10,%rdx
  add    $0x10,%rcx
  movsd  0x8(%rax),%xmm0
  movapd %xmm4,%xmm7
  mulsd  %xmm5,%xmm7
  mulsd  %xmm0,%xmm5
  addsd  %xmm7,%xmm6
  addsd  %xmm3,%xmm5
  movsd  -0x10(%rdx),%xmm3
  mulsd  %xmm3,%xmm4
  mulsd  %xmm3,%xmm0
  movsd  -0x8(%rcx),%xmm3
  addsd  %xmm2,%xmm4
  movsd  (%rax,%rsi,1),%xmm2
  addsd  %xmm0,%xmm1
  movsd  0x8(%rax,%rsi,1),%xmm0
  add    %r9,%rax
  movapd %xmm2,%xmm7
  mulsd  %xmm3,%xmm7
  mulsd  %xmm0,%xmm3
  addsd  %xmm7,%xmm6
  addsd  %xmm5,%xmm3
  movsd  -0x8(%rdx),%xmm5
  mulsd  %xmm5,%xmm2
  mulsd  %xmm5,%xmm0
  addsd  %xmm4,%xmm2
  addsd  %xmm0,%xmm1
  cmp    %r8,%rdx
  jne    L241
  lea    (%r11,%rbp,1),%rax
L29:
  test   %r15d,%r15d
  je     L259
  movsd  (%rax),%xmm4
  movsd  0x8(%rax),%xmm0
  movsd  (%r12),%xmm5
  movapd %xmm4,%xmm7
  mulsd  %xmm5,%xmm7
  mulsd  %xmm0,%xmm5
  addsd  %xmm7,%xmm6
  addsd  %xmm5,%xmm3
  movsd  0x0(%r13),%xmm5
  mulsd  %xmm5,%xmm4
  mulsd  %xmm5,%xmm0
  addsd  %xmm4,%xmm2
  addsd  %xmm0,%xmm1
L259:
  movsd  %xmm6,(%rdi)
  add    $0x10,%rdi
  add    $0x10,%r11
  movsd  %xmm3,-0x8(%rdi)
  movsd  %xmm2,-0x10(%rdi,%r10,1)
  movsd  %xmm1,-0x8(%rdi,%r10,1)
  cmp    %r14,%rdi
  jne    L250
L208:
  mov    -0x48(%rsp),%rdi
  mov    -0x50(%rsp),%rcx
  add    %rcx,-0x68(%rsp)
  mov    -0x68(%rsp),%rax
  add    %rdi,%rbx
  add    %rcx,%r14
  add    %rdi,%r12
  add    %rdi,%r8
  cmp    %rax,-0x40(%rsp)
  jne    L67
  mov    -0x60(%rsp),%r8
  mov    -0x20(%rsp),%rdi
  mov    %r10,-0x70(%rsp)
  mov    -0x50(%rsp),%r13
  mov    -0x48(%rsp),%rbx
  mov    %r15d,-0x68(%rsp)
  mov    -0x18(%rsp),%r12
  mov    -0x10(%rsp),%r14d
  mov    -0x40(%rsp),%r10
  mov    -0x30(%rsp),%rbp
  mov    -0x28(%rsp),%r11
  add    -0x38(%rsp),%r8
  jmp    L84
  nopw   0x0(%rax,%rax,1)
L121:
  add    %r13,%r11
  add    %rbx,%rbp
  add    %rbx,%r12
  add    %rbx,%rdi
  cmp    %r11,%r10
  je     L255
L84:
  test   %r14d,%r14d
  je     L121
  mov    -0x38(%rsp),%rcx
  mov    -0x58(%rsp),%rax
  lea    (%r11,%rcx,1),%r15
  movsd  (%r11,%rcx,1),%xmm2
  mov    -0x70(%rsp),%rcx
  add    %rbp,%rax
  movsd  (%r15,%rcx,1),%xmm1
  cmp    %rbp,%r12
  je     L212
  mov    %r8,%rcx
  mov    %rbp,%rdx
  nopl   0x0(%rax,%rax,1)
L161:
  movsd  (%rcx),%xmm0
  movsd  (%rdx),%xmm3
  add    $0x10,%rax
  add    $0x10,%rdx
  mulsd  %xmm0,%xmm3
  mulsd  -0x10(%rax),%xmm0
  addsd  %xmm3,%xmm2
  movsd  -0x8(%rdx),%xmm3
  addsd  %xmm0,%xmm1
  movsd  (%rcx,%rsi,1),%xmm0
  add    %r9,%rcx
  mulsd  %xmm0,%xmm3
  mulsd  -0x8(%rax),%xmm0
  addsd  %xmm3,%xmm2
  addsd  %xmm0,%xmm1
  cmp    %rdi,%rax
  jne    L161
  lea    -0x10(%r12),%rdx
  sub    %rbp,%rdx
  shr    $0x4,%rdx
  add    $0x1,%rdx
  imul   %r9,%rdx
  add    %r8,%rdx
L132:
  mov    -0x68(%rsp),%ecx
  test   %ecx,%ecx
  je     L94
  movsd  (%rdx),%xmm0
  movsd  (%r12),%xmm3
  mulsd  %xmm0,%xmm3
  mulsd  (%rax),%xmm0
  addsd  %xmm3,%xmm2
  addsd  %xmm0,%xmm1
L94:
  mov    -0x38(%rsp),%rax
  movsd  %xmm2,(%r11,%rax,1)
  mov    -0x70(%rsp),%rax
  movsd  %xmm1,(%r15,%rax,1)
  jmp    L121
L85:
  mov    -0x70(%rsp),%r13
  jmp    L29
L255:
  mov    %rbp,-0x30(%rsp)
  mov    -0x68(%rsp),%r15d
  mov    %r11,-0x28(%rsp)
L249:
  mov    -0x8(%rsp),%edx
  test   %edx,%edx
  je     L238
  movslq -0x4(%rsp),%rbx
  movslq -0xc(%rsp),%r9
  mov    -0x28(%rsp),%rbp
  mov    -0x30(%rsp),%r12
  shl    $0x3,%rbx
  shl    $0x3,%r9
  lea    0x0(%rbp,%rbx,1),%r11
  lea    (%r12,%r9,1),%rsi
  cmp    %rbp,%r11
  je     L48
  movslq 0x40(%rsp),%rdi
  lea    -0x10(%r9),%r10
  mov    -0x60(%rsp),%r8
  shr    $0x4,%r10
  lea    0x0(,%rdi,8),%rcx
  add    $0x1,%r10
  shl    $0x4,%rdi
  imul   %rdi,%r10
L217:
  movsd  0x0(%rbp),%xmm2
  movsd  0x8(%rbp),%xmm1
  mov    %r8,%rax
  cmp    %r12,%rsi
  je     L30
  mov    %r12,%rdx
  xchg   %ax,%ax
L196:
  movsd  (%rdx),%xmm0
  movsd  (%rax),%xmm3
  add    $0x10,%rdx
  movsd  -0x8(%rdx),%xmm4
  mulsd  %xmm0,%xmm3
  mulsd  0x8(%rax),%xmm0
  addsd  %xmm3,%xmm2
  movsd  (%rax,%rcx,1),%xmm3
  addsd  %xmm0,%xmm1
  movsd  0x8(%rax,%rcx,1),%xmm0
  add    %rdi,%rax
  mulsd  %xmm4,%xmm3
  mulsd  %xmm4,%xmm0
  addsd  %xmm3,%xmm2
  addsd  %xmm0,%xmm1
  cmp    %rdx,%rsi
  jne    L196
  lea    (%r8,%r10,1),%rax
L30:
  test   %r15d,%r15d
  je     L56
  movsd  (%rsi),%xmm0
  movsd  (%rax),%xmm3
  mulsd  %xmm0,%xmm3
  mulsd  0x8(%rax),%xmm0
  addsd  %xmm3,%xmm2
  addsd  %xmm0,%xmm1
L56:
  movsd  %xmm2,0x0(%rbp)
  add    $0x10,%rbp
  add    $0x10,%r8
  movsd  %xmm1,-0x8(%rbp)
  cmp    %rbp,%r11
  jne    L217
  add    %rbx,-0x60(%rsp)
L48:
  mov    -0x10(%rsp),%eax
  test   %eax,%eax
  je     L238
  mov    -0x30(%rsp),%rdi
  movsd  (%r11),%xmm0
  cmp    %rdi,%rsi
  je     L144
  movslq 0x40(%rsp),%rdx
  mov    -0x60(%rsp),%rax
  lea    0x0(,%rdx,8),%rcx
  shl    $0x4,%rdx
L49:
  movsd  (%rax),%xmm1
  mulsd  (%rdi),%xmm1
  add    $0x10,%rdi
  addsd  %xmm1,%xmm0
  movsd  (%rax,%rcx,1),%xmm1
  mulsd  -0x8(%rdi),%xmm1
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  cmp    %rdi,%rsi
  jne    L49
  lea    -0x10(%r9),%rax
  shr    $0x4,%rax
  add    $0x1,%rax
  imul   %rdx,%rax
  add    %rax,-0x60(%rsp)
L144:
  test   %r15d,%r15d
  je     L247
  mov    -0x60(%rsp),%rax
  movsd  (%rax),%xmm1
  mulsd  (%rsi),%xmm1
  addsd  %xmm1,%xmm0
L247:
  movsd  %xmm0,(%r11)
L238:
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L212:
  mov    %r8,%rdx
  jmp    L132
```

assistant: ```c
void mul_mdmd_md_l1_arb_all(const int M, const int K, const int N, const double *const A, const double *const B, double *const C, const int Astride, const int Bstride, const int Cstride) {
  const double *a0, *b0;
  double *c0;
  const double *ap0_0, *ap0_1;
  const double *bp0;
  double *cp0;
  const int A_sbs_stride = Astride * 2;
  const int C_sbs_stride = Cstride * 2;
  const int k_marg_el = K & 1;
  const int k_norm = K - k_marg_el;
  const int m_marg_el = M & 1;
  const int m_norm = M - m_marg_el;
  const int n_marg_el = N & 1;
  const int n_norm = N - n_marg_el;
  double *const c0_endp = C + m_norm * Cstride;
  register double c00, c01, c10, c11;
  for (c0 = C, a0 = A; c0 != c0_endp; c0 += C_sbs_stride, a0 += A_sbs_stride) {
    const double *const ap0_endp = a0 + k_norm;
    double *const cp0_endp = c0 + n_norm;
    for (b0 = B, cp0 = c0; cp0 != cp0_endp; b0 += 2, cp0 += 2) {
      ap0_0 = a0;
      ap0_1 = ap0_0 + Astride;
      bp0 = b0;
      {
        double *_cp = cp0;
        c00 = _cp[0];
        c01 = _cp[1];
        _cp += Cstride;
        c10 = _cp[0];
        c11 = _cp[1];
      };
      for (; ap0_0 != ap0_endp; ap0_0 += 2, ap0_1 += 2) {
        {
          register double _b0, _b1;
          register double _a0, _a1;
          _b0 = bp0[0];
          _b1 = bp0[1];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
          c01 += _a0 * _b1;
          _a1 = ap0_1[0];
          c10 += _a1 * _b0;
          c11 += _a1 * _b1;
          _b0 = bp0[0];
          _b1 = bp0[1];
          bp0 += Bstride;
          _a0 = ap0_0[1];
          c00 += _a0 * _b0;
          c01 += _a0 * _b1;
          _a1 = ap0_1[1];
          c10 += _a1 * _b0;
          c11 += _a1 * _b1;
        };
      }
      if (k_marg_el & 0x1) {
        {
          register double _b0, _b1;
          register double _a0, _a1;
          _b0 = bp0[0];
          _b1 = bp0[1];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
          c01 += _a0 * _b1;
          _a1 = ap0_1[0];
          c10 += _a1 * _b0;
          c11 += _a1 * _b1;
        };
      }
      {
        double *_cp = cp0;
        _cp[0] = c00;
        _cp[1] = c01;
        _cp += Cstride;
        _cp[0] = c10;
        _cp[1] = c11;
      };
    }
  }
  for (c0 = C, a0 = A; c0 != c0_endp; c0 += C_sbs_stride, a0 += A_sbs_stride) {
    const double *const ap0_endp = a0 + k_norm;
    b0 = B + n_norm;
    cp0 = c0 + n_norm;
    if (n_marg_el & 0x1) {
      ap0_0 = a0;
      ap0_1 = ap0_0 + Astride;
      bp0 = b0;
      {
        double *_cp = cp0;
        c00 = _cp[0];
        _cp += Cstride;
        c10 = _cp[0];
      };
      for (; ap0_0 != ap0_endp; ap0_0 += 2, ap0_1 += 2) {
        {
          register double _b0;
          register double _a0, _a1;
          _b0 = bp0[0];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
          _a1 = ap0_1[0];
          c10 += _a1 * _b0;
          _b0 = bp0[0];
          bp0 += Bstride;
          _a0 = ap0_0[1];
          c00 += _a0 * _b0;
          _a1 = ap0_1[1];
          c10 += _a1 * _b0;
        };
      }
      if (k_marg_el & 0x1) {
        {
          register double _b0;
          register double _a0, _a1;
          _b0 = bp0[0];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
          _a1 = ap0_1[0];
          c10 += _a1 * _b0;
        };
      }
      {
        double *_cp = cp0;
        _cp[0] = c00;
        _cp += Cstride;
        _cp[0] = c10;
      };
    }
  }
  if (m_marg_el & 0x1) {
    const double *const ap0_endp = a0 + k_norm;
    double *const cp0_endp = c0 + n_norm;
    for (b0 = B, cp0 = c0; cp0 != cp0_endp; b0 += 2, cp0 += 2) {
      ap0_0 = a0;
      bp0 = b0;
      {
        double *_cp = cp0;
        c00 = _cp[0];
        c01 = _cp[1];
      };
      for (; ap0_0 != ap0_endp; ap0_0 += 2) {
        {
          register double _b0, _b1;
          register double _a0;
          _b0 = bp0[0];
          _b1 = bp0[1];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
          c01 += _a0 * _b1;
          _b0 = bp0[0];
          _b1 = bp0[1];
          bp0 += Bstride;
          _a0 = ap0_0[1];
          c00 += _a0 * _b0;
          c01 += _a0 * _b1;
        };
      }
      if (k_marg_el & 0x1) {
        {
          register double _b0, _b1;
          register double _a0;
          _b0 = bp0[0];
          _b1 = bp0[1];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
          c01 += _a0 * _b1;
        };
      }
      {
        double *_cp = cp0;
        _cp[0] = c00;
        _cp[1] = c01;
      };
    }
    if (n_marg_el & 0x1) {
      ap0_0 = a0;
      bp0 = b0;
      {
        double *_cp = cp0;
        c00 = _cp[0];
      };
      for (; ap0_0 != ap0_endp; ap0_0 += 2) {
        {
          register double _b0;
          register double _a0;
          _b0 = bp0[0];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
          _b0 = bp0[0];
          bp0 += Bstride;
          _a0 = ap0_0[1];
          c00 += _a0 * _b0;
        };
      }
      if (k_marg_el & 0x1) {
        {
          register double _b0;
          register double _a0;
          _b0 = bp0[0];
          bp0 += Bstride;
          _a0 = ap0_0[0];
          c00 += _a0 * _b0;
        };
      }
      {
        double *_cp = cp0;
        _cp[0] = c00;
      };
    }
  }
}
```