user: 请将以下的汇编代码转换成C语言代码：

```asm
<kern_r8_bgl_u1_b>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xd8,%rsp
  mov    0x160(%rsp),%r13
  mov    0x168(%rsp),%r14
  cmpq   $0x0,0x178(%rsp)
  jle    L19
  mov    0x178(%rsp),%rbx
  mov    %rcx,%rax
  mov    %rdi,%r15
  xor    %ebp,%ebp
  xor    %r12d,%r12d
  shl    $0x4,%rbx
  sub    %rbx,%rdx
  sub    %rbx,%rax
  sub    %rbx,%r15
  sub    %rbx,%r8
  mov    %rdx,0xb0(%rsp)
  mov    0x110(%rsp),%rdx
  sub    %rbx,%rsi
  sub    %rbx,%r9
  mov    %rax,0xc0(%rsp)
  mov    0x118(%rsp),%rax
  sub    %rbx,%rdx
  mov    %r15,0x90(%rsp)
  sub    %rbx,%rax
  mov    %r8,0x98(%rsp)
  mov    %rsi,0xa0(%rsp)
  mov    %r9,0xa8(%rsp)
  mov    %rdx,0xb8(%rsp)
  mov    %rax,0xc8(%rsp)
  nopl   0x0(%rax,%rax,1)
L1:
  mov    %r12,%rdi
  xor    %eax,%eax
  mov    %r12,%r15
  shl    $0x6,%rdi
  shl    $0x5,%r15
  add    %r13,%rdi
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  mov    0x148(%rsp),%rdi
  cvtsi2sd %eax,%xmm6
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm6,0x8(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm2,%xmm2
  mov    0x158(%rsp),%rdi
  cvtsi2sd %eax,%xmm2
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm2,0x18(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm9,%xmm9
  mov    0x140(%rsp),%rdi
  cvtsi2sd %eax,%xmm9
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm9,0x30(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm12,%xmm12
  lea    0x0(%r13,%r15,1),%rdi
  cvtsi2sd %eax,%xmm12
  xor    %eax,%eax
  movsd  %xmm12,0x50(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  mov    0x130(%rsp),%rdi
  cvtsi2sd %eax,%xmm4
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm4,0x10(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm11,%xmm11
  lea    (%r15,%r14,1),%rdi
  mov    %r12,%r15
  cvtsi2sd %eax,%xmm11
  xor    %eax,%eax
  movsd  %xmm11,0x48(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  mov    0x150(%rsp),%rdi
  cvtsi2sd %eax,%xmm6
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm6,0x38(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm7,%xmm7
  mov    0x128(%rsp),%rdi
  cvtsi2sd %eax,%xmm7
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm7,0x28(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm5
  mov    $0x2,%eax
  movsd  %xmm5,0x20(%rsp)
  call   <__creal@plt>
  movsd  0x18(%rsp),%xmm2
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm2,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm8,%xmm8
  mov    0x138(%rsp),%rdi
  cvtsi2sd %eax,%xmm8
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm8,0x18(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm4
  mov    $0x2,%eax
  movsd  %xmm4,0x40(%rsp)
  call   <__creal@plt>
  movsd  0x30(%rsp),%xmm9
  pxor   %xmm1,%xmm1
  shl    $0x4,%r15
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm9,%xmm2
  movapd %xmm9,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm10,%xmm10
  mov    0x120(%rsp),%rdi
  cvtsi2sd %eax,%xmm10
  xor    %eax,%eax
  add    %rbp,%rdi
  movsd  %xmm10,0x30(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm9,%xmm9
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm9
  mov    $0x2,%eax
  movsd  %xmm9,0x80(%rsp)
  call   <__creal@plt>
  movsd  0x50(%rsp),%xmm12
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm12,%xmm2
  movapd %xmm12,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm15,%xmm15
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm15
  mov    $0x2,%eax
  movsd  %xmm15,0x58(%rsp)
  call   <__creal@plt>
  movsd  0x48(%rsp),%xmm11
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm11,%xmm2
  movapd %xmm11,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm13,%xmm13
  movsd  0x38(%rsp),%xmm6
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm13
  mov    $0x2,%eax
  movapd %xmm6,%xmm0
  movsd  %xmm13,0x88(%rsp)
  call   <__creal@plt>
  movsd  0x28(%rsp),%xmm7
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm7,%xmm2
  movapd %xmm7,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm14,%xmm14
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm14
  mov    $0x2,%eax
  movsd  %xmm14,0x50(%rsp)
  call   <__cimag@plt>
  movsd  0x18(%rsp),%xmm8
  movsd  0x20(%rsp),%xmm5
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm8,%xmm2
  movapd %xmm5,%xmm0
  movsd  %xmm8,0x28(%rsp)
  call   <__fxcxnpma@plt>
  pxor   %xmm7,%xmm7
  lea    0x0(%r13,%r15,1),%rdi
  cvtsi2sd %eax,%xmm7
  xor    %eax,%eax
  movsd  %xmm7,0x48(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm6,%xmm6
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm6
  mov    $0x2,%eax
  movsd  %xmm6,0x18(%rsp)
  call   <__cimag@plt>
  movsd  0x28(%rsp),%xmm8
  movsd  0x20(%rsp),%xmm5
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm8,%xmm2
  movapd %xmm5,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm12,%xmm12
  lea    (%r14,%r15,1),%rdi
  cvtsi2sd %eax,%xmm12
  xor    %eax,%eax
  movsd  %xmm12,0x78(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm5
  mov    $0x2,%eax
  movsd  %xmm5,0x70(%rsp)
  call   <__cimag@plt>
  movsd  0x40(%rsp),%xmm4
  movsd  0x30(%rsp),%xmm10
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm10,%xmm2
  movapd %xmm4,%xmm0
  movsd  %xmm4,0x28(%rsp)
  call   <__fxcxnpma@plt>
  pxor   %xmm8,%xmm8
  lea    0x0(%r13,%rbx,1),%rdi
  cvtsi2sd %eax,%xmm8
  xor    %eax,%eax
  movsd  %xmm8,0x68(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm5,%xmm5
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm5
  mov    $0x2,%eax
  movsd  %xmm5,0x20(%rsp)
  call   <__cimag@plt>
  movsd  0x28(%rsp),%xmm4
  movsd  0x30(%rsp),%xmm10
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm10,%xmm2
  movapd %xmm4,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm10,%xmm10
  lea    (%rbx,%r14,1),%rdi
  cvtsi2sd %eax,%xmm10
  xor    %eax,%eax
  movsd  %xmm10,0x60(%rsp)
  call   <__lfpd@plt>
  pxor   %xmm4,%xmm4
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm4
  mov    $0x2,%eax
  movsd  %xmm4,0x40(%rsp)
  call   <__cimag@plt>
  movsd  0x58(%rsp),%xmm15
  pxor   %xmm1,%xmm1
  movsd  0x80(%rsp),%xmm9
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm15,%xmm2
  movapd %xmm9,%xmm0
  movsd  %xmm15,0x30(%rsp)
  movsd  %xmm9,0x28(%rsp)
  call   <__fxcxnpma@plt>
  pxor   %xmm11,%xmm11
  movsd  0x8(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm11
  mov    $0x2,%eax
  movsd  %xmm11,0x58(%rsp)
  call   <__cimag@plt>
  movsd  0x30(%rsp),%xmm15
  movsd  0x28(%rsp),%xmm9
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm15,%xmm2
  movapd %xmm9,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm9,%xmm9
  movsd  0x38(%rsp),%xmm6
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm9
  mov    $0x2,%eax
  movapd %xmm6,%xmm0
  movsd  %xmm9,0x80(%rsp)
  call   <__cimag@plt>
  movsd  0x50(%rsp),%xmm14
  pxor   %xmm1,%xmm1
  movsd  0x88(%rsp),%xmm13
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm14,%xmm2
  movapd %xmm13,%xmm0
  movsd  %xmm14,0x30(%rsp)
  movsd  %xmm13,0x28(%rsp)
  call   <__fxcpmadd@plt>
  pxor   %xmm15,%xmm15
  movsd  0x38(%rsp),%xmm6
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm15
  mov    $0x2,%eax
  movapd %xmm6,%xmm0
  movsd  %xmm15,0x8(%rsp)
  call   <__cimag@plt>
  movsd  0x28(%rsp),%xmm13
  movsd  0x30(%rsp),%xmm14
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm13,%xmm0
  movapd %xmm14,%xmm2
  call   <__fxcpnmsub@plt>
  pxor   %xmm14,%xmm14
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm14
  mov    $0x2,%eax
  movsd  %xmm14,0x50(%rsp)
  call   <__creal@plt>
  movsd  0x48(%rsp),%xmm7
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm7,%xmm2
  movapd %xmm7,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm7,%xmm7
  movsd  0x70(%rsp),%xmm5
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm7
  mov    $0x2,%eax
  movapd %xmm5,%xmm0
  movsd  %xmm5,0x38(%rsp)
  movsd  %xmm7,0x48(%rsp)
  call   <__creal@plt>
  movsd  0x68(%rsp),%xmm8
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm8,%xmm2
  movapd %xmm8,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm8,%xmm8
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm8
  mov    $0x2,%eax
  movsd  %xmm8,0x30(%rsp)
  call   <__creal@plt>
  movsd  0x78(%rsp),%xmm12
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm12,%xmm2
  movapd %xmm12,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm12,%xmm12
  movsd  0x40(%rsp),%xmm4
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm12
  mov    $0x2,%eax
  movapd %xmm4,%xmm0
  movsd  %xmm4,0x70(%rsp)
  movsd  %xmm12,0x78(%rsp)
  call   <__creal@plt>
  movsd  0x60(%rsp),%xmm10
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm10,%xmm2
  movapd %xmm10,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm13,%xmm13
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm13
  mov    $0x2,%eax
  movsd  %xmm13,0x40(%rsp)
  call   <__cimag@plt>
  movsd  0x8(%rsp),%xmm15
  movsd  0x58(%rsp),%xmm11
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm15,%xmm2
  movapd %xmm11,%xmm0
  movsd  %xmm15,0x28(%rsp)
  movsd  %xmm11,0x8(%rsp)
  call   <__fxcxnpma@plt>
  pxor   %xmm10,%xmm10
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm10
  mov    $0x2,%eax
  movsd  %xmm10,0x68(%rsp)
  call   <__cimag@plt>
  movsd  0x28(%rsp),%xmm15
  movsd  0x8(%rsp),%xmm11
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm15,%xmm2
  movapd %xmm11,%xmm0
  call   <__fxcxnsma@plt>
  pxor   %xmm6,%xmm6
  movsd  0x38(%rsp),%xmm5
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm6
  mov    $0x2,%eax
  movapd %xmm5,%xmm0
  movsd  %xmm6,0x60(%rsp)
  call   <__cimag@plt>
  movsd  0x30(%rsp),%xmm8
  movsd  0x48(%rsp),%xmm7
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm8,%xmm2
  movapd %xmm7,%xmm0
  movsd  %xmm8,0x28(%rsp)
  movsd  %xmm7,0x8(%rsp)
  call   <__fxcpmadd@plt>
  pxor   %xmm11,%xmm11
  movsd  0x38(%rsp),%xmm5
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm11
  mov    $0x2,%eax
  movapd %xmm5,%xmm0
  movsd  %xmm11,0x30(%rsp)
  call   <__cimag@plt>
  movsd  0x28(%rsp),%xmm8
  movsd  0x8(%rsp),%xmm7
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm8,%xmm2
  movapd %xmm7,%xmm0
  call   <__fxcpnmsub@plt>
  pxor   %xmm7,%xmm7
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm7
  mov    $0x2,%eax
  movsd  %xmm7,0x58(%rsp)
  call   <__cimag@plt>
  movsd  0x50(%rsp),%xmm14
  pxor   %xmm1,%xmm1
  movsd  0x80(%rsp),%xmm9
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm14,%xmm2
  movapd %xmm9,%xmm0
  movsd  %xmm14,0x28(%rsp)
  movsd  %xmm9,0x8(%rsp)
  call   <__fxcsnmsub@plt>
  pxor   %xmm8,%xmm8
  movsd  0x10(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm8
  mov    $0x2,%eax
  movsd  %xmm8,0x50(%rsp)
  call   <__cimag@plt>
  movsd  0x28(%rsp),%xmm14
  movsd  0x8(%rsp),%xmm9
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm14,%xmm2
  movapd %xmm9,%xmm0
  call   <__fxcsmadd@plt>
  pxor   %xmm5,%xmm5
  movsd  0x70(%rsp),%xmm4
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm5
  mov    $0x2,%eax
  movapd %xmm4,%xmm0
  movsd  %xmm4,0x28(%rsp)
  movsd  %xmm5,0x48(%rsp)
  call   <__cimag@plt>
  movsd  0x40(%rsp),%xmm13
  movsd  0x78(%rsp),%xmm12
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm13,%xmm2
  movapd %xmm12,%xmm0
  movsd  %xmm13,0x10(%rsp)
  movsd  %xmm12,0x8(%rsp)
  call   <__fxcpmadd@plt>
  pxor   %xmm9,%xmm9
  movsd  0x28(%rsp),%xmm4
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm9
  mov    $0x2,%eax
  movapd %xmm4,%xmm0
  movsd  %xmm9,0x38(%rsp)
  call   <__cimag@plt>
  movsd  0x10(%rsp),%xmm13
  movsd  0x8(%rsp),%xmm12
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm13,%xmm2
  movapd %xmm12,%xmm0
  call   <__fxcpnmsub@plt>
  pxor   %xmm4,%xmm4
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm4
  mov    $0x2,%eax
  movsd  %xmm4,0x40(%rsp)
  call   <__cimag@plt>
  movsd  0x30(%rsp),%xmm11
  movsd  0x68(%rsp),%xmm10
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm11,%xmm2
  movapd %xmm10,%xmm0
  movsd  %xmm11,0x10(%rsp)
  movsd  %xmm10,0x8(%rsp)
  call   <__fxcxnpma@plt>
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    %eax,0x30(%rsp)
  mov    $0x2,%eax
  call   <__cimag@plt>
  movsd  0x10(%rsp),%xmm11
  movsd  0x8(%rsp),%xmm10
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  movapd %xmm11,%xmm2
  movapd %xmm10,%xmm0
  call   <__fxcxnsma@plt>
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    %eax,0x28(%rsp)
  mov    $0x2,%eax
  call   <__cimag@plt>
  movsd  0x38(%rsp),%xmm9
  movsd  0x50(%rsp),%xmm8
  pxor   %xmm1,%xmm1
  mov    %eax,%edi
  movapd %xmm1,%xmm3
  mov    $0x4,%eax
  add    $0x1,%r12
  movapd %xmm9,%xmm2
  movapd %xmm8,%xmm0
  sub    $0xffffffffffffff80,%rbp
  movsd  %xmm9,0x10(%rsp)
  movsd  %xmm8,0x8(%rsp)
  call   <__fxcxnpma@plt>
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    %eax,0x38(%rsp)
  mov    $0x2,%eax
  call   <__cimag@plt>
  movsd  0x10(%rsp),%xmm9
  movsd  0x8(%rsp),%xmm8
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm9,%xmm2
  movapd %xmm8,%xmm0
  call   <__fxcxnsma@plt>
  mov    0x30(%rsp),%r8d
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  mov    %eax,%r15d
  mov    0x90(%rsp),%rax
  cvtsi2sd %r8d,%xmm0
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  movsd  0x58(%rsp),%xmm7
  movsd  0x60(%rsp),%xmm6
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm7,%xmm2
  movapd %xmm6,%xmm0
  movsd  %xmm7,0x10(%rsp)
  movsd  %xmm6,0x8(%rsp)
  call   <__fxcsnmsub@plt>
  mov    0x28(%rsp),%esi
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  mov    %eax,0x30(%rsp)
  mov    0x98(%rsp),%rax
  cvtsi2sd %esi,%xmm0
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x18(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  movsd  0x10(%rsp),%xmm7
  movsd  0x8(%rsp),%xmm6
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm7,%xmm2
  movapd %xmm6,%xmm0
  call   <__fxcsmadd@plt>
  mov    0x38(%rsp),%ecx
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  mov    %eax,0x28(%rsp)
  mov    0xa0(%rsp),%rax
  cvtsi2sd %ecx,%xmm0
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  movsd  0x40(%rsp),%xmm4
  movsd  0x48(%rsp),%xmm5
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm4,%xmm2
  movapd %xmm5,%xmm0
  movsd  %xmm4,0x18(%rsp)
  movsd  %xmm5,0x10(%rsp)
  call   <__fxcsnmsub@plt>
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r15d,%xmm0
  mov    %eax,0x8(%rsp)
  mov    0xa8(%rsp),%rax
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  movsd  0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  call   <__cimag@plt>
  movsd  0x18(%rsp),%xmm4
  movsd  0x10(%rsp),%xmm5
  pxor   %xmm1,%xmm1
  movapd %xmm1,%xmm3
  mov    %eax,%edi
  mov    $0x4,%eax
  movapd %xmm5,%xmm0
  movapd %xmm4,%xmm2
  call   <__fxcsmadd@plt>
  mov    0x30(%rsp),%r8d
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  mov    %eax,%r15d
  mov    0xb0(%rsp),%rax
  cvtsi2sd %r8d,%xmm0
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    0x28(%rsp),%esi
  pxor   %xmm0,%xmm0
  mov    0xb8(%rsp),%rax
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm0
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  mov    0x8(%rsp),%ecx
  pxor   %xmm0,%xmm0
  mov    0xc0(%rsp),%rax
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm0
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  call   <__stfpd@plt>
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  mov    0xc8(%rsp),%rax
  cvtsi2sd %r15d,%xmm0
  lea    (%rbx,%rax,1),%rdi
  mov    $0x2,%eax
  add    $0x10,%rbx
  call   <__stfpd@plt>
  cmp    %r12,0x178(%rsp)
  jne    L1
L19:
  add    $0xd8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

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