user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<mul_mdmd_md_l1_arb_all>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  add    $0xffffffffffffff80,%rsp
  mov    %edi,-0xd4(%rbp)
  mov    %esi,-0xd8(%rbp)
  mov    %edx,-0xdc(%rbp)
  mov    %rcx,-0xe8(%rbp)
  mov    %r8,-0xf0(%rbp)
  mov    %r9,-0xf8(%rbp)
  mov    0x10(%rbp),%eax
  add    %eax,%eax
  mov    %eax,-0xc8(%rbp)
  mov    0x20(%rbp),%eax
  add    %eax,%eax
  mov    %eax,-0xc4(%rbp)
  mov    -0xd8(%rbp),%eax
  and    $0x1,%eax
  mov    %eax,-0xc0(%rbp)
  mov    -0xd8(%rbp),%eax
  sub    -0xc0(%rbp),%eax
  mov    %eax,-0xbc(%rbp)
  mov    -0xd4(%rbp),%eax
  and    $0x1,%eax
  mov    %eax,-0xb8(%rbp)
  mov    -0xd4(%rbp),%eax
  sub    -0xb8(%rbp),%eax
  mov    %eax,-0xb4(%rbp)
  mov    -0xdc(%rbp),%eax
  and    $0x1,%eax
  mov    %eax,-0xb0(%rbp)
  mov    -0xdc(%rbp),%eax
  sub    -0xb0(%rbp),%eax
  mov    %eax,-0xac(%rbp)
  mov    -0xb4(%rbp),%eax
  imul   0x20(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xf8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0xf8(%rbp),%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xe8(%rbp),%rax
  mov    %rax,-0xa8(%rbp)
  jmp    L201
L203:
  mov    -0xbc(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x20(%rbp)
  mov    -0xac(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x18(%rbp)
  mov    -0xf0(%rbp),%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0x98(%rbp),%rax
  mov    %rax,-0x78(%rbp)
  jmp    L107
L47:
  mov    -0xa8(%rbp),%rax
  mov    %rax,-0x90(%rbp)
  mov    0x10(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x90(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0xa0(%rbp),%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x10(%rbp),%rax
  movsd  (%rax),%xmm4
  movapd %xmm4,%xmm8
  mov    -0x10(%rbp),%rax
  movsd  0x8(%rax),%xmm2
  movapd %xmm2,%xmm9
  mov    0x20(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x10(%rbp)
  mov    -0x10(%rbp),%rax
  movsd  (%rax),%xmm3
  movapd %xmm3,%xmm10
  mov    -0x10(%rbp),%rax
  movsd  0x8(%rax),%xmm4
  movapd %xmm4,%xmm11
  jmp    L55
L110:
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm4
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm6
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm1
  movapd %xmm1,%xmm0
  mulsd  %xmm4,%xmm0
  movapd %xmm0,%xmm7
  movapd %xmm8,%xmm2
  addsd  %xmm2,%xmm7
  mulsd  %xmm6,%xmm1
  movapd %xmm1,%xmm0
  movapd %xmm0,%xmm1
  movapd %xmm9,%xmm3
  addsd  %xmm3,%xmm1
  mov    -0x88(%rbp),%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm5,%xmm4
  movapd %xmm4,%xmm0
  movapd %xmm0,%xmm3
  movapd %xmm10,%xmm4
  addsd  %xmm4,%xmm3
  mulsd  %xmm6,%xmm5
  movapd %xmm5,%xmm0
  movapd %xmm0,%xmm4
  movapd %xmm11,%xmm6
  addsd  %xmm6,%xmm4
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm6
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm5
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  movapd %xmm2,%xmm0
  mulsd  %xmm6,%xmm0
  addsd  %xmm7,%xmm0
  movapd %xmm0,%xmm8
  mulsd  %xmm5,%xmm2
  movapd %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm9
  mov    -0x88(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm7
  mulsd  %xmm7,%xmm6
  movapd %xmm6,%xmm0
  addsd  %xmm3,%xmm0
  movapd %xmm0,%xmm10
  mulsd  %xmm5,%xmm7
  movapd %xmm7,%xmm0
  addsd  %xmm4,%xmm0
  movapd %xmm0,%xmm11
  addq   $0x10,-0x90(%rbp)
  addq   $0x10,-0x88(%rbp)
L55:
  mov    -0x90(%rbp),%rax
  cmp    -0x20(%rbp),%rax
  jne    L110
  mov    -0xc0(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L67
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm7
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm3
  movapd %xmm3,%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm8,%xmm5
  addsd  %xmm5,%xmm0
  movapd %xmm0,%xmm8
  mulsd  %xmm7,%xmm3
  movapd %xmm3,%xmm0
  movapd %xmm9,%xmm6
  addsd  %xmm6,%xmm0
  movapd %xmm0,%xmm9
  mov    -0x88(%rbp),%rax
  movsd  (%rax),%xmm2
  mulsd  %xmm2,%xmm1
  movapd %xmm1,%xmm0
  movapd %xmm10,%xmm1
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm10
  mulsd  %xmm7,%xmm2
  movapd %xmm2,%xmm0
  movapd %xmm11,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm0,%xmm11
L67:
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  movapd %xmm8,%xmm3
  movsd  %xmm3,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movapd %xmm9,%xmm4
  movsd  %xmm4,(%rax)
  mov    0x20(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  movapd %xmm10,%xmm5
  movsd  %xmm5,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movapd %xmm11,%xmm7
  movsd  %xmm7,(%rax)
  addq   $0x10,-0xa0(%rbp)
  addq   $0x10,-0x78(%rbp)
L107:
  mov    -0x78(%rbp),%rax
  cmp    -0x18(%rbp),%rax
  jne    L47
  mov    -0xc4(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xc8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0xa8(%rbp)
L201:
  mov    -0x98(%rbp),%rax
  cmp    -0x70(%rbp),%rax
  jne    L203
  mov    -0xf8(%rbp),%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xe8(%rbp),%rax
  mov    %rax,-0xa8(%rbp)
  jmp    L68
L159:
  mov    -0xbc(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0xac(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xf0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xac(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x78(%rbp)
  mov    -0xb0(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L93
  mov    -0xa8(%rbp),%rax
  mov    %rax,-0x90(%rbp)
  mov    0x10(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x90(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0xa0(%rbp),%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x30(%rbp),%rax
  movsd  (%rax),%xmm1
  movapd %xmm1,%xmm8
  mov    0x20(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x30(%rbp)
  mov    -0x30(%rbp),%rax
  movsd  (%rax),%xmm6
  movapd %xmm6,%xmm10
  jmp    L44
L2:
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  movapd %xmm0,%xmm6
  movapd %xmm8,%xmm3
  addsd  %xmm3,%xmm6
  mov    -0x88(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  movapd %xmm0,%xmm1
  movapd %xmm10,%xmm2
  addsd  %xmm2,%xmm1
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm3
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  addsd  %xmm6,%xmm0
  movapd %xmm0,%xmm8
  mov    -0x88(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm3,%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm10
  addq   $0x10,-0x90(%rbp)
  addq   $0x10,-0x88(%rbp)
L44:
  mov    -0x90(%rbp),%rax
  cmp    -0x38(%rbp),%rax
  jne    L2
  mov    -0xc0(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L46
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm6
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm6,%xmm0
  movapd %xmm8,%xmm4
  addsd  %xmm4,%xmm0
  movapd %xmm0,%xmm8
  mov    -0x88(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm6,%xmm0
  movapd %xmm10,%xmm5
  addsd  %xmm5,%xmm0
  movapd %xmm0,%xmm10
L46:
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x28(%rbp),%rax
  movapd %xmm8,%xmm7
  movsd  %xmm7,(%rax)
  mov    0x20(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x28(%rbp)
  mov    -0x28(%rbp),%rax
  movapd %xmm10,%xmm1
  movsd  %xmm1,(%rax)
L93:
  mov    -0xc4(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xc8(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0xa8(%rbp)
L68:
  mov    -0x98(%rbp),%rax
  cmp    -0x70(%rbp),%rax
  jne    L159
  mov    -0xb8(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L172
  mov    -0xbc(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0xac(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x60(%rbp)
  mov    -0xf0(%rbp),%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0x98(%rbp),%rax
  mov    %rax,-0x78(%rbp)
  jmp    L158
L208:
  mov    -0xa8(%rbp),%rax
  mov    %rax,-0x90(%rbp)
  mov    -0xa0(%rbp),%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x48(%rbp),%rax
  movsd  (%rax),%xmm6
  movapd %xmm6,%xmm8
  mov    -0x48(%rbp),%rax
  movsd  0x8(%rax),%xmm2
  movapd %xmm2,%xmm9
  jmp    L98
L219:
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm7
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm3
  mulsd  %xmm3,%xmm7
  movapd %xmm7,%xmm0
  movapd %xmm0,%xmm2
  movapd %xmm8,%xmm5
  addsd  %xmm5,%xmm2
  mulsd  %xmm4,%xmm3
  movapd %xmm3,%xmm0
  movapd %xmm0,%xmm5
  movapd %xmm9,%xmm3
  addsd  %xmm3,%xmm5
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm7
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm4
  mulsd  %xmm4,%xmm1
  movapd %xmm1,%xmm0
  addsd  %xmm2,%xmm0
  movapd %xmm0,%xmm8
  mulsd  %xmm7,%xmm4
  movapd %xmm4,%xmm0
  addsd  %xmm5,%xmm0
  movapd %xmm0,%xmm9
  addq   $0x10,-0x90(%rbp)
L98:
  mov    -0x90(%rbp),%rax
  cmp    -0x68(%rbp),%rax
  jne    L219
  mov    -0xc0(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L222
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm4
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm5
  mulsd  %xmm5,%xmm4
  movapd %xmm4,%xmm0
  movapd %xmm8,%xmm6
  addsd  %xmm6,%xmm0
  movapd %xmm0,%xmm8
  mulsd  %xmm1,%xmm5
  movapd %xmm5,%xmm0
  movapd %xmm9,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm0,%xmm9
L222:
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x40(%rbp),%rax
  movapd %xmm8,%xmm3
  movsd  %xmm3,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  movapd %xmm9,%xmm5
  movsd  %xmm5,(%rax)
  addq   $0x10,-0xa0(%rbp)
  addq   $0x10,-0x78(%rbp)
L158:
  mov    -0x78(%rbp),%rax
  cmp    -0x60(%rbp),%rax
  jne    L208
  mov    -0xb0(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L172
  mov    -0xa8(%rbp),%rax
  mov    %rax,-0x90(%rbp)
  mov    -0xa0(%rbp),%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x58(%rbp),%rax
  movsd  (%rax),%xmm6
  movapd %xmm6,%xmm8
  jmp    L139
L62:
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  movapd %xmm0,%xmm7
  movapd %xmm8,%xmm3
  addsd  %xmm3,%xmm7
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm5
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm5,%xmm0
  addsd  %xmm7,%xmm0
  movapd %xmm0,%xmm8
  addq   $0x10,-0x90(%rbp)
L139:
  mov    -0x90(%rbp),%rax
  cmp    -0x68(%rbp),%rax
  jne    L62
  mov    -0xc0(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L45
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm6
  mov    0x18(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x80(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm6,%xmm0
  movapd %xmm8,%xmm3
  addsd  %xmm3,%xmm0
  movapd %xmm0,%xmm8
L45:
  mov    -0x78(%rbp),%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x50(%rbp),%rax
  movapd %xmm8,%xmm4
  movsd  %xmm4,(%rax)
L172:
  nop
  leave
  ret
```

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