user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<cftf162>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x100,%rsp
  mov    %rdi,-0x178(%rbp)
  movsd  D17(%rip),%xmm0
  movsd  %xmm0,-0x168(%rbp)
  movsd  D11(%rip),%xmm0
  movsd  %xmm0,-0x160(%rbp)
  movsd  D63(%rip),%xmm0
  movsd  %xmm0,-0x158(%rbp)
  movsd  D51(%rip),%xmm0
  movsd  %xmm0,-0x150(%rbp)
  movsd  D42(%rip),%xmm0
  movsd  %xmm0,-0x148(%rbp)
  movsd  D48(%rip),%xmm0
  movsd  %xmm0,-0x140(%rbp)
  movsd  D47(%rip),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  mov    -0x178(%rbp),%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x88,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xc8,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xc0,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x120(%rbp),%xmm0
  subsd  -0x118(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x118(%rbp),%xmm0
  addsd  -0x120(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0xe8(%rbp)
  mov    -0x178(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x88,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xc8,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xc0,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x120(%rbp),%xmm0
  subsd  -0x118(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x118(%rbp),%xmm0
  addsd  -0x120(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x98,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x90,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x160(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x158(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x160(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x158(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xd8,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xd0,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x138(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x138(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x140(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0x98,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0x90,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x140(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x138(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x140(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x138(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xd8,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x58,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xd0,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x160(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x120(%rbp),%xmm1
  movsd  -0x158(%rbp),%xmm0
  mulsd  -0x118(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x160(%rbp),%xmm0
  mulsd  -0x118(%rbp),%xmm0
  movsd  -0x158(%rbp),%xmm1
  mulsd  -0x120(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xa8,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xa0,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x150(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x150(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x148(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xe8,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xe0,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x148(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x148(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x150(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xa8,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xa0,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x148(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x150(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x148(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x150(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xe8,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x68,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xe0,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x150(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x148(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x150(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x148(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xb8,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xb0,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x140(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x138(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x140(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x138(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xf8,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xf0,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x158(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x160(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x158(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x160(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xb8,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xb0,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x158(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x120(%rbp),%xmm1
  movsd  -0x160(%rbp),%xmm0
  mulsd  -0x118(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x158(%rbp),%xmm0
  mulsd  -0x118(%rbp),%xmm0
  movsd  -0x160(%rbp),%xmm1
  mulsd  -0x120(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x70,%rax
  movsd  (%rax),%xmm1
  mov    -0x178(%rbp),%rax
  add    $0xf8,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x78,%rax
  movsd  (%rax),%xmm0
  mov    -0x178(%rbp),%rax
  add    $0xf0,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x138(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  -0x140(%rbp),%xmm1
  mulsd  -0x118(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x138(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x118(%rbp),%xmm1
  movsd  -0x140(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x100(%rbp),%xmm0
  addsd  -0x80(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xf8(%rbp),%xmm0
  addsd  -0x78(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0xc0(%rbp),%xmm0
  addsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0xb8(%rbp),%xmm0
  addsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  mov    -0x178(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x8,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x10,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x18,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x100(%rbp),%xmm0
  subsd  -0x80(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xf8(%rbp),%xmm0
  subsd  -0x78(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0xc0(%rbp),%xmm0
  subsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0xb8(%rbp),%xmm0
  subsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x20,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x28,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x30,%rax
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x38,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0xf0(%rbp),%xmm0
  subsd  -0x68(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xe8(%rbp),%xmm0
  addsd  -0x70(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  subsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x120(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x120(%rbp),%xmm0
  subsd  -0x118(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x118(%rbp),%xmm0
  addsd  -0x120(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x40,%rax
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x48,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x50,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x58,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0xf0(%rbp),%xmm0
  addsd  -0x68(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xe8(%rbp),%xmm0
  subsd  -0x70(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  addsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x120(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  subsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x120(%rbp),%xmm0
  subsd  -0x118(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x118(%rbp),%xmm0
  addsd  -0x120(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0x60,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x68,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x70,%rax
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x78,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0xe0(%rbp),%xmm0
  addsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xd8(%rbp),%xmm0
  addsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  subsd  -0x20(%rbp),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x98(%rbp),%xmm0
  subsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x178(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x88,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x90,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0x98,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0xe0(%rbp),%xmm0
  subsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xd8(%rbp),%xmm0
  subsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  addsd  -0x20(%rbp),%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x98(%rbp),%xmm0
  addsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0xa0,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xa8,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xb0,%rax
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xb8,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0xd0(%rbp),%xmm0
  subsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xc8(%rbp),%xmm0
  addsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0x90(%rbp),%xmm0
  addsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x120(%rbp)
  movsd  -0x88(%rbp),%xmm0
  subsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x120(%rbp),%xmm0
  subsd  -0x118(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x118(%rbp),%xmm0
  addsd  -0x120(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0xc0,%rax
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xc8,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xd0,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xd8,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0xd0(%rbp),%xmm0
  addsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0xc8(%rbp),%xmm0
  subsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0x90(%rbp),%xmm0
  subsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x120(%rbp)
  movsd  -0x88(%rbp),%xmm0
  addsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x120(%rbp),%xmm0
  subsd  -0x118(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x118(%rbp),%xmm0
  addsd  -0x120(%rbp),%xmm0
  movsd  -0x168(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  mov    -0x178(%rbp),%rax
  add    $0xe0,%rax
  movsd  -0x130(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xe8,%rax
  movsd  -0x128(%rbp),%xmm0
  addsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xf0,%rax
  movsd  -0x130(%rbp),%xmm0
  addsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x178(%rbp),%rax
  add    $0xf8,%rax
  movsd  -0x128(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  nop
  leave
  ret
```

tool_calls: name: unpack_data
arguments: data_tag: D17
type: f64
name: unpack_data
arguments: data_tag: D11
type: f64
name: unpack_data
arguments: data_tag: D63
type: f64
name: unpack_data
arguments: data_tag: D51
type: f64
name: unpack_data
arguments: data_tag: D42
type: f64
name: unpack_data
arguments: data_tag: D48
type: f64
name: unpack_data
arguments: data_tag: D47
type: f64

tool: D17: 0.7071067811865476

tool: D11: 0.9807852804032304

tool: D63: 0.19509032201612828

tool: D51: 0.9238795325112867

tool: D42: 0.3826834323650898

tool: D48: 0.8314696123025452

tool: D47: 0.5555702330196022

assistant: ```c
void cftf162(double *a) {
  double wn4r, wk1r, wk1i, wk2r, wk2i, wk3r, wk3i, x0r, x0i, x1r, x1i, x2r, x2i, y0r, y0i, y1r, y1i, y2r, y2i, y3r, y3i, y4r, y4i, y5r, y5i, y6r, y6i, y7r, y7i, y8r, y8i, y9r, y9i, y10r, y10i, y11r, y11i, y12r, y12i, y13r, y13i, y14r, y14i, y15r, y15i;
  wn4r = 0.707106781186547524400844362104849039284835937688;
  wk1r = 0.980785280403230449126182236134239036973933730893;
  wk1i = 0.195090322016128267848284868477022240927691617751;
  wk2r = 0.923879532511286756128183189396788286822416625863;
  wk2i = 0.382683432365089771728459984030398866761344562485;
  wk3r = 0.831469612302545237078788377617905756738560811987;
  wk3i = 0.555570233019602224742830813948532874374937190754;
  x1r = a[0] - a[17];
  x1i = a[1] + a[16];
  x0r = a[8] - a[25];
  x0i = a[9] + a[24];
  x2r = wn4r * (x0r - x0i);
  x2i = wn4r * (x0i + x0r);
  y0r = x1r + x2r;
  y0i = x1i + x2i;
  y4r = x1r - x2r;
  y4i = x1i - x2i;
  x1r = a[0] + a[17];
  x1i = a[1] - a[16];
  x0r = a[8] + a[25];
  x0i = a[9] - a[24];
  x2r = wn4r * (x0r - x0i);
  x2i = wn4r * (x0i + x0r);
  y8r = x1r - x2i;
  y8i = x1i + x2r;
  y12r = x1r + x2i;
  y12i = x1i - x2r;
  x0r = a[2] - a[19];
  x0i = a[3] + a[18];
  x1r = wk1r * x0r - wk1i * x0i;
  x1i = wk1r * x0i + wk1i * x0r;
  x0r = a[10] - a[27];
  x0i = a[11] + a[26];
  x2r = wk3i * x0r - wk3r * x0i;
  x2i = wk3i * x0i + wk3r * x0r;
  y1r = x1r + x2r;
  y1i = x1i + x2i;
  y5r = x1r - x2r;
  y5i = x1i - x2i;
  x0r = a[2] + a[19];
  x0i = a[3] - a[18];
  x1r = wk3r * x0r - wk3i * x0i;
  x1i = wk3r * x0i + wk3i * x0r;
  x0r = a[10] + a[27];
  x0i = a[11] - a[26];
  x2r = wk1r * x0r + wk1i * x0i;
  x2i = wk1r * x0i - wk1i * x0r;
  y9r = x1r - x2r;
  y9i = x1i - x2i;
  y13r = x1r + x2r;
  y13i = x1i + x2i;
  x0r = a[4] - a[21];
  x0i = a[5] + a[20];
  x1r = wk2r * x0r - wk2i * x0i;
  x1i = wk2r * x0i + wk2i * x0r;
  x0r = a[12] - a[29];
  x0i = a[13] + a[28];
  x2r = wk2i * x0r - wk2r * x0i;
  x2i = wk2i * x0i + wk2r * x0r;
  y2r = x1r + x2r;
  y2i = x1i + x2i;
  y6r = x1r - x2r;
  y6i = x1i - x2i;
  x0r = a[4] + a[21];
  x0i = a[5] - a[20];
  x1r = wk2i * x0r - wk2r * x0i;
  x1i = wk2i * x0i + wk2r * x0r;
  x0r = a[12] + a[29];
  x0i = a[13] - a[28];
  x2r = wk2r * x0r - wk2i * x0i;
  x2i = wk2r * x0i + wk2i * x0r;
  y10r = x1r - x2r;
  y10i = x1i - x2i;
  y14r = x1r + x2r;
  y14i = x1i + x2i;
  x0r = a[6] - a[23];
  x0i = a[7] + a[22];
  x1r = wk3r * x0r - wk3i * x0i;
  x1i = wk3r * x0i + wk3i * x0r;
  x0r = a[14] - a[31];
  x0i = a[15] + a[30];
  x2r = wk1i * x0r - wk1r * x0i;
  x2i = wk1i * x0i + wk1r * x0r;
  y3r = x1r + x2r;
  y3i = x1i + x2i;
  y7r = x1r - x2r;
  y7i = x1i - x2i;
  x0r = a[6] + a[23];
  x0i = a[7] - a[22];
  x1r = wk1i * x0r + wk1r * x0i;
  x1i = wk1i * x0i - wk1r * x0r;
  x0r = a[14] + a[31];
  x0i = a[15] - a[30];
  x2r = wk3i * x0r - wk3r * x0i;
  x2i = wk3i * x0i + wk3r * x0r;
  y11r = x1r + x2r;
  y11i = x1i + x2i;
  y15r = x1r - x2r;
  y15i = x1i - x2i;
  x1r = y0r + y2r;
  x1i = y0i + y2i;
  x2r = y1r + y3r;
  x2i = y1i + y3i;
  a[0] = x1r + x2r;
  a[1] = x1i + x2i;
  a[2] = x1r - x2r;
  a[3] = x1i - x2i;
  x1r = y0r - y2r;
  x1i = y0i - y2i;
  x2r = y1r - y3r;
  x2i = y1i - y3i;
  a[4] = x1r - x2i;
  a[5] = x1i + x2r;
  a[6] = x1r + x2i;
  a[7] = x1i - x2r;
  x1r = y4r - y6i;
  x1i = y4i + y6r;
  x0r = y5r - y7i;
  x0i = y5i + y7r;
  x2r = wn4r * (x0r - x0i);
  x2i = wn4r * (x0i + x0r);
  a[8] = x1r + x2r;
  a[9] = x1i + x2i;
  a[10] = x1r - x2r;
  a[11] = x1i - x2i;
  x1r = y4r + y6i;
  x1i = y4i - y6r;
  x0r = y5r + y7i;
  x0i = y5i - y7r;
  x2r = wn4r * (x0r - x0i);
  x2i = wn4r * (x0i + x0r);
  a[12] = x1r - x2i;
  a[13] = x1i + x2r;
  a[14] = x1r + x2i;
  a[15] = x1i - x2r;
  x1r = y8r + y10r;
  x1i = y8i + y10i;
  x2r = y9r - y11r;
  x2i = y9i - y11i;
  a[16] = x1r + x2r;
  a[17] = x1i + x2i;
  a[18] = x1r - x2r;
  a[19] = x1i - x2i;
  x1r = y8r - y10r;
  x1i = y8i - y10i;
  x2r = y9r + y11r;
  x2i = y9i + y11i;
  a[20] = x1r - x2i;
  a[21] = x1i + x2r;
  a[22] = x1r + x2i;
  a[23] = x1i - x2r;
  x1r = y12r - y14i;
  x1i = y12i + y14r;
  x0r = y13r + y15i;
  x0i = y13i - y15r;
  x2r = wn4r * (x0r - x0i);
  x2i = wn4r * (x0i + x0r);
  a[24] = x1r + x2r;
  a[25] = x1i + x2i;
  a[26] = x1r - x2r;
  a[27] = x1i - x2i;
  x1r = y12r + y14i;
  x1i = y12i - y14r;
  x0r = y13r - y15i;
  x0i = y13i + y15r;
  x2r = wn4r * (x0r - x0i);
  x2i = wn4r * (x0i + x0r);
  a[28] = x1r - x2i;
  a[29] = x1i + x2r;
  a[30] = x1r + x2i;
  a[31] = x1i - x2r;
}
```