user: Please show me the C implementation that matches the assembly code listed below:

```asm
<HO_deriv_90>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x2a8,%rsp
  movsd  %xmm0,0x8(%rsp)
  movsd  %xmm1,(%rsp)
  mov    D170(%rip),%rax
  movq   %rax,%xmm1
  call   <pow@plt>
  movsd  %xmm0,0x10(%rsp)
  movsd  D397(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x18(%rsp)
  movsd  D394(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x20(%rsp)
  movsd  D222(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x28(%rsp)
  movsd  D1303(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x30(%rsp)
  mov    D862(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x38(%rsp)
  movsd  D1089(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x40(%rsp)
  movsd  D272(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x48(%rsp)
  mov    D1368(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x50(%rsp)
  movsd  D583(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x58(%rsp)
  movsd  D1043(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x60(%rsp)
  movsd  D732(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x68(%rsp)
  mov    D398(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x70(%rsp)
  movsd  D690(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x78(%rsp)
  mov    D580(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x80(%rsp)
  mov    D170(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x88(%rsp)
  mov    D729(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x90(%rsp)
  movsd  D1151(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x98(%rsp)
  movsd  D263(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xa0(%rsp)
  movsd  D836(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xa8(%rsp)
  movsd  D1101(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xb0(%rsp)
  movsd  D255(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xb8(%rsp)
  movsd  D546(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xc0(%rsp)
  movsd  D477(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xc8(%rsp)
  movsd  D849(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xd0(%rsp)
  mov    D411(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xd8(%rsp)
  mov    D488(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xe0(%rsp)
  movsd  D15(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xe8(%rsp)
  movsd  D597(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xf0(%rsp)
  movsd  D1090(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0xf8(%rsp)
  movsd  D980(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x100(%rsp)
  movsd  D787(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x108(%rsp)
  movsd  D329(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x110(%rsp)
  movsd  D549(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x118(%rsp)
  movsd  D737(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x120(%rsp)
  movsd  D35(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x128(%rsp)
  mov    D376(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x130(%rsp)
  mov    D251(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x138(%rsp)
  movsd  D1216(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x140(%rsp)
  mov    D1314(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x148(%rsp)
  mov    D491(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x150(%rsp)
  movsd  D1356(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x158(%rsp)
  movsd  D1258(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x160(%rsp)
  movsd  D433(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x168(%rsp)
  mov    D138(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x170(%rsp)
  mov    D961(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x178(%rsp)
  mov    D1210(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x180(%rsp)
  mov    D1368(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x188(%rsp)
  movsd  D818(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x190(%rsp)
  mov    D1248(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x198(%rsp)
  mov    D961(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1a0(%rsp)
  mov    D488(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1a8(%rsp)
  mov    D1248(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1b0(%rsp)
  movsd  D1018(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1b8(%rsp)
  movsd  D317(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1c0(%rsp)
  mov    D676(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1c8(%rsp)
  mov    D676(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1d0(%rsp)
  movsd  D147(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1d8(%rsp)
  mov    D1314(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movq   %xmm0,%r15
  mov    D491(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1e0(%rsp)
  mov    D862(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movq   %xmm0,%r14
  movsd  D672(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1e8(%rsp)
  movsd  D211(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movq   %xmm0,%r13
  mov    D398(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1f0(%rsp)
  mov    D686(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x1f8(%rsp)
  mov    D580(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x200(%rsp)
  mov    D411(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x208(%rsp)
  movsd  D59(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x210(%rsp)
  mov    D251(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x218(%rsp)
  movsd  D668(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x220(%rsp)
  movsd  D1326(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x228(%rsp)
  mov    D1063(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x230(%rsp)
  movsd  D768(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x238(%rsp)
  mov    D1210(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x240(%rsp)
  mov    D1063(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x248(%rsp)
  mov    D729(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x250(%rsp)
  movsd  D913(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x258(%rsp)
  mov    D686(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x260(%rsp)
  mov    D1031(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x268(%rsp)
  mov    D138(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x270(%rsp)
  movsd  D1122(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movq   %xmm0,%r12
  mov    D21(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x278(%rsp)
  mov    D1031(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x280(%rsp)
  mov    D21(%rip),%rax
  movq   %rax,%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movq   %xmm0,%rbp
  mov    D376(%rip),%rax
  movq   %rax,%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x288(%rsp)
  movsd  D1218(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movq   %xmm0,%rbx
  movsd  D184(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x290(%rsp)
  movsd  D417(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x298(%rsp)
  movsd  0x8(%rsp),%xmm5
  xorpd  D67(%rip),%xmm5
  movapd %xmm5,%xmm0
  movsd  (%rsp),%xmm3
  mulsd  %xmm3,%xmm0
  mulsd  %xmm3,%xmm0
  mulsd  D199(%rip),%xmm0
  call   <exp@plt>
  movapd %xmm0,%xmm2
  movsd  0x10(%rsp),%xmm1
  mulsd  D997(%rip),%xmm1
  mulsd  0x18(%rsp),%xmm1
  movsd  0x20(%rsp),%xmm0
  mulsd  D1348(%rip),%xmm0
  mulsd  0x28(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x30(%rsp),%xmm0
  mulsd  D769(%rip),%xmm0
  mulsd  0x38(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x40(%rsp),%xmm0
  mulsd  D485(%rip),%xmm0
  mulsd  0x48(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x50(%rsp),%xmm0
  mulsd  D66(%rip),%xmm0
  mulsd  0x58(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x60(%rsp),%xmm0
  mulsd  D1188(%rip),%xmm0
  mulsd  0x68(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x70(%rsp),%xmm0
  mulsd  D805(%rip),%xmm0
  mulsd  0x78(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x80(%rsp),%xmm0
  mulsd  D1104(%rip),%xmm0
  mulsd  0x88(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x90(%rsp),%xmm0
  mulsd  D798(%rip),%xmm0
  mulsd  0x98(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0xa0(%rsp),%xmm0
  mulsd  D867(%rip),%xmm0
  mulsd  0xa8(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0xb0(%rsp),%xmm0
  mulsd  D1280(%rip),%xmm0
  mulsd  0xb8(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0xc0(%rsp),%xmm0
  mulsd  D77(%rip),%xmm0
  mulsd  0xc8(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0xd0(%rsp),%xmm0
  mulsd  D320(%rip),%xmm0
  mulsd  0xd8(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0xe0(%rsp),%xmm0
  mulsd  D165(%rip),%xmm0
  mulsd  0xe8(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0xf0(%rsp),%xmm0
  mulsd  0xf8(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x100(%rsp),%xmm0
  mulsd  D163(%rip),%xmm0
  mulsd  0x108(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x110(%rsp),%xmm0
  mulsd  D1236(%rip),%xmm0
  mulsd  0x118(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x120(%rsp),%xmm0
  mulsd  D366(%rip),%xmm0
  mulsd  0x128(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  subsd  D1283(%rip),%xmm1
  movsd  0x130(%rsp),%xmm0
  mulsd  D174(%rip),%xmm0
  mulsd  0x138(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x140(%rsp),%xmm0
  mulsd  D761(%rip),%xmm0
  mulsd  0x148(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x150(%rsp),%xmm0
  mulsd  D673(%rip),%xmm0
  mulsd  0x158(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x160(%rsp),%xmm0
  mulsd  D47(%rip),%xmm0
  mulsd  0x168(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x170(%rsp),%xmm0
  mulsd  D554(%rip),%xmm0
  mulsd  0x178(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x180(%rsp),%xmm0
  mulsd  D784(%rip),%xmm0
  mulsd  0x188(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x190(%rsp),%xmm0
  mulsd  D197(%rip),%xmm0
  mulsd  0x198(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x1a0(%rsp),%xmm0
  mulsd  D848(%rip),%xmm0
  mulsd  0x1a8(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x1b0(%rsp),%xmm0
  mulsd  D1163(%rip),%xmm0
  mulsd  0x1b8(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x1c0(%rsp),%xmm0
  mulsd  D898(%rip),%xmm0
  mulsd  0x1c8(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x1d0(%rsp),%xmm0
  mulsd  D1250(%rip),%xmm0
  mulsd  0x1d8(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movq   %r15,%xmm0
  mulsd  D550(%rip),%xmm0
  mulsd  0x1e0(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movq   %r14,%xmm0
  mulsd  D1092(%rip),%xmm0
  mulsd  0x1e8(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movq   %r13,%xmm0
  mulsd  D691(%rip),%xmm0
  mulsd  0x1f0(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x1f8(%rsp),%xmm0
  mulsd  D168(%rip),%xmm0
  mulsd  0x200(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x208(%rsp),%xmm0
  mulsd  D1361(%rip),%xmm0
  mulsd  0x210(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x218(%rsp),%xmm0
  mulsd  D227(%rip),%xmm0
  mulsd  0x220(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x228(%rsp),%xmm0
  mulsd  D1306(%rip),%xmm0
  mulsd  0x230(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x238(%rsp),%xmm0
  mulsd  D764(%rip),%xmm0
  mulsd  0x240(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x248(%rsp),%xmm0
  mulsd  D935(%rip),%xmm0
  mulsd  0x250(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x258(%rsp),%xmm0
  mulsd  D1141(%rip),%xmm0
  mulsd  0x260(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x268(%rsp),%xmm0
  mulsd  D5(%rip),%xmm0
  mulsd  0x270(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movq   %r12,%xmm0
  mulsd  D734(%rip),%xmm0
  mulsd  0x278(%rsp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  0x8(%rsp),%xmm4
  movapd %xmm4,%xmm0
  mulsd  D443(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  0x280(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  mulsd  D614(%rip),%xmm4
  movapd %xmm4,%xmm0
  movsd  (%rsp),%xmm3
  mulsd  %xmm3,%xmm0
  mulsd  %xmm3,%xmm0
  addsd  %xmm0,%xmm1
  movq   %rbp,%xmm0
  mulsd  D1292(%rip),%xmm0
  mulsd  0x288(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  movq   %rbx,%xmm0
  mulsd  D1206(%rip),%xmm0
  mulsd  0x290(%rsp),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  D1069(%rip),%xmm0
  mulsd  0x298(%rsp),%xmm0
  mulsd  D1369(%rip),%xmm0
  mulsd  D706(%rip),%xmm0
  mulsd  %xmm3,%xmm0
  mulsd  %xmm2,%xmm0
  add    $0x2a8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

tool_calls: name: disassemble_data
arguments: label: D170
type_infered: f64
name: disassemble_data
arguments: label: D397
type_infered: f64
name: disassemble_data
arguments: label: D394
type_infered: f64
name: disassemble_data
arguments: label: D222
type_infered: f64
name: disassemble_data
arguments: label: D1303
type_infered: f64
name: disassemble_data
arguments: label: D862
type_infered: f64
name: disassemble_data
arguments: label: D1089
type_infered: f64
name: disassemble_data
arguments: label: D272
type_infered: f64
name: disassemble_data
arguments: label: D1368
type_infered: f64
name: disassemble_data
arguments: label: D583
type_infered: f64
name: disassemble_data
arguments: label: D1043
type_infered: f64
name: disassemble_data
arguments: label: D732
type_infered: f64
name: disassemble_data
arguments: label: D398
type_infered: f64
name: disassemble_data
arguments: label: D690
type_infered: f64
name: disassemble_data
arguments: label: D580
type_infered: f64
name: disassemble_data
arguments: label: D729
type_infered: f64
name: disassemble_data
arguments: label: D1151
type_infered: f64
name: disassemble_data
arguments: label: D263
type_infered: f64
name: disassemble_data
arguments: label: D836
type_infered: f64
name: disassemble_data
arguments: label: D1101
type_infered: f64
name: disassemble_data
arguments: label: D255
type_infered: f64
name: disassemble_data
arguments: label: D546
type_infered: f64
name: disassemble_data
arguments: label: D477
type_infered: f64
name: disassemble_data
arguments: label: D849
type_infered: f64
name: disassemble_data
arguments: label: D411
type_infered: f64
name: disassemble_data
arguments: label: D488
type_infered: f64
name: disassemble_data
arguments: label: D15
type_infered: f64
name: disassemble_data
arguments: label: D597
type_infered: f64
name: disassemble_data
arguments: label: D1090
type_infered: f64
name: disassemble_data
arguments: label: D980
type_infered: f64
name: disassemble_data
arguments: label: D787
type_infered: f64
name: disassemble_data
arguments: label: D329
type_infered: f64
name: disassemble_data
arguments: label: D549
type_infered: f64
name: disassemble_data
arguments: label: D737
type_infered: f64
name: disassemble_data
arguments: label: D35
type_infered: f64
name: disassemble_data
arguments: label: D376
type_infered: f64
name: disassemble_data
arguments: label: D251
type_infered: f64
name: disassemble_data
arguments: label: D1216
type_infered: f64
name: disassemble_data
arguments: label: D1314
type_infered: f64
name: disassemble_data
arguments: label: D491
type_infered: f64
name: disassemble_data
arguments: label: D1356
type_infered: f64
name: disassemble_data
arguments: label: D1258
type_infered: f64
name: disassemble_data
arguments: label: D433
type_infered: f64
name: disassemble_data
arguments: label: D138
type_infered: f64
name: disassemble_data
arguments: label: D961
type_infered: f64
name: disassemble_data
arguments: label: D1210
type_infered: f64
name: disassemble_data
arguments: label: D818
type_infered: f64
name: disassemble_data
arguments: label: D1248
type_infered: f64
name: disassemble_data
arguments: label: D1018
type_infered: f64
name: disassemble_data
arguments: label: D317
type_infered: f64
name: disassemble_data
arguments: label: D676
type_infered: f64
name: disassemble_data
arguments: label: D147
type_infered: f64
name: disassemble_data
arguments: label: D672
type_infered: f64
name: disassemble_data
arguments: label: D211
type_infered: f64
name: disassemble_data
arguments: label: D686
type_infered: f64
name: disassemble_data
arguments: label: D59
type_infered: f64
name: disassemble_data
arguments: label: D668
type_infered: f64
name: disassemble_data
arguments: label: D1326
type_infered: f64
name: disassemble_data
arguments: label: D1063
type_infered: f64
name: disassemble_data
arguments: label: D768
type_infered: f64
name: disassemble_data
arguments: label: D913
type_infered: f64
name: disassemble_data
arguments: label: D1031
type_infered: f64
name: disassemble_data
arguments: label: D1122
type_infered: f64
name: disassemble_data
arguments: label: D21
type_infered: f64
name: disassemble_data
arguments: label: D1218
type_infered: f64
name: disassemble_data
arguments: label: D184
type_infered: f64
name: disassemble_data
arguments: label: D417
type_infered: byte[8]
name: disassemble_data
arguments: label: D67
type_infered: byte[16]
name: disassemble_data
arguments: label: D199
type_infered: byte[8]
name: disassemble_data
arguments: label: D997
type_infered: byte[8]
name: disassemble_data
arguments: label: D1348
type_infered: byte[8]
name: disassemble_data
arguments: label: D769
type_infered: byte[8]
name: disassemble_data
arguments: label: D485
type_infered: byte[8]
name: disassemble_data
arguments: label: D66
type_infered: byte[8]
name: disassemble_data
arguments: label: D1188
type_infered: byte[8]
name: disassemble_data
arguments: label: D805
type_infered: byte[8]
name: disassemble_data
arguments: label: D1104
type_infered: byte[8]
name: disassemble_data
arguments: label: D798
type_infered: byte[8]
name: disassemble_data
arguments: label: D867
type_infered: byte[8]
name: disassemble_data
arguments: label: D1280
type_infered: byte[8]
name: disassemble_data
arguments: label: D77
type_infered: byte[8]
name: disassemble_data
arguments: label: D320
type_infered: byte[8]
name: disassemble_data
arguments: label: D165
type_infered: byte[8]
name: disassemble_data
arguments: label: D163
type_infered: byte[8]
name: disassemble_data
arguments: label: D1236
type_infered: byte[8]
name: disassemble_data
arguments: label: D366
type_infered: byte[8]
name: disassemble_data
arguments: label: D1283
type_infered: byte[8]
name: disassemble_data
arguments: label: D174
type_infered: byte[8]
name: disassemble_data
arguments: label: D761
type_infered: byte[8]
name: disassemble_data
arguments: label: D673
type_infered: byte[8]
name: disassemble_data
arguments: label: D47
type_infered: byte[8]
name: disassemble_data
arguments: label: D554
type_infered: byte[8]
name: disassemble_data
arguments: label: D784
type_infered: byte[8]
name: disassemble_data
arguments: label: D197
type_infered: byte[8]
name: disassemble_data
arguments: label: D848
type_infered: byte[8]
name: disassemble_data
arguments: label: D1163
type_infered: byte[8]
name: disassemble_data
arguments: label: D898
type_infered: byte[8]
name: disassemble_data
arguments: label: D1250
type_infered: byte[8]
name: disassemble_data
arguments: label: D550
type_infered: byte[8]
name: disassemble_data
arguments: label: D1092
type_infered: byte[8]
name: disassemble_data
arguments: label: D691
type_infered: byte[8]
name: disassemble_data
arguments: label: D168
type_infered: byte[8]
name: disassemble_data
arguments: label: D1361
type_infered: byte[8]
name: disassemble_data
arguments: label: D227
type_infered: byte[8]
name: disassemble_data
arguments: label: D1306
type_infered: byte[8]
name: disassemble_data
arguments: label: D764
type_infered: byte[8]
name: disassemble_data
arguments: label: D935
type_infered: byte[8]
name: disassemble_data
arguments: label: D1141
type_infered: byte[8]
name: disassemble_data
arguments: label: D5
type_infered: byte[8]
name: disassemble_data
arguments: label: D734
type_infered: byte[8]
name: disassemble_data
arguments: label: D443
type_infered: byte[8]
name: disassemble_data
arguments: label: D614
type_infered: byte[8]
name: disassemble_data
arguments: label: D1292
type_infered: byte[8]
name: disassemble_data
arguments: label: D1206
type_infered: byte[8]
name: disassemble_data
arguments: label: D1069
type_infered: byte[8]
name: disassemble_data
arguments: label: D1369
type_infered: byte[8]
name: disassemble_data
arguments: label: D706
type_infered: byte[8]

tool: D170: 40

tool: D397: 80

tool: D394: 31

tool: D222: 62

tool: D1303: 21

tool: D862: 42

tool: D1089: 33

tool: D272: 66

tool: D1368: 44

tool: D583: 88

tool: D1043: 25

tool: D732: 50

tool: D398: 30

tool: D690: 60

tool: D580: 20

tool: D729: 28

tool: D1151: 56

tool: D263: 35

tool: D836: 70

tool: D1101: 43

tool: D255: 86

tool: D546: 37

tool: D477: 74

tool: D849: 19

tool: D411: 38

tool: D488: 32

tool: D15: 64

tool: D597: 45

tool: D1090: 90

tool: D980: 39

tool: D787: 78

tool: D329: 23

tool: D549: 46

tool: D737: 27

tool: D35: 54

tool: D376: 12

tool: D251: 24

tool: D1216: 9

tool: D1314: 18

tool: D491: 36

tool: D1356: 72

tool: D1258: 41

tool: D433: 82

tool: D138: 8

tool: D961: 16

tool: D1210: 22

tool: D818: 13

tool: D1248: 26

tool: D1018: 52

tool: D317: 17

tool: D676: 34

tool: D147: 68

tool: D672: 84

tool: D211: 15

tool: D686: 10

tool: D59: 76

tool: D668: 48

tool: D1326: 7

tool: D1063: 14

tool: D768: 11

tool: D913: 5

tool: D1031: 4

tool: D1122: 3

tool: D21: 6

tool: D1218: 29

tool: D184: 58

tool: {"D417": [0x00,0x00,0x00,0x00,0x00,0x00,0xf4,0x3f]}

tool: {"D67": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]}

tool: {"D199": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x3f]}

tool: {"D997": [0x2b,0x99,0x4b,0x26,0xbf,0xf2,0xe7,0xc2]}

tool: {"D1348": [0x26,0x2f,0xc4,0x16,0x20,0x7c,0xe7,0x46]}

tool: {"D769": [0xf9,0x94,0xb3,0xa3,0xeb,0xc8,0x2a,0x4a]}

tool: {"D485": [0x46,0x24,0xd2,0x14,0x64,0x6e,0x1d,0x46]}

tool: {"D66": [0x00,0x00,0x00,0x00,0x00,0x59,0xa0,0x40]}

tool: {"D1188": [0xad,0x66,0x66,0x1b,0xba,0xd3,0x00,0x49]}

tool: {"D805": [0x06,0xfb,0x88,0x54,0x3d,0x4a,0x48,0x47]}

tool: {"D1104": [0x08,0x9b,0xd0,0xbd,0x1c,0xab,0x6e,0x4a]}

tool: {"D798": [0x05,0xe8,0x71,0xcb,0x67,0xa1,0x01,0x48]}

tool: {"D867": [0x9a,0x47,0x60,0x2b,0xa3,0x13,0x45,0x45]}

tool: {"D1280": [0x00,0x00,0x00,0x80,0x44,0xee,0x3f,0x41]}

tool: {"D77": [0xfa,0xed,0xf5,0x89,0xa9,0x6e,0x60,0x44]}

tool: {"D320": [0x55,0x97,0xc9,0xd5,0xa1,0xa7,0xae,0x4a]}

tool: {"D165": [0x39,0x70,0xe8,0xb2,0x9f,0xe4,0x83,0x46]}

tool: {"D163": [0xaa,0x4a,0x47,0xda,0x0f,0xc2,0x69,0x43]}

tool: {"D1236": [0xfa,0x88,0xc3,0x52,0xdf,0x7a,0x9b,0x49]}

tool: {"D366": [0x5d,0xfa,0x7a,0x89,0xfe,0xd0,0x58,0x48]}

tool: {"D1283": [0x37,0xf0,0xe1,0xfe,0xd6,0x83,0xd2,0x4b]}

tool: {"D174": [0xab,0x8f,0x9c,0xc0,0xa4,0xe9,0x0d,0x4c]}

tool: {"D761": [0xa9,0x1d,0x2a,0x36,0x4c,0x91,0x66,0x4c]}

tool: {"D673": [0x91,0xd5,0x70,0x33,0x52,0x29,0xd4,0x44]}

tool: {"D47": [0x00,0x46,0x61,0xec,0xb1,0xa8,0x61,0x42]}

tool: {"D554": [0x6e,0x50,0xb4,0x39,0x06,0x65,0x7a,0x4c]}

tool: {"D784": [0x00,0x4f,0xe1,0x6c,0xc5,0x7a,0xe4,0x49]}

tool: {"D197": [0x8e,0x6a,0x29,0x7a,0x39,0x36,0xe6,0x4b]}

tool: {"D848": [0x25,0x14,0xf0,0x11,0x57,0x1c,0x5a,0x4b]}

tool: {"D1163": [0xa9,0xcc,0xc1,0x88,0x90,0xc8,0xae,0x48]}

tool: {"D898": [0xa9,0x8c,0x50,0x79,0xb1,0x16,0x24,0x4b]}

tool: {"D1250": [0x75,0x66,0x2b,0x1f,0x36,0xef,0xb2,0x45]}

tool: {"D550": [0xde,0x2d,0x26,0x05,0x91,0xa8,0xea,0x4a]}

tool: {"D1092": [0x00,0x00,0x90,0x76,0xfc,0xd9,0xd3,0x41]}

tool: {"D691": [0x71,0xe9,0xe2,0x15,0x78,0x1b,0x8d,0x4b]}

tool: {"D168": [0xe1,0x73,0x01,0x3f,0xef,0x91,0x4e,0x4c]}

tool: {"D1361": [0x81,0x68,0xec,0x94,0xae,0x92,0xe6,0x43]}

tool: {"D227": [0xb7,0x17,0xb0,0x35,0xf6,0x34,0x50,0x49]}

tool: {"D1306": [0xf0,0xcd,0xb2,0x5f,0x0a,0xe7,0x87,0x4c]}

tool: {"D764": [0xb2,0x10,0xb0,0xcc,0xc2,0xb4,0x30,0x4c]}

tool: {"D935": [0xee,0xe0,0x89,0x5e,0x47,0xa6,0xbb,0x4b]}

tool: {"D1141": [0x4e,0x45,0xa4,0x88,0xcd,0x0f,0x90,0x4c]}

tool: {"D5": [0x97,0x79,0x1e,0x85,0x58,0xcc,0x85,0x4c]}

tool: {"D734": [0x92,0xcc,0xb5,0x39,0x73,0xe6,0x72,0x4c]}

tool: {"D443": [0xaa,0xbe,0xba,0x48,0xf0,0xab,0x52,0x4c]}

tool: {"D614": [0xfe,0x27,0x43,0xd1,0x7f,0x2a,0x21,0x4c]}

tool: {"D1292": [0x91,0xa5,0x61,0xca,0xe8,0x47,0x90,0x4c]}

tool: {"D1206": [0x27,0x7d,0x11,0x6a,0x2d,0x10,0xa6,0x47]}

tool: {"D1069": [0x32,0xdb,0x31,0xd8,0xdb,0x53,0xed,0xb1]}

tool: {"D1369": [0x5f,0xfa,0x11,0x70,0x38,0x09,0xe8,0x3f]}

tool: {"D706": [0xa4,0xa5,0x6f,0x31,0x85,0xb6,0x68,0x42]}

assistant: ```c
double HO_deriv_90(const double a, const double x) {
  double retval = -0.4e1 / 0.117666509151613488990353954653435968299835025113696198484522998046875e69 * (-0.6740827259509035e16 / 0.32e2 * pow(a, 0.40e2) * pow(x, 0.80e2) + 0.3902092444294292300636918921264803125e37 / 0.1024e4 * pow(a, 0.31e2) * pow(x, 0.62e2) + 0.164190625612383412580162968097138950995483430417838671875e57 / 0.8388608e7 * pow(a, 0.21e2) * pow(x, 0.42e2) + 0.2387743800217328409148086710540625e34 / 0.4096e4 * pow(a, 0.33e2) * pow(x, 0.66e2) - 0.4185e4 / 0.2e1 * pow(a, 0.44e2) * pow(x, 0.88e2) + 0.24592773575422203468623033354586006952459364184375e50 / 0.524288e6 * pow(a, 0.25e2) * pow(x, 0.50e2) - 0.516591132654631426577261748482268583125e39 / 0.2048e4 * pow(a, 0.30e2) * pow(x, 0.60e2) - 0.6015897273336832587034270384757416592114514190241862796875e58 / 0.16777216e8 * pow(a, 0.20e2) * pow(x, 0.40e2) - 0.49146633239818184817053402361609310545703125e44 / 0.65536e5 * pow(a, 0.28e2) * pow(x, 0.56e2) + 0.26091701370821240017172434125e29 / 0.512e3 * pow(a, 0.35e2) * pow(x, 0.70e2) + 0.4185225e7 / 0.2e1 * pow(a, 0.43e2) * pow(x, 0.86e2) + 0.620793777119112303381675e24 / 0.256e3 * pow(a, 0.37e2) * pow(x, 0.74e2) + 0.96211690435280549530228934167574286632753400702095039765625e59 / 0.16777216e8 * pow(a, 0.19e2) * pow(x, 0.38e2) - 0.413162729395866243596850238722155625e36 / 0.8192e4 * pow(a, 0.32e2) * pow(x, 0.64e2) + pow(a, 0.45e2) * pow(x, 0.90e2) + 0.928031713301714175e18 / 0.16e2 * pow(a, 0.39e2) * pow(x, 0.78e2) + 0.20562954935244155034182635192995707929801857336328125e53 / 0.524288e6 * pow(a, 0.23e2) * pow(x, 0.46e2) + 0.2213695418810050559319597384773180971806590625e46 / 0.65536e5 * pow(a, 0.27e2) * pow(x, 0.54e2) - 0.63892914469326124521762197376815730786810418636737035777095987939453125e71 / 0.35184372088832e14 - 0.201610998126961912550226952608775994941070589646538783372439992578125e69 / 0.8589934592e10 * pow(a, 0.12e2) * pow(x, 0.24e2) + 0.77877818956142584410442200249469026371064163042652799620607463974609375e71 / 0.68719476736e11 * pow(a, 0.9e1) * pow(x, 0.18e2) - 0.194989198062412766319181875e27 / 0.512e3 * pow(a, 0.36e2) * pow(x, 0.72e2) + 0.9708118618275e13 / 0.16e2 * pow(a, 0.41e2) * pow(x, 0.82e2) - 0.364338030483761070989989500918383117071725312593010900562997777490234375e72 / 0.137438953472e12 * pow(a, 0.8e1) * pow(x, 0.16e2) - 0.980776791318793439000755466723698987851808588063828125e54 / 0.1048576e7 * pow(a, 0.22e2) * pow(x, 0.44e2) + 0.18713416724180415967017091523651971875144284138894258024389470703125e68 / 0.4294967296e10 * pow(a, 0.13e2) * pow(x, 0.26e2) - 0.2685330108877956728337447223248673426844159057630406508081640625e64 / 0.268435456e9 * pow(a, 0.16e2) * pow(x, 0.32e2) - 0.175742462869601050723604920436831501394168890625e48 / 0.131072e6 * pow(a, 0.26e2) * pow(x, 0.52e2) + 0.129124835081458795701342705010536290323576223142275370187265625e63 / 0.134217728e9 * pow(a, 0.17e2) * pow(x, 0.34e2) - 0.6000557087169089519264623558125e31 / 0.1024e4 * pow(a, 0.34e2) * pow(x, 0.68e2) - 0.2677406132820180949048290036683506663366016352871432672265625e61 / 0.33554432e8 * pow(a, 0.18e2) * pow(x, 0.36e2) - 0.5328848745e10 / 0.4e1 * pow(a, 0.42e2) * pow(x, 0.84e2) + 0.5987024578317162584924160856128921559715635160703496926071953125e64 / 0.67108864e8 * pow(a, 0.15e2) * pow(x, 0.30e2) - 0.6593336819599801624933143334004126159022610122629500826775355845703125e70 / 0.17179869184e11 * pow(a, 0.10e2) * pow(x, 0.20e2) - 0.416397918740181753375e21 / 0.32e2 * pow(a, 0.38e2) * pow(x, 0.76e2) - 0.1515928600164383916100236598002152718634422639609375e52 / 0.1048576e7 * pow(a, 0.24e2) * pow(x, 0.48e2) + 0.329938012294544714685990492219231154502911694561900461466778529599609375e72 / 0.68719476736e11 * pow(a, 0.7e1) * pow(x, 0.14e2) + 0.900790990132641741162029377991627478333558179668405766847638408203125e69 / 0.8589934592e10 * pow(a, 0.11e2) * pow(x, 0.22e2) - 0.90994843756542305512589067316661423705611805919301493015464453125e65 / 0.134217728e9 * pow(a, 0.14e2) * pow(x, 0.28e2) + 0.7094655102692874673277795554247060334251232905220266809144920358037109375e73 / 0.1099511627776e13 * pow(a, 0.5e1) * pow(x, 0.10e2) - 0.9628532777367380190591673755336011850007200270028646225790032407177734375e73 / 0.2199023255552e13 * pow(a, 0.4e1) * pow(x, 0.8e1) + 0.4174219412153488521932806541330640975436647515908372641238453355712890625e73 / 0.2199023255552e13 * pow(a, 0.3e1) * pow(x, 0.6e1) - 0.2061870239863723167577972347392158472518009145067298486044296494775390625e73 / 0.4398046511104e13 * a * a * pow(x, 0.4e1) + 0.947803731216246653817301104733426724655171127290822878792832749267578125e72 / 0.17592186044416e14 * a * x * x - 0.898932907748609851389974095567366319154639646860267724355594197412109375e72 / 0.137438953472e12 * pow(a, 0.6e1) * pow(x, 0.12e2) + 0.480493793591863585984610937875511716428125e42 / 0.32768e5 * pow(a, 0.29e2) * pow(x, 0.58e2)) * pow(a, 0.5e1 / 0.4e1) * pow(0.3141592654e1, -0.1e1 / 0.4e1) * sqrt(0.721023758941343134511605e24) * x * exp(-a * x * x / 0.2e1);
  return retval;
}
```