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

```asm
<fft16>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x810,%rsp
  mov    %rdi,-0x808(%rbp)
  mov    %rsi,-0x810(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x800(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x8(%rax),%xmm0
  movsd  %xmm0,-0x7f8(%rbp)
  movsd  -0x7f8(%rbp),%xmm0
  movsd  -0x800(%rbp),%xmm1
  movsd  %xmm1,-0x400(%rbp)
  movsd  %xmm0,-0x3f8(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x80(%rax),%xmm0
  movsd  %xmm0,-0x7f0(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x88(%rax),%xmm0
  movsd  %xmm0,-0x7e8(%rbp)
  movsd  -0x7e8(%rbp),%xmm0
  movsd  -0x7f0(%rbp),%xmm1
  movsd  %xmm1,-0x3f0(%rbp)
  movsd  %xmm0,-0x3e8(%rbp)
  movsd  -0x800(%rbp),%xmm0
  addsd  -0x7f0(%rbp),%xmm0
  movsd  %xmm0,-0x7e0(%rbp)
  movsd  -0x7f8(%rbp),%xmm0
  addsd  -0x7e8(%rbp),%xmm0
  movsd  %xmm0,-0x7d8(%rbp)
  movsd  -0x7d8(%rbp),%xmm0
  movsd  -0x7e0(%rbp),%xmm1
  movsd  %xmm1,-0x3e0(%rbp)
  movsd  %xmm0,-0x3d8(%rbp)
  movsd  -0x800(%rbp),%xmm0
  subsd  -0x7f0(%rbp),%xmm0
  movsd  %xmm0,-0x7d0(%rbp)
  movsd  -0x7f8(%rbp),%xmm0
  subsd  -0x7e8(%rbp),%xmm0
  movsd  %xmm0,-0x7c8(%rbp)
  movsd  -0x7c8(%rbp),%xmm0
  movsd  -0x7d0(%rbp),%xmm1
  movsd  %xmm1,-0x3d0(%rbp)
  movsd  %xmm0,-0x3c8(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x40(%rax),%xmm0
  movsd  %xmm0,-0x7c0(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x48(%rax),%xmm0
  movsd  %xmm0,-0x7b8(%rbp)
  movsd  -0x7b8(%rbp),%xmm0
  movsd  -0x7c0(%rbp),%xmm1
  movsd  %xmm1,-0x3c0(%rbp)
  movsd  %xmm0,-0x3b8(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xc0(%rax),%xmm0
  movsd  %xmm0,-0x7b0(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xc8(%rax),%xmm0
  movsd  %xmm0,-0x7a8(%rbp)
  movsd  -0x7a8(%rbp),%xmm0
  movsd  -0x7b0(%rbp),%xmm1
  movsd  %xmm1,-0x3b0(%rbp)
  movsd  %xmm0,-0x3a8(%rbp)
  movsd  -0x7c0(%rbp),%xmm0
  addsd  -0x7b0(%rbp),%xmm0
  movsd  %xmm0,-0x7a0(%rbp)
  movsd  -0x7b8(%rbp),%xmm0
  addsd  -0x7a8(%rbp),%xmm0
  movsd  %xmm0,-0x798(%rbp)
  movsd  -0x798(%rbp),%xmm0
  movsd  -0x7a0(%rbp),%xmm1
  movsd  %xmm1,-0x3a0(%rbp)
  movsd  %xmm0,-0x398(%rbp)
  movsd  -0x7e0(%rbp),%xmm0
  addsd  -0x7a0(%rbp),%xmm0
  movsd  %xmm0,-0x790(%rbp)
  movsd  -0x7d8(%rbp),%xmm0
  addsd  -0x798(%rbp),%xmm0
  movsd  %xmm0,-0x788(%rbp)
  movsd  -0x788(%rbp),%xmm0
  movsd  -0x790(%rbp),%xmm1
  movsd  %xmm1,-0x390(%rbp)
  movsd  %xmm0,-0x388(%rbp)
  movsd  -0x7e0(%rbp),%xmm0
  subsd  -0x7a0(%rbp),%xmm0
  movsd  %xmm0,-0x780(%rbp)
  movsd  -0x7d8(%rbp),%xmm0
  subsd  -0x798(%rbp),%xmm0
  movsd  %xmm0,-0x778(%rbp)
  movsd  -0x778(%rbp),%xmm0
  movsd  -0x780(%rbp),%xmm1
  movsd  %xmm1,-0x380(%rbp)
  movsd  %xmm0,-0x378(%rbp)
  movsd  -0x7c0(%rbp),%xmm0
  subsd  -0x7b0(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x7b8(%rbp),%xmm0
  subsd  -0x7a8(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x370(%rbp)
  movsd  %xmm0,-0x368(%rbp)
  movsd  -0x370(%rbp),%xmm0
  movsd  %xmm0,-0x770(%rbp)
  movsd  -0x368(%rbp),%xmm0
  movsd  %xmm0,-0x768(%rbp)
  movsd  -0x7d0(%rbp),%xmm0
  addsd  -0x770(%rbp),%xmm0
  movsd  %xmm0,-0x760(%rbp)
  movsd  -0x7c8(%rbp),%xmm0
  addsd  -0x768(%rbp),%xmm0
  movsd  %xmm0,-0x758(%rbp)
  movsd  -0x758(%rbp),%xmm0
  movsd  -0x760(%rbp),%xmm1
  movsd  %xmm1,-0x360(%rbp)
  movsd  %xmm0,-0x358(%rbp)
  movsd  -0x7d0(%rbp),%xmm0
  subsd  -0x770(%rbp),%xmm0
  movsd  %xmm0,-0x750(%rbp)
  movsd  -0x7c8(%rbp),%xmm0
  subsd  -0x768(%rbp),%xmm0
  movsd  %xmm0,-0x748(%rbp)
  movsd  -0x748(%rbp),%xmm0
  movsd  -0x750(%rbp),%xmm1
  movsd  %xmm1,-0x350(%rbp)
  movsd  %xmm0,-0x348(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x740(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x18(%rax),%xmm0
  movsd  %xmm0,-0x738(%rbp)
  movsd  -0x738(%rbp),%xmm0
  movsd  -0x740(%rbp),%xmm1
  movsd  %xmm1,-0x340(%rbp)
  movsd  %xmm0,-0x338(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x90(%rax),%xmm0
  movsd  %xmm0,-0x730(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x98(%rax),%xmm0
  movsd  %xmm0,-0x728(%rbp)
  movsd  -0x728(%rbp),%xmm0
  movsd  -0x730(%rbp),%xmm1
  movsd  %xmm1,-0x330(%rbp)
  movsd  %xmm0,-0x328(%rbp)
  movsd  -0x740(%rbp),%xmm0
  addsd  -0x730(%rbp),%xmm0
  movsd  %xmm0,-0x720(%rbp)
  movsd  -0x738(%rbp),%xmm0
  addsd  -0x728(%rbp),%xmm0
  movsd  %xmm0,-0x718(%rbp)
  movsd  -0x718(%rbp),%xmm0
  movsd  -0x720(%rbp),%xmm1
  movsd  %xmm1,-0x320(%rbp)
  movsd  %xmm0,-0x318(%rbp)
  movsd  -0x740(%rbp),%xmm0
  subsd  -0x730(%rbp),%xmm0
  movsd  %xmm0,-0x710(%rbp)
  movsd  -0x738(%rbp),%xmm0
  subsd  -0x728(%rbp),%xmm0
  movsd  %xmm0,-0x708(%rbp)
  movsd  -0x708(%rbp),%xmm0
  movsd  -0x710(%rbp),%xmm1
  movsd  %xmm1,-0x310(%rbp)
  movsd  %xmm0,-0x308(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x50(%rax),%xmm0
  movsd  %xmm0,-0x700(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x58(%rax),%xmm0
  movsd  %xmm0,-0x6f8(%rbp)
  movsd  -0x6f8(%rbp),%xmm0
  movsd  -0x700(%rbp),%xmm1
  movsd  %xmm1,-0x300(%rbp)
  movsd  %xmm0,-0x2f8(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xd0(%rax),%xmm0
  movsd  %xmm0,-0x6f0(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xd8(%rax),%xmm0
  movsd  %xmm0,-0x6e8(%rbp)
  movsd  -0x6e8(%rbp),%xmm0
  movsd  -0x6f0(%rbp),%xmm1
  movsd  %xmm1,-0x2f0(%rbp)
  movsd  %xmm0,-0x2e8(%rbp)
  movsd  -0x700(%rbp),%xmm0
  addsd  -0x6f0(%rbp),%xmm0
  movsd  %xmm0,-0x6e0(%rbp)
  movsd  -0x6f8(%rbp),%xmm0
  addsd  -0x6e8(%rbp),%xmm0
  movsd  %xmm0,-0x6d8(%rbp)
  movsd  -0x6d8(%rbp),%xmm0
  movsd  -0x6e0(%rbp),%xmm1
  movsd  %xmm1,-0x2e0(%rbp)
  movsd  %xmm0,-0x2d8(%rbp)
  movsd  -0x720(%rbp),%xmm0
  addsd  -0x6e0(%rbp),%xmm0
  movsd  %xmm0,-0x6d0(%rbp)
  movsd  -0x718(%rbp),%xmm0
  addsd  -0x6d8(%rbp),%xmm0
  movsd  %xmm0,-0x6c8(%rbp)
  movsd  -0x6c8(%rbp),%xmm0
  movsd  -0x6d0(%rbp),%xmm1
  movsd  %xmm1,-0x2d0(%rbp)
  movsd  %xmm0,-0x2c8(%rbp)
  movsd  -0x720(%rbp),%xmm0
  subsd  -0x6e0(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x718(%rbp),%xmm0
  subsd  -0x6d8(%rbp),%xmm0
  movsd  D102(%rip),%xmm2
  movsd  D102(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x2c0(%rbp)
  movsd  %xmm0,-0x2b8(%rbp)
  movsd  -0x2c0(%rbp),%xmm0
  movsd  %xmm0,-0x6c0(%rbp)
  movsd  -0x2b8(%rbp),%xmm0
  movsd  %xmm0,-0x6b8(%rbp)
  movsd  -0x700(%rbp),%xmm0
  subsd  -0x6f0(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x6f8(%rbp),%xmm0
  subsd  -0x6e8(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x2b0(%rbp)
  movsd  %xmm0,-0x2a8(%rbp)
  movsd  -0x2b0(%rbp),%xmm0
  movsd  %xmm0,-0x6b0(%rbp)
  movsd  -0x2a8(%rbp),%xmm0
  movsd  %xmm0,-0x6a8(%rbp)
  movsd  -0x710(%rbp),%xmm0
  addsd  -0x6b0(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x708(%rbp),%xmm0
  addsd  -0x6a8(%rbp),%xmm0
  movsd  D103(%rip),%xmm2
  movsd  D138(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x2a0(%rbp)
  movsd  %xmm0,-0x298(%rbp)
  movsd  -0x2a0(%rbp),%xmm0
  movsd  %xmm0,-0x6a0(%rbp)
  movsd  -0x298(%rbp),%xmm0
  movsd  %xmm0,-0x698(%rbp)
  movsd  -0x710(%rbp),%xmm0
  subsd  -0x6b0(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x708(%rbp),%xmm0
  subsd  -0x6a8(%rbp),%xmm0
  movsd  D138(%rip),%xmm2
  movsd  D103(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x290(%rbp)
  movsd  %xmm0,-0x288(%rbp)
  movsd  -0x290(%rbp),%xmm0
  movsd  %xmm0,-0x690(%rbp)
  movsd  -0x288(%rbp),%xmm0
  movsd  %xmm0,-0x688(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  movsd  %xmm0,-0x680(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  movsd  %xmm0,-0x678(%rbp)
  movsd  -0x678(%rbp),%xmm0
  movsd  -0x680(%rbp),%xmm1
  movsd  %xmm1,-0x280(%rbp)
  movsd  %xmm0,-0x278(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xa0(%rax),%xmm0
  movsd  %xmm0,-0x670(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xa8(%rax),%xmm0
  movsd  %xmm0,-0x668(%rbp)
  movsd  -0x668(%rbp),%xmm0
  movsd  -0x670(%rbp),%xmm1
  movsd  %xmm1,-0x270(%rbp)
  movsd  %xmm0,-0x268(%rbp)
  movsd  -0x680(%rbp),%xmm0
  addsd  -0x670(%rbp),%xmm0
  movsd  %xmm0,-0x660(%rbp)
  movsd  -0x678(%rbp),%xmm0
  addsd  -0x668(%rbp),%xmm0
  movsd  %xmm0,-0x658(%rbp)
  movsd  -0x658(%rbp),%xmm0
  movsd  -0x660(%rbp),%xmm1
  movsd  %xmm1,-0x260(%rbp)
  movsd  %xmm0,-0x258(%rbp)
  movsd  -0x680(%rbp),%xmm0
  subsd  -0x670(%rbp),%xmm0
  movsd  %xmm0,-0x650(%rbp)
  movsd  -0x678(%rbp),%xmm0
  subsd  -0x668(%rbp),%xmm0
  movsd  %xmm0,-0x648(%rbp)
  movsd  -0x648(%rbp),%xmm0
  movsd  -0x650(%rbp),%xmm1
  movsd  %xmm1,-0x250(%rbp)
  movsd  %xmm0,-0x248(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x60(%rax),%xmm0
  movsd  %xmm0,-0x640(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x68(%rax),%xmm0
  movsd  %xmm0,-0x638(%rbp)
  movsd  -0x638(%rbp),%xmm0
  movsd  -0x640(%rbp),%xmm1
  movsd  %xmm1,-0x240(%rbp)
  movsd  %xmm0,-0x238(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xe0(%rax),%xmm0
  movsd  %xmm0,-0x630(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xe8(%rax),%xmm0
  movsd  %xmm0,-0x628(%rbp)
  movsd  -0x628(%rbp),%xmm0
  movsd  -0x630(%rbp),%xmm1
  movsd  %xmm1,-0x230(%rbp)
  movsd  %xmm0,-0x228(%rbp)
  movsd  -0x640(%rbp),%xmm0
  addsd  -0x630(%rbp),%xmm0
  movsd  %xmm0,-0x620(%rbp)
  movsd  -0x638(%rbp),%xmm0
  addsd  -0x628(%rbp),%xmm0
  movsd  %xmm0,-0x618(%rbp)
  movsd  -0x618(%rbp),%xmm0
  movsd  -0x620(%rbp),%xmm1
  movsd  %xmm1,-0x220(%rbp)
  movsd  %xmm0,-0x218(%rbp)
  movsd  -0x660(%rbp),%xmm0
  addsd  -0x620(%rbp),%xmm0
  movsd  %xmm0,-0x610(%rbp)
  movsd  -0x658(%rbp),%xmm0
  addsd  -0x618(%rbp),%xmm0
  movsd  %xmm0,-0x608(%rbp)
  movsd  -0x608(%rbp),%xmm0
  movsd  -0x610(%rbp),%xmm1
  movsd  %xmm1,-0x210(%rbp)
  movsd  %xmm0,-0x208(%rbp)
  movsd  -0x660(%rbp),%xmm0
  subsd  -0x620(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x658(%rbp),%xmm0
  subsd  -0x618(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x200(%rbp)
  movsd  %xmm0,-0x1f8(%rbp)
  movsd  -0x200(%rbp),%xmm0
  movsd  %xmm0,-0x600(%rbp)
  movsd  -0x1f8(%rbp),%xmm0
  movsd  %xmm0,-0x5f8(%rbp)
  movsd  -0x640(%rbp),%xmm0
  subsd  -0x630(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x638(%rbp),%xmm0
  subsd  -0x628(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x1f0(%rbp)
  movsd  %xmm0,-0x1e8(%rbp)
  movsd  -0x1f0(%rbp),%xmm0
  movsd  %xmm0,-0x5f0(%rbp)
  movsd  -0x1e8(%rbp),%xmm0
  movsd  %xmm0,-0x5e8(%rbp)
  movsd  -0x650(%rbp),%xmm0
  addsd  -0x5f0(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x648(%rbp),%xmm0
  addsd  -0x5e8(%rbp),%xmm0
  movsd  D102(%rip),%xmm2
  movsd  D102(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x1e0(%rbp)
  movsd  %xmm0,-0x1d8(%rbp)
  movsd  -0x1e0(%rbp),%xmm0
  movsd  %xmm0,-0x5e0(%rbp)
  movsd  -0x1d8(%rbp),%xmm0
  movsd  %xmm0,-0x5d8(%rbp)
  movsd  -0x650(%rbp),%xmm0
  subsd  -0x5f0(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x648(%rbp),%xmm0
  subsd  -0x5e8(%rbp),%xmm0
  movsd  D102(%rip),%xmm2
  movsd  D73(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x1d0(%rbp)
  movsd  %xmm0,-0x1c8(%rbp)
  movsd  -0x1d0(%rbp),%xmm0
  movsd  %xmm0,-0x5d0(%rbp)
  movsd  -0x1c8(%rbp),%xmm0
  movsd  %xmm0,-0x5c8(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x30(%rax),%xmm0
  movsd  %xmm0,-0x5c0(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x38(%rax),%xmm0
  movsd  %xmm0,-0x5b8(%rbp)
  movsd  -0x5b8(%rbp),%xmm0
  movsd  -0x5c0(%rbp),%xmm1
  movsd  %xmm1,-0x1c0(%rbp)
  movsd  %xmm0,-0x1b8(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xb0(%rax),%xmm0
  movsd  %xmm0,-0x5b0(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xb8(%rax),%xmm0
  movsd  %xmm0,-0x5a8(%rbp)
  movsd  -0x5a8(%rbp),%xmm0
  movsd  -0x5b0(%rbp),%xmm1
  movsd  %xmm1,-0x1b0(%rbp)
  movsd  %xmm0,-0x1a8(%rbp)
  movsd  -0x5c0(%rbp),%xmm0
  addsd  -0x5b0(%rbp),%xmm0
  movsd  %xmm0,-0x5a0(%rbp)
  movsd  -0x5b8(%rbp),%xmm0
  addsd  -0x5a8(%rbp),%xmm0
  movsd  %xmm0,-0x598(%rbp)
  movsd  -0x598(%rbp),%xmm0
  movsd  -0x5a0(%rbp),%xmm1
  movsd  %xmm1,-0x1a0(%rbp)
  movsd  %xmm0,-0x198(%rbp)
  movsd  -0x5c0(%rbp),%xmm0
  subsd  -0x5b0(%rbp),%xmm0
  movsd  %xmm0,-0x590(%rbp)
  movsd  -0x5b8(%rbp),%xmm0
  subsd  -0x5a8(%rbp),%xmm0
  movsd  %xmm0,-0x588(%rbp)
  movsd  -0x588(%rbp),%xmm0
  movsd  -0x590(%rbp),%xmm1
  movsd  %xmm1,-0x190(%rbp)
  movsd  %xmm0,-0x188(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x70(%rax),%xmm0
  movsd  %xmm0,-0x580(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0x78(%rax),%xmm0
  movsd  %xmm0,-0x578(%rbp)
  movsd  -0x578(%rbp),%xmm0
  movsd  -0x580(%rbp),%xmm1
  movsd  %xmm1,-0x180(%rbp)
  movsd  %xmm0,-0x178(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xf0(%rax),%xmm0
  movsd  %xmm0,-0x570(%rbp)
  mov    -0x810(%rbp),%rax
  movsd  0xf8(%rax),%xmm0
  movsd  %xmm0,-0x568(%rbp)
  movsd  -0x568(%rbp),%xmm0
  movsd  -0x570(%rbp),%xmm1
  movsd  %xmm1,-0x170(%rbp)
  movsd  %xmm0,-0x168(%rbp)
  movsd  -0x580(%rbp),%xmm0
  addsd  -0x570(%rbp),%xmm0
  movsd  %xmm0,-0x560(%rbp)
  movsd  -0x578(%rbp),%xmm0
  addsd  -0x568(%rbp),%xmm0
  movsd  %xmm0,-0x558(%rbp)
  movsd  -0x558(%rbp),%xmm0
  movsd  -0x560(%rbp),%xmm1
  movsd  %xmm1,-0x160(%rbp)
  movsd  %xmm0,-0x158(%rbp)
  movsd  -0x5a0(%rbp),%xmm0
  addsd  -0x560(%rbp),%xmm0
  movsd  %xmm0,-0x550(%rbp)
  movsd  -0x598(%rbp),%xmm0
  addsd  -0x558(%rbp),%xmm0
  movsd  %xmm0,-0x548(%rbp)
  movsd  -0x548(%rbp),%xmm0
  movsd  -0x550(%rbp),%xmm1
  movsd  %xmm1,-0x150(%rbp)
  movsd  %xmm0,-0x148(%rbp)
  movsd  -0x5a0(%rbp),%xmm0
  subsd  -0x560(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x598(%rbp),%xmm0
  subsd  -0x558(%rbp),%xmm0
  movsd  D102(%rip),%xmm2
  movsd  D73(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x140(%rbp)
  movsd  %xmm0,-0x138(%rbp)
  movsd  -0x140(%rbp),%xmm0
  movsd  %xmm0,-0x540(%rbp)
  movsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,-0x538(%rbp)
  movsd  -0x580(%rbp),%xmm0
  subsd  -0x570(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x578(%rbp),%xmm0
  subsd  -0x568(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x130(%rbp)
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0x130(%rbp),%xmm0
  movsd  %xmm0,-0x530(%rbp)
  movsd  -0x128(%rbp),%xmm0
  movsd  %xmm0,-0x528(%rbp)
  movsd  -0x590(%rbp),%xmm0
  addsd  -0x530(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x588(%rbp),%xmm0
  addsd  -0x528(%rbp),%xmm0
  movsd  D138(%rip),%xmm2
  movsd  D103(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x120(%rbp)
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x120(%rbp),%xmm0
  movsd  %xmm0,-0x520(%rbp)
  movsd  -0x118(%rbp),%xmm0
  movsd  %xmm0,-0x518(%rbp)
  movsd  -0x590(%rbp),%xmm0
  subsd  -0x530(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x588(%rbp),%xmm0
  subsd  -0x528(%rbp),%xmm0
  movsd  D179(%rip),%xmm2
  movsd  D216(%rip),%xmm1
  movapd %xmm2,%xmm3
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x110(%rbp)
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x510(%rbp)
  movsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x508(%rbp)
  movsd  -0x790(%rbp),%xmm0
  addsd  -0x610(%rbp),%xmm0
  movsd  %xmm0,-0x500(%rbp)
  movsd  -0x788(%rbp),%xmm0
  addsd  -0x608(%rbp),%xmm0
  movsd  %xmm0,-0x4f8(%rbp)
  movsd  -0x4f8(%rbp),%xmm0
  movsd  -0x500(%rbp),%xmm1
  movsd  %xmm1,-0x100(%rbp)
  movsd  %xmm0,-0xf8(%rbp)
  movsd  -0x790(%rbp),%xmm0
  subsd  -0x610(%rbp),%xmm0
  movsd  %xmm0,-0x4f0(%rbp)
  movsd  -0x788(%rbp),%xmm0
  subsd  -0x608(%rbp),%xmm0
  movsd  %xmm0,-0x4e8(%rbp)
  movsd  -0x4e8(%rbp),%xmm0
  movsd  -0x4f0(%rbp),%xmm1
  movsd  %xmm1,-0xf0(%rbp)
  movsd  %xmm0,-0xe8(%rbp)
  movsd  -0x6d0(%rbp),%xmm0
  addsd  -0x550(%rbp),%xmm0
  movsd  %xmm0,-0x4e0(%rbp)
  movsd  -0x6c8(%rbp),%xmm0
  addsd  -0x548(%rbp),%xmm0
  movsd  %xmm0,-0x4d8(%rbp)
  movsd  -0x4d8(%rbp),%xmm0
  movsd  -0x4e0(%rbp),%xmm1
  movsd  %xmm1,-0xe0(%rbp)
  movsd  %xmm0,-0xd8(%rbp)
  movsd  -0x500(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x4e0(%rbp),%xmm1
  movsd  -0x4f8(%rbp),%xmm0
  addsd  -0x4d8(%rbp),%xmm0
  mov    -0x808(%rbp),%rax
  movsd  %xmm1,(%rax)
  mov    -0x808(%rbp),%rax
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  movsd  -0x500(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x4e0(%rbp),%xmm1
  movsd  -0x4f8(%rbp),%xmm0
  subsd  -0x4d8(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  movsd  -0x6d0(%rbp),%xmm0
  subsd  -0x550(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x6c8(%rbp),%xmm0
  subsd  -0x548(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0xd0(%rbp)
  movsd  %xmm0,-0xc8(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x4d0(%rbp)
  movsd  -0xc8(%rbp),%xmm0
  movsd  %xmm0,-0x4c8(%rbp)
  mov    -0x808(%rbp),%rax
  add    $0x40,%rax
  movsd  -0x4f0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x4d0(%rbp),%xmm1
  movsd  -0x4e8(%rbp),%xmm0
  addsd  -0x4c8(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  add    $0xc0,%rax
  movsd  -0x4f0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x4d0(%rbp),%xmm1
  movsd  -0x4e8(%rbp),%xmm0
  subsd  -0x4c8(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  movsd  -0x760(%rbp),%xmm0
  addsd  -0x5e0(%rbp),%xmm0
  movsd  %xmm0,-0x4c0(%rbp)
  movsd  -0x758(%rbp),%xmm0
  addsd  -0x5d8(%rbp),%xmm0
  movsd  %xmm0,-0x4b8(%rbp)
  movsd  -0x4b8(%rbp),%xmm0
  movsd  -0x4c0(%rbp),%xmm1
  movsd  %xmm1,-0xc0(%rbp)
  movsd  %xmm0,-0xb8(%rbp)
  movsd  -0x760(%rbp),%xmm0
  subsd  -0x5e0(%rbp),%xmm0
  movsd  %xmm0,-0x4b0(%rbp)
  movsd  -0x758(%rbp),%xmm0
  subsd  -0x5d8(%rbp),%xmm0
  movsd  %xmm0,-0x4a8(%rbp)
  movsd  -0x4a8(%rbp),%xmm0
  movsd  -0x4b0(%rbp),%xmm1
  movsd  %xmm1,-0xb0(%rbp)
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0x6a0(%rbp),%xmm0
  addsd  -0x520(%rbp),%xmm0
  movsd  %xmm0,-0x4a0(%rbp)
  movsd  -0x698(%rbp),%xmm0
  addsd  -0x518(%rbp),%xmm0
  movsd  %xmm0,-0x498(%rbp)
  movsd  -0x498(%rbp),%xmm0
  movsd  -0x4a0(%rbp),%xmm1
  movsd  %xmm1,-0xa0(%rbp)
  movsd  %xmm0,-0x98(%rbp)
  mov    -0x808(%rbp),%rax
  add    $0x10,%rax
  movsd  -0x4c0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x4a0(%rbp),%xmm1
  movsd  -0x4b8(%rbp),%xmm0
  addsd  -0x498(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  add    $0x90,%rax
  movsd  -0x4c0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x4a0(%rbp),%xmm1
  movsd  -0x4b8(%rbp),%xmm0
  subsd  -0x498(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  movsd  -0x6a0(%rbp),%xmm0
  subsd  -0x520(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x698(%rbp),%xmm0
  subsd  -0x518(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x90(%rbp)
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movsd  %xmm0,-0x490(%rbp)
  movsd  -0x88(%rbp),%xmm0
  movsd  %xmm0,-0x488(%rbp)
  mov    -0x808(%rbp),%rax
  add    $0x50,%rax
  movsd  -0x4b0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x490(%rbp),%xmm1
  movsd  -0x4a8(%rbp),%xmm0
  addsd  -0x488(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  add    $0xd0,%rax
  movsd  -0x4b0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x490(%rbp),%xmm1
  movsd  -0x4a8(%rbp),%xmm0
  subsd  -0x488(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  movsd  -0x780(%rbp),%xmm0
  addsd  -0x600(%rbp),%xmm0
  movsd  %xmm0,-0x480(%rbp)
  movsd  -0x778(%rbp),%xmm0
  addsd  -0x5f8(%rbp),%xmm0
  movsd  %xmm0,-0x478(%rbp)
  movsd  -0x478(%rbp),%xmm0
  movsd  -0x480(%rbp),%xmm1
  movsd  %xmm1,-0x80(%rbp)
  movsd  %xmm0,-0x78(%rbp)
  movsd  -0x780(%rbp),%xmm0
  subsd  -0x600(%rbp),%xmm0
  movsd  %xmm0,-0x470(%rbp)
  movsd  -0x778(%rbp),%xmm0
  subsd  -0x5f8(%rbp),%xmm0
  movsd  %xmm0,-0x468(%rbp)
  movsd  -0x468(%rbp),%xmm0
  movsd  -0x470(%rbp),%xmm1
  movsd  %xmm1,-0x70(%rbp)
  movsd  %xmm0,-0x68(%rbp)
  movsd  -0x6c0(%rbp),%xmm0
  addsd  -0x540(%rbp),%xmm0
  movsd  %xmm0,-0x460(%rbp)
  movsd  -0x6b8(%rbp),%xmm0
  addsd  -0x538(%rbp),%xmm0
  movsd  %xmm0,-0x458(%rbp)
  movsd  -0x458(%rbp),%xmm0
  movsd  -0x460(%rbp),%xmm1
  movsd  %xmm1,-0x60(%rbp)
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x808(%rbp),%rax
  add    $0x20,%rax
  movsd  -0x480(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x460(%rbp),%xmm1
  movsd  -0x478(%rbp),%xmm0
  addsd  -0x458(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  add    $0xa0,%rax
  movsd  -0x480(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x460(%rbp),%xmm1
  movsd  -0x478(%rbp),%xmm0
  subsd  -0x458(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  movsd  -0x6c0(%rbp),%xmm0
  subsd  -0x540(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x6b8(%rbp),%xmm0
  subsd  -0x538(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x50(%rbp)
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x450(%rbp)
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,-0x448(%rbp)
  mov    -0x808(%rbp),%rax
  add    $0x60,%rax
  movsd  -0x470(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x450(%rbp),%xmm1
  movsd  -0x468(%rbp),%xmm0
  addsd  -0x448(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  add    $0xe0,%rax
  movsd  -0x470(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x450(%rbp),%xmm1
  movsd  -0x468(%rbp),%xmm0
  subsd  -0x448(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  movsd  -0x750(%rbp),%xmm0
  addsd  -0x5d0(%rbp),%xmm0
  movsd  %xmm0,-0x440(%rbp)
  movsd  -0x748(%rbp),%xmm0
  addsd  -0x5c8(%rbp),%xmm0
  movsd  %xmm0,-0x438(%rbp)
  movsd  -0x438(%rbp),%xmm0
  movsd  -0x440(%rbp),%xmm1
  movsd  %xmm1,-0x40(%rbp)
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x750(%rbp),%xmm0
  subsd  -0x5d0(%rbp),%xmm0
  movsd  %xmm0,-0x430(%rbp)
  movsd  -0x748(%rbp),%xmm0
  subsd  -0x5c8(%rbp),%xmm0
  movsd  %xmm0,-0x428(%rbp)
  movsd  -0x428(%rbp),%xmm0
  movsd  -0x430(%rbp),%xmm1
  movsd  %xmm1,-0x30(%rbp)
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x690(%rbp),%xmm0
  addsd  -0x510(%rbp),%xmm0
  movsd  %xmm0,-0x420(%rbp)
  movsd  -0x688(%rbp),%xmm0
  addsd  -0x508(%rbp),%xmm0
  movsd  %xmm0,-0x418(%rbp)
  movsd  -0x418(%rbp),%xmm0
  movsd  -0x420(%rbp),%xmm1
  movsd  %xmm1,-0x20(%rbp)
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x808(%rbp),%rax
  add    $0x30,%rax
  movsd  -0x440(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x420(%rbp),%xmm1
  movsd  -0x438(%rbp),%xmm0
  addsd  -0x418(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  add    $0xb0,%rax
  movsd  -0x440(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x420(%rbp),%xmm1
  movsd  -0x438(%rbp),%xmm0
  subsd  -0x418(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  movsd  -0x690(%rbp),%xmm0
  subsd  -0x510(%rbp),%xmm0
  movq   %xmm0,%rax
  movsd  -0x688(%rbp),%xmm0
  subsd  -0x508(%rbp),%xmm0
  movsd  D41(%rip),%xmm1
  movapd %xmm1,%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <__muldc3>
  movq   %xmm0,%rax
  movapd %xmm1,%xmm0
  mov    %rax,-0x10(%rbp)
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0x410(%rbp)
  movsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x408(%rbp)
  mov    -0x808(%rbp),%rax
  add    $0x70,%rax
  movsd  -0x430(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x410(%rbp),%xmm1
  movsd  -0x428(%rbp),%xmm0
  addsd  -0x408(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  mov    -0x808(%rbp),%rax
  add    $0xf0,%rax
  movsd  -0x430(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x410(%rbp),%xmm1
  movsd  -0x428(%rbp),%xmm0
  subsd  -0x408(%rbp),%xmm0
  movsd  %xmm1,(%rax)
  movsd  %xmm0,0x8(%rax)
  nop
  leave
  ret
```

