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

```asm
<bgmul_7>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1c0,%rsp
  mov    %rdi,-0x1a8(%rbp)
  mov    %rsi,-0x1b0(%rbp)
  mov    %rdx,-0x1b8(%rbp)
  mov    -0x1a8(%rbp),%rax
  sub    $0x40,%rax
  mov    %rax,-0x198(%rbp)
  mov    -0x1b0(%rbp),%rax
  sub    $0x40,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x1b8(%rbp),%rax
  sub    $0x40,%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x40,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x180(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x178(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x40,%rax
  add    $0x10,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x170(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x168(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x40,%rax
  add    $0x20,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x160(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x158(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x40,%rax
  add    $0x30,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x150(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x148(%rbp)
  mov    -0x198(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  add    $0x10,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x140(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x198(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  add    $0x20,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x198(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  add    $0x30,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0xc0,%rax
  add    $0x10,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0xc0,%rax
  add    $0x20,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x100(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0xc0,%rax
  add    $0x30,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xe8(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x100,%rax
  add    $0x20,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x100,%rax
  add    $0x30,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x140,%rax
  add    $0x20,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x140,%rax
  add    $0x30,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x180,%rax
  add    $0x30,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0x1c0,%rax
  add    $0x30,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movl   $0x0,-0x19c(%rbp)
  jmp    L3
L15:
  mov    -0x190(%rbp),%rax
  lea    0x40(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0x180(%rbp),%rax
  movsd  -0x178(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  mov    -0x80(%rbp),%rax
  movsd  -0x78(%rbp),%xmm1
  mov    %edx,%edi
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x170(%rbp),%rax
  movsd  -0x168(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  mov    -0x80(%rbp),%rax
  movsd  -0x78(%rbp),%xmm1
  mov    %edx,%edi
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x170(%rbp),%rax
  movsd  -0x168(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  mov    -0x80(%rbp),%rax
  movsd  -0x78(%rbp),%xmm1
  mov    %edx,%edi
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x160(%rbp),%rax
  movsd  -0x158(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  mov    -0x80(%rbp),%rax
  movsd  -0x78(%rbp),%xmm1
  mov    %edx,%edi
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x160(%rbp),%rax
  movsd  -0x158(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  mov    -0x80(%rbp),%rax
  movsd  -0x78(%rbp),%xmm1
  mov    %edx,%edi
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x150(%rbp),%rax
  movsd  -0x148(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  mov    -0x80(%rbp),%rax
  movsd  -0x78(%rbp),%xmm1
  mov    %edx,%edi
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x150(%rbp),%rax
  movsd  -0x148(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  mov    -0x80(%rbp),%rax
  movsd  -0x78(%rbp),%xmm1
  mov    %edx,%edi
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__fxsmul@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x190(%rbp),%rax
  lea    0x80(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0x170(%rbp),%rax
  movsd  -0x168(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x70(%rbp),%rax
  movsd  -0x68(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x140(%rbp),%rax
  movsd  -0x138(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x60(%rbp),%rax
  movsd  -0x58(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x140(%rbp),%rax
  movsd  -0x138(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x50(%rbp),%rax
  movsd  -0x48(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x130(%rbp),%rax
  movsd  -0x128(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  -0x38(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x130(%rbp),%rax
  movsd  -0x128(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x30(%rbp),%rax
  movsd  -0x28(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x120(%rbp),%rax
  movsd  -0x118(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x20(%rbp),%rax
  movsd  -0x18(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x120(%rbp),%rax
  movsd  -0x118(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movsd  -0x8(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x190(%rbp),%rax
  lea    0xc0(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0x170(%rbp),%rax
  movsd  -0x168(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x70(%rbp),%rax
  movsd  -0x68(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x140(%rbp),%rax
  movsd  -0x138(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x60(%rbp),%rax
  movsd  -0x58(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x110(%rbp),%rax
  movsd  -0x108(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x50(%rbp),%rax
  movsd  -0x48(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x100(%rbp),%rax
  movsd  -0xf8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  -0x38(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x100(%rbp),%rax
  movsd  -0xf8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x30(%rbp),%rax
  movsd  -0x28(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0xf0(%rbp),%rax
  movsd  -0xe8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x20(%rbp),%rax
  movsd  -0x18(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0xf0(%rbp),%rax
  movsd  -0xe8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movsd  -0x8(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x190(%rbp),%rax
  lea    0x100(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0x160(%rbp),%rax
  movsd  -0x158(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x70(%rbp),%rax
  movsd  -0x68(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x130(%rbp),%rax
  movsd  -0x128(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x60(%rbp),%rax
  movsd  -0x58(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x100(%rbp),%rax
  movsd  -0xf8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x50(%rbp),%rax
  movsd  -0x48(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0xe0(%rbp),%rax
  movsd  -0xd8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  -0x38(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0xe0(%rbp),%rax
  movsd  -0xd8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x30(%rbp),%rax
  movsd  -0x28(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0xd0(%rbp),%rax
  movsd  -0xc8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x20(%rbp),%rax
  movsd  -0x18(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0xd0(%rbp),%rax
  movsd  -0xc8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movsd  -0x8(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x190(%rbp),%rax
  lea    0x140(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0x160(%rbp),%rax
  movsd  -0x158(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x70(%rbp),%rax
  movsd  -0x68(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x130(%rbp),%rax
  movsd  -0x128(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x60(%rbp),%rax
  movsd  -0x58(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x100(%rbp),%rax
  movsd  -0xf8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x50(%rbp),%rax
  movsd  -0x48(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0xe0(%rbp),%rax
  movsd  -0xd8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  -0x38(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0xc0(%rbp),%rax
  movsd  -0xb8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x30(%rbp),%rax
  movsd  -0x28(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0xb0(%rbp),%rax
  movsd  -0xa8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x20(%rbp),%rax
  movsd  -0x18(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0xb0(%rbp),%rax
  movsd  -0xa8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movsd  -0x8(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x190(%rbp),%rax
  lea    0x180(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0x150(%rbp),%rax
  movsd  -0x148(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x70(%rbp),%rax
  movsd  -0x68(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x120(%rbp),%rax
  movsd  -0x118(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x60(%rbp),%rax
  movsd  -0x58(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0xf0(%rbp),%rax
  movsd  -0xe8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x50(%rbp),%rax
  movsd  -0x48(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0xd0(%rbp),%rax
  movsd  -0xc8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  -0x38(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0xb0(%rbp),%rax
  movsd  -0xa8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x30(%rbp),%rax
  movsd  -0x28(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0xa0(%rbp),%rax
  movsd  -0x98(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x20(%rbp),%rax
  movsd  -0x18(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0xa0(%rbp),%rax
  movsd  -0x98(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movsd  -0x8(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x190(%rbp),%rax
  lea    0x1c0(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0x150(%rbp),%rax
  movsd  -0x148(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x70(%rbp),%rax
  movsd  -0x68(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x120(%rbp),%rax
  movsd  -0x118(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x60(%rbp),%rax
  movsd  -0x58(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0xf0(%rbp),%rax
  movsd  -0xe8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x50(%rbp),%rax
  movsd  -0x48(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0xd0(%rbp),%rax
  movsd  -0xc8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  -0x38(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0xb0(%rbp),%rax
  movsd  -0xa8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x30(%rbp),%rax
  movsd  -0x28(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0xa0(%rbp),%rax
  movsd  -0x98(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x20(%rbp),%rax
  movsd  -0x18(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x90(%rbp),%rax
  movsd  -0x88(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edx
  movsd  -0x80(%rbp),%xmm2
  movsd  -0x78(%rbp),%xmm0
  mov    -0x10(%rbp),%rax
  movsd  -0x8(%rbp),%xmm1
  mov    %edx,%edi
  movapd %xmm0,%xmm3
  movq   %rax,%xmm0
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x188(%rbp),%rax
  lea    0x40(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,%rdx
  mov    -0x70(%rbp),%rax
  movsd  -0x68(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    %rdx,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    -0x188(%rbp),%rax
  lea    0x80(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,%rdx
  mov    -0x60(%rbp),%rax
  movsd  -0x58(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    %rdx,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    -0x188(%rbp),%rax
  lea    0xc0(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,%rdx
  mov    -0x50(%rbp),%rax
  movsd  -0x48(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    %rdx,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    -0x188(%rbp),%rax
  lea    0x100(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,%rdx
  mov    -0x40(%rbp),%rax
  movsd  -0x38(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    %rdx,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    -0x188(%rbp),%rax
  lea    0x140(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,%rdx
  mov    -0x30(%rbp),%rax
  movsd  -0x28(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    %rdx,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    -0x188(%rbp),%rax
  lea    0x180(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,%rdx
  mov    -0x20(%rbp),%rax
  movsd  -0x18(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    %rdx,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    -0x188(%rbp),%rax
  lea    0x1c0(%rax),%rdx
  mov    -0x19c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,%rdx
  mov    -0x10(%rbp),%rax
  movsd  -0x8(%rbp),%xmm1
  movq   %rax,%xmm0
  mov    %rdx,%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  addl   $0x2,-0x19c(%rbp)
L3:
  cmpl   $0x6,-0x19c(%rbp)
  jle    L15
  nop
  nop
  leave
  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);
  }
}
```