user: Converte this assembly snippet into its equivalent C code:

```asm
<bgmul_7>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xb8,%rsp
  mov    %rdi,%r12
  mov    %rsi,%rbp
  mov    %rdx,%r15
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x90(%rsp)
  lea    0x10(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x10(%rsp)
  lea    0x20(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x18(%rsp)
  lea    0x30(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x20(%rsp)
  lea    0x50(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x58(%rsp)
  lea    0x60(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x28(%rsp)
  lea    0x70(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x30(%rsp)
  lea    0x90(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x98(%rsp)
  lea    0xa0(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x38(%rsp)
  lea    0xb0(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x40(%rsp)
  lea    0xe0(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x60(%rsp)
  lea    0xf0(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x48(%rsp)
  lea    0x120(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0xa0(%rsp)
  lea    0x130(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x50(%rsp)
  lea    0x170(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x68(%rsp)
  lea    0x1b0(%r12),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0xa8(%rsp)
  mov    %rbp,%rbx
  add    $0x40,%rbp
L4:
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x8(%rsp)
  movsd  0x90(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  mov    %eax,%r14d
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  mov    %eax,%r13d
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  mov    %eax,%r12d
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  mov    %eax,0x74(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  mov    %eax,0x78(%rsp)
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  mov    %eax,0x7c(%rsp)
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  mov    %eax,0x80(%rsp)
  lea    0x40(%rbx),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x8(%rsp)
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r14d
  movsd  0x58(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r13d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r13d
  movsd  0x58(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r12d
  movsd  0x28(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x74(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x74(%rsp)
  movsd  0x28(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x78(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x78(%rsp)
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x7c(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x7c(%rsp)
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x80(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x80(%rsp)
  lea    0x80(%rbx),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x8(%rsp)
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r14d
  movsd  0x58(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r13d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r13d
  movsd  0x98(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r12d
  movsd  0x38(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x74(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x74(%rsp)
  movsd  0x38(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x78(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x78(%rsp)
  movsd  0x40(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x7c(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x7c(%rsp)
  movsd  0x40(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x80(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x80(%rsp)
  lea    0xc0(%rbx),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x8(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r14d
  movsd  0x28(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r13d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r13d
  movsd  0x38(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r12d
  movsd  0x60(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x74(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x74(%rsp)
  movsd  0x60(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x78(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x78(%rsp)
  movsd  0x48(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x7c(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x7c(%rsp)
  movsd  0x48(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x80(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x80(%rsp)
  lea    0x100(%rbx),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x8(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r14d
  movsd  0x28(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r13d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r13d
  movsd  0x38(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r12d
  movsd  0x60(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x74(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x74(%rsp)
  movsd  0xa0(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x78(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x78(%rsp)
  movsd  0x50(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x7c(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x7c(%rsp)
  movsd  0x50(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x80(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x80(%rsp)
  lea    0x140(%rbx),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x8(%rsp)
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r14d
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r13d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r13d
  movsd  0x40(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r12d
  movsd  0x48(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x74(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x74(%rsp)
  movsd  0x50(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x78(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x78(%rsp)
  movsd  0x68(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x7c(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x7c(%rsp)
  movsd  0x68(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x80(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x80(%rsp)
  lea    0x180(%rbx),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x8(%rsp)
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x84(%rsp)
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r13d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x88(%rsp)
  movsd  0x40(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x8c(%rsp)
  movsd  0x48(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x74(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r14d
  movsd  0x50(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x78(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r13d
  movsd  0x68(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x7c(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,%r12d
  movsd  0xa8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x80(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  mov    %eax,0x8(%rsp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x84(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    %r15,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x88(%rsp),%xmm0
  lea    0x40(%r15),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x8c(%rsp),%xmm0
  lea    0x80(%r15),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  lea    0xc0(%r15),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %r13d,%xmm0
  lea    0x100(%r15),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  lea    0x140(%r15),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x8(%rsp),%xmm0
  lea    0x180(%r15),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  add    $0x10,%rbx
  add    $0x10,%r15
  cmp    %rbp,%rbx
  jne    L4
  add    $0xb8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void bgmul_7(double (*restrict Ain)[8], double (*restrict Bin)[8], double (*restrict Cin)[8]) {
  double _Complex C1, C2, C3, C4, C5, C6, C7;
  double _Complex A1_01, A1_23, A1_45, A1_67;
  double _Complex A2_23, A2_45, A2_67;
  double _Complex A3_23, A3_45, A3_67;
  double _Complex A4_45, A4_67;
  double _Complex A5_45, A5_67;
  double _Complex A6_67;
  double _Complex A7_67;
  double _Complex Bkj;
  double(*restrict A)[8] = &Ain[-1];
  double(*restrict B)[8] = &Bin[-1];
  double(*restrict C)[8] = &Cin[-1];
  int j;
  A1_01 = __lfpd(&A[1][0]);
  A1_23 = __lfpd(&A[1][2]);
  A1_45 = __lfpd(&A[1][4]);
  A1_67 = __lfpd(&A[1][6]);
  A2_23 = __lfpd(&A[2][2]);
  A2_45 = __lfpd(&A[2][4]);
  A2_67 = __lfpd(&A[2][6]);
  A3_23 = __lfpd(&A[3][2]);
  A3_45 = __lfpd(&A[3][4]);
  A3_67 = __lfpd(&A[3][6]);
  A4_45 = __lfpd(&A[4][4]);
  A4_67 = __lfpd(&A[4][6]);
  A5_45 = __lfpd(&A[5][4]);
  A5_67 = __lfpd(&A[5][6]);
  A6_67 = __lfpd(&A[6][6]);
  A7_67 = __lfpd(&A[7][6]);
  for (j = 0; j < 7; j += 2) {
    Bkj = __lfpd(&B[1][j]);
    C1 = __fxsmul(Bkj, __cimag(A1_01));
    C2 = __fxsmul(Bkj, __creal(A1_23));
    C3 = __fxsmul(Bkj, __cimag(A1_23));
    C4 = __fxsmul(Bkj, __creal(A1_45));
    C5 = __fxsmul(Bkj, __cimag(A1_45));
    C6 = __fxsmul(Bkj, __creal(A1_67));
    C7 = __fxsmul(Bkj, __cimag(A1_67));
    Bkj = __lfpd(&B[2][j]);
    C1 = __fxcpmadd(C1, Bkj, __creal(A1_23));
    C2 = __fxcpmadd(C2, Bkj, __creal(A2_23));
    C3 = __fxcpmadd(C3, Bkj, __cimag(A2_23));
    C4 = __fxcpmadd(C4, Bkj, __creal(A2_45));
    C5 = __fxcpmadd(C5, Bkj, __cimag(A2_45));
    C6 = __fxcpmadd(C6, Bkj, __creal(A2_67));
    C7 = __fxcpmadd(C7, Bkj, __cimag(A2_67));
    Bkj = __lfpd(&B[3][j]);
    C1 = __fxcpmadd(C1, Bkj, __cimag(A1_23));
    C2 = __fxcpmadd(C2, Bkj, __cimag(A2_23));
    C3 = __fxcpmadd(C3, Bkj, __cimag(A3_23));
    C4 = __fxcpmadd(C4, Bkj, __creal(A3_45));
    C5 = __fxcpmadd(C5, Bkj, __cimag(A3_45));
    C6 = __fxcpmadd(C6, Bkj, __creal(A3_67));
    C7 = __fxcpmadd(C7, Bkj, __cimag(A3_67));
    Bkj = __lfpd(&B[4][j]);
    C1 = __fxcpmadd(C1, Bkj, __creal(A1_45));
    C2 = __fxcpmadd(C2, Bkj, __creal(A2_45));
    C3 = __fxcpmadd(C3, Bkj, __creal(A3_45));
    C4 = __fxcpmadd(C4, Bkj, __creal(A4_45));
    C5 = __fxcpmadd(C5, Bkj, __cimag(A4_45));
    C6 = __fxcpmadd(C6, Bkj, __creal(A4_67));
    C7 = __fxcpmadd(C7, Bkj, __cimag(A4_67));
    Bkj = __lfpd(&B[5][j]);
    C1 = __fxcpmadd(C1, Bkj, __cimag(A1_45));
    C2 = __fxcpmadd(C2, Bkj, __cimag(A2_45));
    C3 = __fxcpmadd(C3, Bkj, __cimag(A3_45));
    C4 = __fxcpmadd(C4, Bkj, __cimag(A4_45));
    C5 = __fxcpmadd(C5, Bkj, __cimag(A5_45));
    C6 = __fxcpmadd(C6, Bkj, __creal(A5_67));
    C7 = __fxcpmadd(C7, Bkj, __cimag(A5_67));
    Bkj = __lfpd(&B[6][j]);
    C1 = __fxcpmadd(C1, Bkj, __creal(A1_67));
    C2 = __fxcpmadd(C2, Bkj, __creal(A2_67));
    C3 = __fxcpmadd(C3, Bkj, __creal(A3_67));
    C4 = __fxcpmadd(C4, Bkj, __creal(A4_67));
    C5 = __fxcpmadd(C5, Bkj, __creal(A5_67));
    C6 = __fxcpmadd(C6, Bkj, __creal(A6_67));
    C7 = __fxcpmadd(C7, Bkj, __cimag(A6_67));
    Bkj = __lfpd(&B[7][j]);
    C1 = __fxcpmadd(C1, Bkj, __cimag(A1_67));
    C2 = __fxcpmadd(C2, Bkj, __cimag(A2_67));
    C3 = __fxcpmadd(C3, Bkj, __cimag(A3_67));
    C4 = __fxcpmadd(C4, Bkj, __cimag(A4_67));
    C5 = __fxcpmadd(C5, Bkj, __cimag(A5_67));
    C6 = __fxcpmadd(C6, Bkj, __cimag(A6_67));
    C7 = __fxcpmadd(C7, Bkj, __cimag(A7_67));
    __stfpd(&C[1][j], C1);
    __stfpd(&C[2][j], C2);
    __stfpd(&C[3][j], C3);
    __stfpd(&C[4][j], C4);
    __stfpd(&C[5][j], C5);
    __stfpd(&C[6][j], C6);
    __stfpd(&C[7][j], C7);
  }
}
```