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

```asm
<kern_r8_bgl_n_b>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xf8,%rsp
  mov    %rcx,0x88(%rsp)
  mov    %r8,0x90(%rsp)
  mov    %r9,0x98(%rsp)
  mov    0x190(%rsp),%r12
  cmpq   $0x0,0x198(%rsp)
  jle    L0
  mov    %r12,%rax
  imul   0x198(%rsp),%rax
  mov    %r12,%rbx
  shl    $0x7,%rbx
  mov    %rbx,0xc0(%rsp)
  mov    %r12,%rbx
  shl    $0x4,%rbx
  mov    %rbx,0xc8(%rsp)
  mov    %r12,%rbx
  shl    $0x6,%rbx
  mov    %rbx,0xd0(%rsp)
  mov    %r12,%rbx
  shl    $0x5,%rbx
  mov    %rbx,0xd8(%rsp)
  shl    $0x4,%rax
  mov    %rax,%rbx
  add    0x180(%rsp),%rbx
  mov    %rbx,0xe0(%rsp)
  add    0x188(%rsp),%rax
  mov    %rax,0xe8(%rsp)
  mov    0x180(%rsp),%rax
  mov    %rax,0xa8(%rsp)
  movq   $0x0,0xb8(%rsp)
  movq   $0x0,0xb0(%rsp)
  movq   $0x0,0xa0(%rsp)
  mov    %rdx,%rbx
  mov    %rsi,%r15
  mov    %rdi,%r14
  mov    %r12,%rbp
L18:
  mov    0xb0(%rsp),%r12
  mov    %r12,%rdi
  add    0x180(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x10(%rsp)
  mov    0xb8(%rsp),%r13
  mov    %r13,%rdi
  add    0x180(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x18(%rsp)
  mov    0xa8(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x8(%rsp)
  mov    %r12,%rdi
  add    0xe0(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x20(%rsp)
  mov    %r12,%rdi
  add    0x188(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x28(%rsp)
  mov    %r13,%rdi
  add    0x188(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x30(%rsp)
  add    0xe8(%rsp),%r12
  mov    %r12,%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x38(%rsp)
  test   %rbp,%rbp
  jle    L35
  mov    $0x0,%r13d
  mov    $0x0,%r12d
L14:
  mov    %r13,%rdi
  add    0x168(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x40(%rsp)
  mov    %r13,%rdi
  add    0x178(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x48(%rsp)
  mov    %r13,%rdi
  add    0x160(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x50(%rsp)
  mov    %r13,%rdi
  add    0x150(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x58(%rsp)
  mov    %r13,%rdi
  add    0x170(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  movsd  %xmm3,0x60(%rsp)
  mov    %r13,%rdi
  add    0x148(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm1
  movsd  %xmm1,0x68(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x40(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x40(%rsp)
  mov    %r13,%rdi
  add    0x158(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm8,%xmm8
  cvtsi2sd %eax,%xmm8
  movsd  %xmm8,0x70(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x48(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x48(%rsp)
  mov    %r13,%rdi
  add    0x140(%rsp),%rdi
  mov    $0x0,%eax
  call   <__lfpd@plt>
  pxor   %xmm9,%xmm9
  cvtsi2sd %eax,%xmm9
  movsd  %xmm9,0x78(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x50(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x50(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x58(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x58(%rsp)
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x60(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  movsd  %xmm3,0x60(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x40(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x68(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnpma@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x80(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x40(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x68(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm1
  movsd  %xmm1,0x40(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x48(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x70(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnpma@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x68(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x48(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x70(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm10,%xmm10
  cvtsi2sd %eax,%xmm10
  movsd  %xmm10,0x48(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x50(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x78(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnpma@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x70(%rsp)
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x50(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x78(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm11,%xmm11
  cvtsi2sd %eax,%xmm11
  movsd  %xmm11,0x50(%rsp)
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x60(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x58(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x78(%rsp)
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x60(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x58(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpnmsub@plt>
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  movsd  %xmm3,0x58(%rsp)
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x80(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x60(%rsp)
  movsd  0x28(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x68(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x68(%rsp)
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x40(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm1
  movsd  %xmm1,0x40(%rsp)
  movsd  0x38(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__creal@plt>
  mov    %eax,%edi
  movsd  0x48(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm2,%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm12,%xmm12
  cvtsi2sd %eax,%xmm12
  movsd  %xmm12,0x48(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x78(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x70(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnpma@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,0x80(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x78(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x70(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,0x70(%rsp)
  movsd  0x28(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x68(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x60(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x78(%rsp)
  movsd  0x28(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x68(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x60(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpnmsub@plt>
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movsd  %xmm5,0x60(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x58(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x50(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcsnmsub@plt>
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  movsd  %xmm3,0x68(%rsp)
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x58(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x50(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcsmadd@plt>
  pxor   %xmm13,%xmm13
  cvtsi2sd %eax,%xmm13
  movsd  %xmm13,0x50(%rsp)
  movsd  0x38(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x48(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x40(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpmadd@plt>
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm1
  movsd  %xmm1,0x58(%rsp)
  movsd  0x38(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x48(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x40(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcpnmsub@plt>
  pxor   %xmm14,%xmm14
  cvtsi2sd %eax,%xmm14
  movsd  %xmm14,0x40(%rsp)
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x78(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x80(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnpma@plt>
  mov    %eax,0x48(%rsp)
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x78(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x80(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  mov    %eax,0x78(%rsp)
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x58(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x68(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnpma@plt>
  mov    %eax,0x80(%rsp)
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x58(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x68(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcxnsma@plt>
  mov    %eax,0x58(%rsp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x48(%rsp),%xmm0
  lea    (%r14,%r13,1),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x60(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x70(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcsnmsub@plt>
  mov    %eax,0x48(%rsp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x78(%rsp),%xmm0
  mov    0x90(%rsp),%rdx
  lea    (%rdx,%r13,1),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x60(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x70(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcsmadd@plt>
  mov    %eax,0x60(%rsp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x80(%rsp),%xmm0
  lea    (%r15,%r13,1),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x40(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x50(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcsnmsub@plt>
  mov    %eax,0x68(%rsp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x58(%rsp),%xmm0
  mov    0x98(%rsp),%rcx
  lea    (%rcx,%r13,1),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  mov    %eax,%edi
  movsd  0x40(%rsp),%xmm2
  pxor   %xmm3,%xmm3
  movsd  0x50(%rsp),%xmm0
  movapd %xmm3,%xmm1
  mov    $0x4,%eax
  call   <__fxcsmadd@plt>
  mov    %eax,0x40(%rsp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x48(%rsp),%xmm0
  lea    (%rbx,%r13,1),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x60(%rsp),%xmm0
  mov    %r13,%rdi
  add    0x130(%rsp),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x68(%rsp),%xmm0
  mov    0x88(%rsp),%rsi
  lea    (%rsi,%r13,1),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0x40(%rsp),%xmm0
  mov    %r13,%rdi
  add    0x138(%rsp),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__stfpd@plt>
  add    $0x1,%r12
  add    $0x10,%r13
  cmp    %r12,%rbp
  jne    L14
L35:
  mov    0xc0(%rsp),%rax
  add    %rax,0x140(%rsp)
  add    %rax,0x148(%rsp)
  add    %rax,0x150(%rsp)
  add    %rax,0x158(%rsp)
  add    %rax,0x160(%rsp)
  add    %rax,0x168(%rsp)
  add    %rax,0x170(%rsp)
  add    %rax,0x178(%rsp)
  mov    0xc8(%rsp),%rax
  add    %rax,%r14
  add    %rax,%r15
  add    %rax,%rbx
  add    %rax,0x88(%rsp)
  add    %rax,0x90(%rsp)
  add    %rax,0x98(%rsp)
  add    %rax,0x130(%rsp)
  add    %rax,0x138(%rsp)
  addq   $0x1,0xa0(%rsp)
  mov    0xa0(%rsp),%rdx
  mov    0xd0(%rsp),%rcx
  add    %rcx,0xa8(%rsp)
  add    %rax,0xb0(%rsp)
  mov    0xd8(%rsp),%rsi
  add    %rsi,0xb8(%rsp)
  cmp    %rdx,0x198(%rsp)
  jne    L18
L0:
  add    $0xf8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void kern_r8_bgl_n_b(double *restrict o0, double *restrict o1, double *restrict o2, double *restrict o3, double *restrict o4, double *restrict o5, double *restrict o6, double *restrict o7, double *i0, double *i1, double *i2, double *i3, double *i4, double *i5, double *i6, double *i7, double *wn, double *wn2, long bsize, long blocks) {
  long i, j;
  for (i = 0; i < blocks; i++) {
    double _Complex w1, w2, w3, w4, w5, w6, w7;
    w1 = __lfpd(wn + i * bsize * 2);
    w2 = __lfpd(wn + i * bsize * 4);
    w4 = __lfpd(wn + i * bsize * 8);
    w5 = __lfpd(wn + i * bsize * 2 + 2 * blocks * bsize);
    w3 = __lfpd(wn2 + i * bsize * 2);
    w6 = __lfpd(wn2 + i * bsize * 4);
    w7 = __lfpd(wn2 + i * bsize * 2 + blocks * bsize * 2);
    for (j = 0; j < bsize; j++) {
      double _Complex p0, p1, p2, p3, p4, p5, p6, p7;
      double _Complex q0, q1, q2, q3, q4, q5, q6, q7;
      double _Complex s1, s3, s5, s7;
      p5 = __lfpd(i5 + 2 * j);
      p7 = __lfpd(i7 + 2 * j);
      p4 = __lfpd(i4 + 2 * j);
      p2 = __lfpd(i2 + 2 * j);
      p6 = __lfpd(i6 + 2 * j);
      p1 = __lfpd(i1 + 2 * j);
      p5 = __fxcxnsma(p5, p5, __creal(w4));
      p3 = __lfpd(i3 + 2 * j);
      p7 = __fxcxnsma(p7, p7, __creal(w4));
      p0 = __lfpd(i0 + 2 * j);
      p4 = __fxcxnsma(p4, p4, __creal(w4));
      p2 = __fxcxnsma(p2, p2, __creal(w2));
      p6 = __fxcxnsma(p6, p6, __creal(w6));
      s1 = __fxcxnpma(p1, p5, __cimag(w4));
      s5 = __fxcxnsma(p1, p5, __cimag(w4));
      s3 = __fxcxnpma(p3, p7, __cimag(w4));
      s7 = __fxcxnsma(p3, p7, __cimag(w4));
      q0 = __fxcxnpma(p0, p4, __cimag(w4));
      q4 = __fxcxnsma(p0, p4, __cimag(w4));
      q2 = __fxcpmadd(p2, p6, __cimag(w6));
      q6 = __fxcpnmsub(p2, p6, __cimag(w6));
      q1 = __fxcxnsma(s1, s1, __creal(w1));
      q3 = __fxcxnsma(s3, s3, __creal(w3));
      q5 = __fxcxnsma(s5, s5, __creal(w5));
      q7 = __fxcxnsma(s7, s7, __creal(w7));
      p0 = __fxcxnpma(q0, q2, __cimag(w2));
      p2 = __fxcxnsma(q0, q2, __cimag(w2));
      p1 = __fxcpmadd(q1, q3, __cimag(w3));
      p3 = __fxcpnmsub(q1, q3, __cimag(w3));
      p4 = __fxcsnmsub(q4, q6, __cimag(w2));
      p6 = __fxcsmadd(q4, q6, __cimag(w2));
      p5 = __fxcpmadd(q5, q7, __cimag(w7));
      p7 = __fxcpnmsub(q5, q7, __cimag(w7));
      q0 = __fxcxnpma(p0, p1, __cimag(w1));
      q1 = __fxcxnsma(p0, p1, __cimag(w1));
      q4 = __fxcxnpma(p4, p5, __cimag(w5));
      q5 = __fxcxnsma(p4, p5, __cimag(w5));
      __stfpd(o0 + 2 * j, q0);
      q2 = __fxcsnmsub(p2, p3, __cimag(w1));
      __stfpd(o4 + 2 * j, q1);
      q3 = __fxcsmadd(p2, p3, __cimag(w1));
      __stfpd(o1 + 2 * j, q4);
      q6 = __fxcsnmsub(p6, p7, __cimag(w5));
      __stfpd(o5 + 2 * j, q5);
      q7 = __fxcsmadd(p6, p7, __cimag(w5));
      __stfpd(o2 + 2 * j, q2);
      __stfpd(o6 + 2 * j, q3);
      __stfpd(o3 + 2 * j, q6);
      __stfpd(o7 + 2 * j, q7);
    }
    i0 += 16 * bsize;
    i1 += 16 * bsize;
    i2 += 16 * bsize;
    i3 += 16 * bsize;
    i4 += 16 * bsize;
    i5 += 16 * bsize;
    i6 += 16 * bsize;
    i7 += 16 * bsize;
    o0 += 2 * bsize;
    o1 += 2 * bsize;
    o2 += 2 * bsize;
    o3 += 2 * bsize;
    o4 += 2 * bsize;
    o5 += 2 * bsize;
    o6 += 2 * bsize;
    o7 += 2 * bsize;
  }
}
```