tool_calls: name: parse_data
arguments: tag: D41
type_guessed: f64
name: parse_data
arguments: tag: D102
type_guessed: f64
name: parse_data
arguments: tag: D103
type_guessed: f64
name: parse_data
arguments: tag: D138
type_guessed: f64
name: parse_data
arguments: tag: D73
type_guessed: byte[8]
name: parse_data
arguments: tag: D179
type_guessed: byte[8]
name: parse_data
arguments: tag: D216
type_guessed: byte[8]

tool: D41: 1

tool: D102: 0.7071067811865476

tool: D103: 0.3826834323650898

tool: D138: 0.9238795325112867

tool: {"D73": [0xcd,0x3b,0x7f,0x66,0x9e,0xa0,0xe6,0xbf]}

tool: {"D179": [0x63,0xa9,0xae,0xa6,0xe2,0x7d,0xd8,0xbf]}

tool: {"D216": [0x46,0x8d,0x32,0xcf,0x6b,0x90,0xed,0xbf]}

assistant: ```c
void fft16(_Complex double *Y, _Complex double *X) {
  _Complex double a289, a290, t243, t244, a291, a292, t245, t246, t247, a293, t248, t249, a294, a295, t250, t251, a296, a297, t252, t253, s31, a298, s32, s33, a299, a300, t254, t255, a301, a302, t256, t257, s34, a303, s35, s36, a304, a305, t258, t259, a306, a307, t260, t261, s37, a308, s38, s39, t262, t263, t264, a309, t265, t266, t267, a310, t268, t269, t270, a311, t271, t272, t273, a312;
  a289 = *(X);
  a290 = *((X + 8));
  t243 = (a289 + a290);
  t244 = (a289 - a290);
  a291 = *((X + 4));
  a292 = *((X + 12));
  t245 = (a291 + a292);
  t246 = (t243 + t245);
  t247 = (t243 - t245);
  a293 = (1.0if * (a291 - a292));
  t248 = (t244 + a293);
  t249 = (t244 - a293);
  a294 = *((X + 1));
  a295 = *((X + 9));
  t250 = (a294 + a295);
  t251 = (a294 - a295);
  a296 = *((X + 5));
  a297 = *((X + 13));
  t252 = (a296 + a297);
  t253 = (t250 + t252);
  s31 = ((0.70710678118654757 + 1.0if * 0.70710678118654757) * (t250 - t252));
  a298 = (1.0if * (a296 - a297));
  s32 = ((0.92387953251128674 + 1.0if * 0.38268343236508978) * (t251 + a298));
  s33 = ((0.38268343236508978 + 1.0if * 0.92387953251128674) * (t251 - a298));
  a299 = *((X + 2));
  a300 = *((X + 10));
  t254 = (a299 + a300);
  t255 = (a299 - a300);
  a301 = *((X + 6));
  a302 = *((X + 14));
  t256 = (a301 + a302);
  t257 = (t254 + t256);
  s34 = (1.0if * (t254 - t256));
  a303 = (1.0if * (a301 - a302));
  s35 = ((0.70710678118654757 + 1.0if * 0.70710678118654757) * (t255 + a303));
  s36 = ((-0.70710678118654757 + 1.0if * 0.70710678118654757) * (t255 - a303));
  a304 = *((X + 3));
  a305 = *((X + 11));
  t258 = (a304 + a305);
  t259 = (a304 - a305);
  a306 = *((X + 7));
  a307 = *((X + 15));
  t260 = (a306 + a307);
  t261 = (t258 + t260);
  s37 = ((-0.70710678118654757 + 1.0if * 0.70710678118654757) * (t258 - t260));
  a308 = (1.0if * (a306 - a307));
  s38 = ((0.38268343236508978 + 1.0if * 0.92387953251128674) * (t259 + a308));
  s39 = ((-0.92387953251128674 - 1.0if * 0.38268343236508978) * (t259 - a308));
  t262 = (t246 + t257);
  t263 = (t246 - t257);
  t264 = (t253 + t261);
  *(Y) = (t262 + t264);
  *((Y + 8)) = (t262 - t264);
  a309 = (1.0if * (t253 - t261));
  *((Y + 4)) = (t263 + a309);
  *((Y + 12)) = (t263 - a309);
  t265 = (t248 + s35);
  t266 = (t248 - s35);
  t267 = (s32 + s38);
  *((Y + 1)) = (t265 + t267);
  *((Y + 9)) = (t265 - t267);
  a310 = (1.0if * (s32 - s38));
  *((Y + 5)) = (t266 + a310);
  *((Y + 13)) = (t266 - a310);
  t268 = (t247 + s34);
  t269 = (t247 - s34);
  t270 = (s31 + s37);
  *((Y + 2)) = (t268 + t270);
  *((Y + 10)) = (t268 - t270);
  a311 = (1.0if * (s31 - s37));
  *((Y + 6)) = (t269 + a311);
  *((Y + 14)) = (t269 - a311);
  t271 = (t249 + s36);
  t272 = (t249 - s36);
  t273 = (s33 + s39);
  *((Y + 3)) = (t271 + t273);
  *((Y + 11)) = (t271 - t273);
  a312 = (1.0if * (s33 - s39));
  *((Y + 7)) = (t272 + a312);
  *((Y + 15)) = (t272 - a312);
}
```