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

```asm
<mul_mdmd_md_l1_arb_all>:
  endbr64
  push   %r15
  mov    %edi,%eax
  mov    %esi,%r10d
  mov    %edx,%edi
  push   %r14
  mov    %eax,%r14d
  and    $0xfffffffe,%eax
  mov    %edx,%r11d
  push   %r13
  mov    %r10d,%r15d
  and    $0x1,%r14d
  and    $0x1,%r11d
  push   %r12
  and    $0xfffffffe,%edi
  and    $0x1,%r15d
  push   %rbp
  push   %rbx
  mov    %r10d,%ebx
  and    $0xfffffffe,%ebx
  sub    $0x10,%rsp
  mov    %rcx,-0x30(%rsp)
  movslq 0x58(%rsp),%rcx
  mov    %r8,-0x60(%rsp)
  movslq 0x48(%rsp),%rsi
  imul   %ecx,%eax
  mov    %r9,-0x28(%rsp)
  mov    %ebx,-0x4(%rsp)
  mov    %r14d,(%rsp)
  cltq
  mov    %r11d,-0x8(%rsp)
  lea    (%r9,%rax,8),%rax
  mov    %edi,0x4(%rsp)
  mov    %rax,-0x40(%rsp)
  cmp    %rax,%r9
  je     L38
  movslq %edi,%rdi
  lea    (%rcx,%rcx,1),%edx
  lea    (%rsi,%rsi,1),%r8d
  movslq %ebx,%rax
  lea    0x0(,%rdi,8),%rbx
  movslq %edx,%rdx
  shl    $0x3,%rax
  cmpl   $0x1,0x50(%rsp)
  mov    %rbx,-0x38(%rsp)
  lea    0x0(,%rsi,8),%rbx
  lea    0x0(,%rcx,8),%r11
  mov    %rbx,-0x58(%rsp)
  movslq 0x50(%rsp),%rbx
  mov    %rbx,-0x20(%rsp)
  lea    0x0(,%rbx,8),%rsi
  lea    0x0(,%rdx,8),%rbx
  movslq %r8d,%rdx
  mov    %rbx,-0x50(%rsp)
  lea    0x0(,%rdx,8),%rbx
  mov    %rbx,-0x48(%rsp)
  jne    L396
  mov    -0x30(%rsp),%rbx
  mov    -0x38(%rsp),%r14
  mov    %r9,-0x68(%rsp)
  mov    -0x20(%rsp),%r8
  lea    (%rbx,%rax,1),%rdi
  add    -0x58(%rsp),%rax
  add    %r9,%r14
  mov    %rax,-0x10(%rsp)
  mov    %rdi,%rbp
  shl    $0x4,%r8
  mov    %rdi,-0x18(%rsp)
  mov    %rbx,%rdi
  add    %rax,%rdi
  nopw   0x0(%rax,%rax,1)
L82:
  mov    -0x68(%rsp),%r9
  cmp    %r14,%r9
  je     L440
  lea    -0x10(%rbp),%r12
  mov    -0x58(%rsp),%rax
  mov    -0x60(%rsp),%r10
  sub    %rbx,%r12
  shr    $0x4,%r12
  add    %rbx,%rax
  add    $0x1,%r12
  mov    %rax,-0x70(%rsp)
  imul   %r8,%r12
  nopl   0x0(%rax,%rax,1)
L457:
  movupd (%r9),%xmm2
  mov    -0x70(%rsp),%rax
  mov    %r10,%rdx
  mov    %rbx,%rcx
  movupd (%r9,%r11,1),%xmm1
  mov    %rdi,%r13
  cmp    %rbp,%rbx
  je     L184
  nopw   0x0(%rax,%rax,1)
L24:
  movupd (%rcx),%xmm0
  movupd (%rdx),%xmm4
  add    $0x10,%rax
  add    $0x10,%rcx
  movupd (%rdx,%rsi,1),%xmm3
  add    %r8,%rdx
  unpcklpd %xmm0,%xmm0
  mulpd  %xmm4,%xmm0
  addpd  %xmm0,%xmm2
  movupd -0x10(%rcx),%xmm0
  unpckhpd %xmm0,%xmm0
  mulpd  %xmm3,%xmm0
  addpd  %xmm0,%xmm2
  movupd -0x10(%rax),%xmm0
  unpcklpd %xmm0,%xmm0
  mulpd  %xmm4,%xmm0
  addpd  %xmm0,%xmm1
  movupd -0x10(%rax),%xmm0
  unpckhpd %xmm0,%xmm0
  mulpd  %xmm3,%xmm0
  addpd  %xmm0,%xmm1
  cmp    %rdi,%rax
  jne    L24
  lea    (%r10,%r12,1),%rdx
  mov    %rbp,%rax
L224:
  test   %r15d,%r15d
  je     L177
  movsd  (%rax),%xmm3
  movupd (%rdx),%xmm4
  add    $0x10,%r9
  add    $0x10,%r10
  movsd  0x0(%r13),%xmm0
  unpcklpd %xmm3,%xmm3
  mulpd  %xmm4,%xmm3
  unpcklpd %xmm0,%xmm0
  mulpd  %xmm4,%xmm0
  addpd  %xmm3,%xmm2
  addpd  %xmm1,%xmm0
  movups %xmm2,-0x10(%r9)
  movups %xmm0,-0x10(%r9,%r11,1)
  cmp    %r14,%r9
  jne    L457
L440:
  mov    -0x48(%rsp),%rdx
  mov    -0x50(%rsp),%rcx
  add    %rcx,-0x68(%rsp)
  mov    -0x68(%rsp),%rax
  add    %rdx,%rbx
  add    %rcx,%r14
  add    %rdx,%rbp
  add    %rdx,%rdi
  cmp    %rax,-0x40(%rsp)
  jne    L82
L439:
  mov    -0x10(%rsp),%rdi
  mov    -0x30(%rsp),%r12
  mov    %rcx,%r13
  mov    %rdx,%rbx
  mov    -0x20(%rsp),%r9
  mov    -0x60(%rsp),%rbp
  mov    %r11,-0x70(%rsp)
  mov    %r15d,-0x50(%rsp)
  mov    -0x18(%rsp),%r8
  add    %r12,%rdi
  mov    -0x8(%rsp),%r14d
  mov    -0x40(%rsp),%r11
  shl    $0x4,%r9
  mov    -0x28(%rsp),%r10
  add    -0x38(%rsp),%rbp
  jmp    L367
  nopw   0x0(%rax,%rax,1)
L231:
  add    %r13,%r10
  add    %rbx,%r12
  add    %rbx,%r8
  add    %rbx,%rdi
  cmp    %r10,%r11
  je     L352
L367:
  test   %r14d,%r14d
  je     L231
  mov    -0x38(%rsp),%rdx
  mov    -0x58(%rsp),%rax
  lea    (%r10,%rdx,1),%r15
  movsd  (%r10,%rdx,1),%xmm2
  mov    -0x70(%rsp),%rdx
  add    %r12,%rax
  movsd  (%r15,%rdx,1),%xmm1
  cmp    %r8,%r12
  je     L211
  mov    %rdi,-0x68(%rsp)
  mov    %rbp,%rcx
  mov    %r12,%rdx
L167:
  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    L167
  lea    -0x10(%r8),%rdx
  sub    %r12,%rdx
  shr    $0x4,%rdx
  add    $0x1,%rdx
  imul   %r9,%rdx
  add    %rbp,%rdx
L226:
  mov    -0x50(%rsp),%ecx
  test   %ecx,%ecx
  je     L303
  movsd  (%rdx),%xmm0
  movsd  (%r8),%xmm3
  mov    -0x68(%rsp),%rax
  mulsd  %xmm0,%xmm3
  mulsd  (%rax),%xmm0
  addsd  %xmm3,%xmm2
  addsd  %xmm0,%xmm1
L303:
  mov    -0x38(%rsp),%rax
  movsd  %xmm2,(%r10,%rax,1)
  mov    -0x70(%rsp),%rax
  movsd  %xmm1,(%r15,%rax,1)
  jmp    L231
  nopl   0x0(%rax,%rax,1)
L177:
  movups %xmm2,(%r9)
  add    $0x10,%r9
  add    $0x10,%r10
  movups %xmm1,-0x10(%r9,%r11,1)
  cmp    %r14,%r9
  jne    L457
  jmp    L440
L184:
  mov    %rax,%r13
  mov    %rbx,%rax
  jmp    L224
L352:
  mov    %r12,-0x30(%rsp)
  mov    -0x50(%rsp),%r15d
  mov    %r10,-0x28(%rsp)
L38:
  mov    (%rsp),%edx
  test   %edx,%edx
  je     L35
  movslq -0x4(%rsp),%rax
  lea    0x0(,%rax,8),%r12
  mov    -0x30(%rsp),%rax
  lea    (%rax,%r12,1),%r10
  movslq 0x4(%rsp),%rax
  lea    0x0(,%rax,8),%r13
  mov    -0x28(%rsp),%rax
  lea    (%rax,%r13,1),%r11
  cmp    %rax,%r11
  je     L127
  movslq 0x50(%rsp),%rsi
  lea    -0x10(%r12),%r8
  shr    $0x4,%r8
  lea    0x0(,%rsi,8),%rbx
  add    $0x1,%r8
  shl    $0x4,%rsi
  cmpl   $0x1,0x50(%rsp)
  jne    L253
  mov    %r8,%rbp
  mov    %r12,-0x70(%rsp)
  mov    -0x60(%rsp),%rdi
  imul   %rsi,%rbp
  mov    -0x30(%rsp),%r9
  mov    -0x28(%rsp),%r12
L429:
  movupd (%r12),%xmm1
  movapd %xmm1,%xmm0
  shufpd $0x1,%xmm1,%xmm0
  cmp    %r9,%r10
  je     L344
  lea    (%rdi,%rbx,1),%r14
  xor    %edx,%edx
  xor    %eax,%eax
  xchg   %ax,%ax
L239:
  mov    %rax,%rcx
  movupd (%rdi,%rdx,1),%xmm1
  add    $0x1,%rax
  shl    $0x4,%rcx
  movupd (%r9,%rcx,1),%xmm2
  shufpd $0x1,%xmm1,%xmm1
  movapd %xmm2,%xmm3
  unpcklpd %xmm2,%xmm3
  unpckhpd %xmm2,%xmm2
  mulpd  %xmm3,%xmm1
  addpd  %xmm1,%xmm0
  movupd (%r14,%rdx,1),%xmm1
  add    %rsi,%rdx
  shufpd $0x1,%xmm1,%xmm1
  mulpd  %xmm2,%xmm1
  addpd  %xmm1,%xmm0
  cmp    %r8,%rax
  jb     L239
  movapd %xmm0,%xmm1
  lea    (%rdi,%rbp,1),%rax
  shufpd $0x1,%xmm0,%xmm1
L112:
  test   %r15d,%r15d
  je     L356
  movsd  (%r10),%xmm2
  movupd (%rax),%xmm0
  add    $0x10,%r12
  add    $0x10,%rdi
  unpcklpd %xmm2,%xmm2
  mulpd  %xmm2,%xmm0
  addpd  %xmm1,%xmm0
  movups %xmm0,-0x10(%r12)
  cmp    %r12,%r11
  jne    L429
L379:
  add    %r13,-0x60(%rsp)
  mov    -0x70(%rsp),%r12
L127:
  mov    -0x8(%rsp),%eax
  test   %eax,%eax
  je     L35
  mov    -0x30(%rsp),%rsi
  movsd  (%r11),%xmm0
  cmp    %rsi,%r10
  je     L193
  movslq 0x50(%rsp),%rax
  mov    -0x60(%rsp),%rdx
  lea    0x0(,%rax,8),%rcx
  shl    $0x4,%rax
L299:
  movsd  (%rdx),%xmm1
  mulsd  (%rsi),%xmm1
  add    $0x10,%rsi
  addsd  %xmm1,%xmm0
  movsd  (%rdx,%rcx,1),%xmm1
  mulsd  -0x8(%rsi),%xmm1
  add    %rax,%rdx
  addsd  %xmm1,%xmm0
  cmp    %rsi,%r10
  jne    L299
  lea    -0x10(%r12),%rdx
  shr    $0x4,%rdx
  add    $0x1,%rdx
  imul   %rdx,%rax
  add    %rax,-0x60(%rsp)
L193:
  test   %r15d,%r15d
  je     L252
  mov    -0x60(%rsp),%rax
  movsd  (%rax),%xmm1
  mulsd  (%r10),%xmm1
  addsd  %xmm1,%xmm0
L252:
  movsd  %xmm0,(%r11)
L35:
  add    $0x10,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L356:
  movups %xmm1,(%r12)
  add    $0x10,%r12
  add    $0x10,%rdi
  cmp    %r12,%r11
  jne    L429
  jmp    L379
L344:
  mov    %rdi,%rax
  jmp    L112
L211:
  mov    %rax,-0x68(%rsp)
  mov    %rbp,%rdx
  jmp    L226
L396:
  mov    -0x30(%rsp),%rbx
  mov    -0x38(%rsp),%r13
  mov    %r9,-0x68(%rsp)
  mov    -0x20(%rsp),%r8
  lea    (%rbx,%rax,1),%rdi
  add    -0x58(%rsp),%rax
  add    %r9,%r13
  mov    %rax,-0x10(%rsp)
  mov    %rdi,%r14
  shl    $0x4,%r8
  mov    %rdi,-0x18(%rsp)
  mov    %rbx,%rdi
  add    %rax,%rdi
L75:
  cmp    %r13,-0x68(%rsp)
  je     L178
  lea    -0x10(%r14),%rbp
  mov    -0x58(%rsp),%rax
  mov    -0x68(%rsp),%r9
  sub    %rbx,%rbp
  mov    -0x60(%rsp),%r10
  shr    $0x4,%rbp
  add    %rbx,%rax
  add    $0x1,%rbp
  mov    %rax,-0x70(%rsp)
  imul   %r8,%rbp
  cs nopw 0x0(%rax,%rax,1)
L331:
  movupd (%r9),%xmm2
  movupd (%r9,%r11,1),%xmm1
  mov    %r10,%rdx
  cmp    %r14,%rbx
  je     L16
  mov    -0x70(%rsp),%rax
  mov    %rbx,%rcx
  mov    %rdi,%r12
  nopw   0x0(%rax,%rax,1)
L39:
  movupd (%rcx),%xmm0
  movupd (%rdx),%xmm4
  add    $0x10,%rax
  add    $0x10,%rcx
  movupd (%rdx,%rsi,1),%xmm3
  add    %r8,%rdx
  unpcklpd %xmm0,%xmm0
  mulpd  %xmm4,%xmm0
  addpd  %xmm0,%xmm2
  movupd -0x10(%rcx),%xmm0
  unpckhpd %xmm0,%xmm0
  mulpd  %xmm3,%xmm0
  addpd  %xmm0,%xmm2
  movupd -0x10(%rax),%xmm0
  unpcklpd %xmm0,%xmm0
  mulpd  %xmm4,%xmm0
  addpd  %xmm0,%xmm1
  movupd -0x10(%rax),%xmm0
  unpckhpd %xmm0,%xmm0
  mulpd  %xmm3,%xmm0
  addpd  %xmm0,%xmm1
  cmp    %rdi,%rax
  jne    L39
  lea    (%r10,%rbp,1),%rdx
  mov    %r14,%rax
L81:
  test   %r15d,%r15d
  je     L504
  movsd  (%rax),%xmm3
  movupd (%rdx),%xmm4
  add    $0x10,%r9
  add    $0x10,%r10
  movsd  (%r12),%xmm0
  unpcklpd %xmm3,%xmm3
  mulpd  %xmm4,%xmm3
  unpcklpd %xmm0,%xmm0
  mulpd  %xmm4,%xmm0
  addpd  %xmm3,%xmm2
  addpd  %xmm1,%xmm0
  movups %xmm2,-0x10(%r9)
  movups %xmm0,-0x10(%r9,%r11,1)
  cmp    %r13,%r9
  jne    L331
L178:
  mov    -0x48(%rsp),%rdx
  mov    -0x50(%rsp),%rcx
  add    %rcx,-0x68(%rsp)
  mov    -0x68(%rsp),%rax
  add    %rdx,%rbx
  add    %rcx,%r13
  add    %rdx,%r14
  add    %rdx,%rdi
  cmp    %rax,-0x40(%rsp)
  jne    L75
  jmp    L439
  nopw   0x0(%rax,%rax,1)
L504:
  movups %xmm2,(%r9)
  add    $0x10,%r9
  add    $0x10,%r10
  movups %xmm1,-0x10(%r9,%r11,1)
  cmp    %r13,%r9
  jne    L331
  jmp    L178
L16:
  mov    -0x70(%rsp),%r12
  mov    %rbx,%rax
  jmp    L81
L253:
  mov    %r8,%rbp
  mov    %r12,-0x70(%rsp)
  mov    %rsi,%rdi
  mov    -0x30(%rsp),%r9
  imul   %rsi,%rbp
  mov    -0x60(%rsp),%rsi
  mov    %rax,%r14
L100:
  movupd (%r14),%xmm1
  movapd %xmm1,%xmm0
  shufpd $0x1,%xmm1,%xmm0
  cmp    %r9,%r10
  je     L124
  lea    (%rsi,%rbx,1),%r12
  xor    %edx,%edx
  xor    %eax,%eax
  nopl   (%rax)
L270:
  mov    %rax,%rcx
  movupd (%rsi,%rdx,1),%xmm1
  add    $0x1,%rax
  shl    $0x4,%rcx
  movupd (%r9,%rcx,1),%xmm2
  shufpd $0x1,%xmm1,%xmm1
  movapd %xmm2,%xmm3
  unpcklpd %xmm2,%xmm3
  unpckhpd %xmm2,%xmm2
  mulpd  %xmm3,%xmm1
  addpd  %xmm1,%xmm0
  movupd (%r12,%rdx,1),%xmm1
  add    %rdi,%rdx
  shufpd $0x1,%xmm1,%xmm1
  mulpd  %xmm2,%xmm1
  addpd  %xmm1,%xmm0
  cmp    %r8,%rax
  jb     L270
  movapd %xmm0,%xmm1
  lea    (%rsi,%rbp,1),%rax
  shufpd $0x1,%xmm0,%xmm1
L74:
  test   %r15d,%r15d
  je     L369
  movsd  (%r10),%xmm2
  movupd (%rax),%xmm0
  add    $0x10,%r14
  add    $0x10,%rsi
  unpcklpd %xmm2,%xmm2
  mulpd  %xmm2,%xmm0
  addpd  %xmm1,%xmm0
  movups %xmm0,-0x10(%r14)
  cmp    %r14,%r11
  jne    L100
  jmp    L379
L369:
  movups %xmm1,(%r14)
  add    $0x10,%r14
  add    $0x10,%rsi
  cmp    %r14,%r11
  jne    L100
  jmp    L379
L124:
  mov    %rsi,%rax
  jmp    L74
```

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;
      };
    }
  }
}
```