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

```asm
<corner_dtrmm_l_u_nt_2x4_lib4>:
  endbr64
  movsd  (%rdi),%xmm8
  movsd  0x8(%rdi),%xmm6
  movsd  (%rsi),%xmm4
  movapd %xmm8,%xmm5
  mulsd  %xmm4,%xmm5
  mulsd  %xmm6,%xmm4
  movsd  0x8(%rsi),%xmm3
  movapd %xmm8,%xmm11
  mulsd  %xmm3,%xmm11
  mulsd  %xmm6,%xmm3
  movsd  0x10(%rsi),%xmm9
  movapd %xmm8,%xmm10
  mulsd  %xmm9,%xmm10
  mulsd  %xmm6,%xmm9
  movsd  0x18(%rsi),%xmm0
  mulsd  %xmm0,%xmm8
  mulsd  %xmm0,%xmm6
  movsd  0x20(%rdi),%xmm1
  movsd  0x28(%rdi),%xmm0
  movsd  0x20(%rsi),%xmm2
  movapd %xmm1,%xmm12
  mulsd  %xmm2,%xmm12
  addsd  %xmm5,%xmm12
  mulsd  %xmm0,%xmm2
  movapd %xmm2,%xmm7
  addsd  %xmm4,%xmm7
  movsd  0x28(%rsi),%xmm2
  movapd %xmm1,%xmm5
  mulsd  %xmm2,%xmm5
  addsd  %xmm11,%xmm5
  mulsd  %xmm0,%xmm2
  movapd %xmm2,%xmm4
  addsd  %xmm3,%xmm4
  movsd  0x30(%rsi),%xmm2
  movapd %xmm1,%xmm3
  mulsd  %xmm2,%xmm3
  addsd  %xmm10,%xmm3
  mulsd  %xmm0,%xmm2
  addsd  %xmm9,%xmm2
  movsd  0x38(%rsi),%xmm9
  mulsd  %xmm9,%xmm1
  addsd  %xmm8,%xmm1
  mulsd  %xmm9,%xmm0
  addsd  %xmm6,%xmm0
  test   %edx,%edx
  je     L22
  cmp    $0x1,%edx
  je     L9
  movsd  (%rcx),%xmm6
  subsd  %xmm12,%xmm6
  movapd %xmm6,%xmm12
  movsd  0x8(%rcx),%xmm6
  subsd  %xmm7,%xmm6
  movapd %xmm6,%xmm7
  movsd  0x20(%rcx),%xmm6
  subsd  %xmm5,%xmm6
  movapd %xmm6,%xmm5
  movsd  0x28(%rcx),%xmm6
  subsd  %xmm4,%xmm6
  movapd %xmm6,%xmm4
  movsd  0x40(%rcx),%xmm6
  subsd  %xmm3,%xmm6
  movapd %xmm6,%xmm3
  movsd  0x48(%rcx),%xmm6
  subsd  %xmm2,%xmm6
  movapd %xmm6,%xmm2
  movsd  0x60(%rcx),%xmm6
  subsd  %xmm1,%xmm6
  movapd %xmm6,%xmm1
  movsd  0x68(%rcx),%xmm6
  subsd  %xmm0,%xmm6
  movapd %xmm6,%xmm0
L22:
  movsd  %xmm12,(%r8)
  movsd  %xmm7,0x8(%r8)
  movsd  %xmm5,0x20(%r8)
  movsd  %xmm4,0x28(%r8)
  movsd  %xmm3,0x40(%r8)
  movsd  %xmm2,0x48(%r8)
  movsd  %xmm1,0x60(%r8)
  movsd  %xmm0,0x68(%r8)
  ret
L9:
  addsd  (%rcx),%xmm12
  addsd  0x8(%rcx),%xmm7
  addsd  0x20(%rcx),%xmm5
  addsd  0x28(%rcx),%xmm4
  addsd  0x40(%rcx),%xmm3
  addsd  0x48(%rcx),%xmm2
  addsd  0x60(%rcx),%xmm1
  addsd  0x68(%rcx),%xmm0
  jmp    L22
```

assistant: ```c
void corner_dtrmm_l_u_nt_2x4_lib4(double *A, double *B, int alg, double *C, double *D) {
  const int bs = 4;
  double a_0, a_1, b_0, d_0, d_4, d_8, d_c, d_1, d_5, d_9, d_d;
  a_0 = A[0];
  a_1 = A[1];
  b_0 = B[0];
  d_0 = a_0 * b_0;
  d_1 = a_1 * b_0;
  b_0 = B[1];
  d_4 = a_0 * b_0;
  d_5 = a_1 * b_0;
  b_0 = B[2];
  d_8 = a_0 * b_0;
  d_9 = a_1 * b_0;
  b_0 = B[3];
  d_c = a_0 * b_0;
  d_d = a_1 * b_0;
  a_0 = A[4];
  a_1 = A[5];
  b_0 = B[4];
  d_0 += a_0 * b_0;
  d_1 += a_1 * b_0;
  b_0 = B[5];
  d_4 += a_0 * b_0;
  d_5 += a_1 * b_0;
  b_0 = B[6];
  d_8 += a_0 * b_0;
  d_9 += a_1 * b_0;
  b_0 = B[7];
  d_c += a_0 * b_0;
  d_d += a_1 * b_0;
  if (alg != 0) {
    if (alg == 1) {
      d_0 = C[0 + bs * 0] + d_0;
      d_1 = C[1 + bs * 0] + d_1;
      d_4 = C[0 + bs * 1] + d_4;
      d_5 = C[1 + bs * 1] + d_5;
      d_8 = C[0 + bs * 2] + d_8;
      d_9 = C[1 + bs * 2] + d_9;
      d_c = C[0 + bs * 3] + d_c;
      d_d = C[1 + bs * 3] + d_d;
    } else {
      d_0 = C[0 + bs * 0] - d_0;
      d_1 = C[1 + bs * 0] - d_1;
      d_4 = C[0 + bs * 1] - d_4;
      d_5 = C[1 + bs * 1] - d_5;
      d_8 = C[0 + bs * 2] - d_8;
      d_9 = C[1 + bs * 2] - d_9;
      d_c = C[0 + bs * 3] - d_c;
      d_d = C[1 + bs * 3] - d_d;
    }
  }
  D[0 + bs * 0] = d_0;
  D[1 + bs * 0] = d_1;
  D[0 + bs * 1] = d_4;
  D[1 + bs * 1] = d_5;
  D[0 + bs * 2] = d_8;
  D[1 + bs * 2] = d_9;
  D[0 + bs * 3] = d_c;
  D[1 + bs * 3] = d_d;
}
```