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

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

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