user: What would the C source look like for the assembly code provided here?

```asm
<gentbl_hapn4800>:
  endbr64
  push   %r15
  mov    %rdi,%rcx
  mov    $0x25,%edx
  mov    $0x1,%esi
  push   %r14
  push   %r13
  push   %r12
  mov    %rdi,%r12
  lea    D225(%rip),%rdi
  push   %rbp
  push   %rbx
  xor    %ebx,%ebx
  sub    $0xd8,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xc8(%rsp)
  xor    %eax,%eax
  lea    0x20(%rsp),%rbp
  call   <fwrite@plt>
  mov    $0xa0,%edx
  xor    %esi,%esi
  mov    %rbp,%rdi
  mov    %rbp,0x18(%rsp)
  call   <memset@plt>
  nop
L381:
  pxor   %xmm1,%xmm1
  cvtsi2sd %ebx,%xmm1
  movapd %xmm1,%xmm0
  subsd  D121(%rip),%xmm0
  movsd  %xmm1,0x10(%rsp)
  mulsd  D54(%rip),%xmm0
  mulsd  D347(%rip),%xmm0
  call   <sinc@plt>
  movsd  0x10(%rsp),%xmm1
  divsd  D293(%rip),%xmm1
  cvttsd2si %xmm1,%edi
  movsd  %xmm0,0x8(%rsp)
  call   <hamming@plt>
  mulsd  0x8(%rsp),%xmm0
  divsd  D232(%rip),%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,0x20(%rbp,%rbx,4)
  add    $0x1,%rbx
  cmp    $0x18,%rbx
  jne    L381
  movaps 0x20(%rsp),%xmm0
  subps  0x40(%rsp),%xmm0
  mov    %r12,%rcx
  mov    $0x2c,%edx
  mov    $0x1,%esi
  lea    D468(%rip),%rdi
  lea    D56(%rip),%r13
  lea    D336(%rip),%rbp
  movaps %xmm0,0x20(%rsp)
  movaps 0x30(%rsp),%xmm0
  subps  0x50(%rsp),%xmm0
  movaps %xmm0,0x30(%rsp)
  movaps 0x40(%rsp),%xmm0
  subps  0x60(%rsp),%xmm0
  movaps %xmm0,0x40(%rsp)
  movaps 0x50(%rsp),%xmm0
  subps  0x70(%rsp),%xmm0
  movaps %xmm0,0x50(%rsp)
  movaps 0x60(%rsp),%xmm0
  subps  0x80(%rsp),%xmm0
  movaps %xmm0,0x60(%rsp)
  movaps 0x70(%rsp),%xmm0
  subps  0x90(%rsp),%xmm0
  movaps %xmm0,0x70(%rsp)
  call   <fwrite@plt>
  mov    0x18(%rsp),%r15
  movl   $0x0,0x8(%rsp)
  mov    %r15,0x10(%rsp)
L111:
  cmpl   $0x6,0x8(%rsp)
  setle  %bl
  xor    %r14d,%r14d
  jmp    L32
  nopl   0x0(%rax)
L96:
  subss  %xmm1,%xmm0
  movss  0x20(%r15),%xmm1
  test   $0x2,%r14b
  jne    L118
L100:
  subss  %xmm1,%xmm0
  movss  0x40(%r15),%xmm1
  test   $0x4,%r14b
  jne    L239
L389:
  subss  %xmm1,%xmm0
  movss  0x60(%r15),%xmm1
  test   $0x8,%r14b
  je     L622
L360:
  addss  %xmm1,%xmm0
L586:
  mulss  D314(%rip),%xmm0
  xor    %eax,%eax
  mov    %r13,%rsi
  mov    %r12,%rdi
  addss  D393(%rip),%xmm0
  cvttss2si %xmm0,%edx
  call   <fprintf@plt>
  cmp    $0xe,%r14d
  jle    L231
  test   %bl,%bl
  jne    L231
  add    $0x1,%r14d
  cmp    $0x10,%r14d
  je     L507
L32:
  movss  (%r15),%xmm1
  pxor   %xmm0,%xmm0
  test   $0x1,%r14b
  je     L96
  addss  %xmm1,%xmm0
  movss  0x20(%r15),%xmm1
  test   $0x2,%r14b
  je     L100
L118:
  addss  %xmm1,%xmm0
  movss  0x40(%r15),%xmm1
  test   $0x4,%r14b
  je     L389
L239:
  addss  %xmm1,%xmm0
  movss  0x60(%r15),%xmm1
  test   $0x8,%r14b
  jne    L360
L622:
  subss  %xmm1,%xmm0
  jmp    L586
  nopw   0x0(%rax,%rax,1)
L231:
  mov    %r14d,%eax
  lea    D178(%rip),%rdx
  mov    %rbp,%rsi
  mov    %r12,%rdi
  and    $0x7,%eax
  cmp    $0x7,%eax
  lea    D25(%rip),%rax
  cmove  %rax,%rdx
  xor    %eax,%eax
  add    $0x1,%r14d
  call   <fprintf@plt>
  cmp    $0x10,%r14d
  jne    L32
L507:
  addl   $0x1,0x8(%rsp)
  mov    0x8(%rsp),%eax
  add    $0x4,%r15
  cmp    $0x8,%eax
  jne    L111
  mov    %r12,%rcx
  mov    $0x5,%edx
  mov    $0x1,%esi
  xor    %ebx,%ebx
  lea    D371(%rip),%rdi
  mov    0x10(%rsp),%r15
  call   <fwrite@plt>
  mov    0x18(%rsp),%rbp
  mov    $0xa0,%edx
  xor    %esi,%esi
  mov    %rbp,%rdi
  call   <memset@plt>
  nopl   0x0(%rax)
L437:
  pxor   %xmm1,%xmm1
  cvtsi2sd %ebx,%xmm1
  movapd %xmm1,%xmm0
  subsd  D481(%rip),%xmm0
  movsd  %xmm1,0x10(%rsp)
  divsd  D222(%rip),%xmm0
  mulsd  D347(%rip),%xmm0
  call   <sinc@plt>
  movsd  0x10(%rsp),%xmm1
  divsd  D89(%rip),%xmm1
  cvttsd2si %xmm1,%edi
  movsd  %xmm0,0x8(%rsp)
  call   <hamming@plt>
  mulsd  0x8(%rsp),%xmm0
  divsd  D232(%rip),%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,0x28(%rbp,%rbx,4)
  add    $0x1,%rbx
  cmp    $0x1e,%rbx
  jne    L437
  movups 0x48(%rsp),%xmm3
  movaps 0x20(%rsp),%xmm0
  mov    %r12,%rcx
  mov    $0x2d,%edx
  movups 0xa8(%rsp),%xmm7
  mov    $0x1,%esi
  movq   0xb8(%rsp),%xmm1
  lea    D265(%rip),%rdi
  subps  %xmm3,%xmm0
  movups 0x58(%rsp),%xmm3
  lea    D336(%rip),%rbp
  movaps %xmm0,0x20(%rsp)
  movaps 0x30(%rsp),%xmm0
  subps  %xmm3,%xmm0
  movups 0x68(%rsp),%xmm3
  movaps %xmm0,0x30(%rsp)
  movaps 0x40(%rsp),%xmm0
  subps  %xmm3,%xmm0
  movups 0x78(%rsp),%xmm3
  movaps %xmm0,0x40(%rsp)
  movaps 0x50(%rsp),%xmm0
  subps  %xmm3,%xmm0
  movups 0x88(%rsp),%xmm3
  movaps %xmm0,0x50(%rsp)
  movaps 0x60(%rsp),%xmm0
  subps  %xmm3,%xmm0
  movups 0x98(%rsp),%xmm3
  movaps %xmm0,0x60(%rsp)
  movaps 0x70(%rsp),%xmm0
  subps  %xmm3,%xmm0
  movaps %xmm0,0x70(%rsp)
  movaps 0x80(%rsp),%xmm0
  subps  %xmm7,%xmm0
  movaps %xmm0,0x80(%rsp)
  movq   0x90(%rsp),%xmm0
  subps  %xmm1,%xmm0
  movlps %xmm0,0x90(%rsp)
  call   <fwrite@plt>
  mov    0x18(%rsp),%r14
  mov    %r15,0x10(%rsp)
  movl   $0x0,0x8(%rsp)
  mov    %r14,%r15
  nopl   (%rax)
L129:
  cmpl   $0x8,0x8(%rsp)
  setle  %bl
  xor    %r14d,%r14d
  jmp    L424
  nopl   (%rax)
L104:
  subss  %xmm1,%xmm0
  movss  0x28(%r15),%xmm1
  test   $0x2,%r14b
  jne    L633
L587:
  subss  %xmm1,%xmm0
  movss  0x50(%r15),%xmm1
  test   $0x4,%r14b
  jne    L133
L327:
  subss  %xmm1,%xmm0
  movss  0x78(%r15),%xmm1
  test   $0x8,%r14b
  je     L363
L561:
  addss  %xmm1,%xmm0
L378:
  mulss  D314(%rip),%xmm0
  xor    %eax,%eax
  mov    %r13,%rsi
  mov    %r12,%rdi
  addss  D393(%rip),%xmm0
  cvttss2si %xmm0,%edx
  call   <fprintf@plt>
  cmp    $0xe,%r14d
  jle    L575
  test   %bl,%bl
  jne    L575
  add    $0x1,%r14d
  cmp    $0x10,%r14d
  je     L466
L424:
  movss  (%r15),%xmm1
  pxor   %xmm0,%xmm0
  test   $0x1,%r14b
  je     L104
  addss  %xmm1,%xmm0
  movss  0x28(%r15),%xmm1
  test   $0x2,%r14b
  je     L587
L633:
  addss  %xmm1,%xmm0
  movss  0x50(%r15),%xmm1
  test   $0x4,%r14b
  je     L327
L133:
  addss  %xmm1,%xmm0
  movss  0x78(%r15),%xmm1
  test   $0x8,%r14b
  jne    L561
L363:
  subss  %xmm1,%xmm0
  jmp    L378
  xchg   %ax,%ax
L575:
  mov    %r14d,%eax
  lea    D178(%rip),%rdx
  mov    %rbp,%rsi
  mov    %r12,%rdi
  and    $0x7,%eax
  cmp    $0x7,%eax
  lea    D25(%rip),%rax
  cmove  %rax,%rdx
  xor    %eax,%eax
  add    $0x1,%r14d
  call   <fprintf@plt>
  cmp    $0x10,%r14d
  jne    L424
L466:
  addl   $0x1,0x8(%rsp)
  mov    0x8(%rsp),%eax
  add    $0x4,%r15
  cmp    $0xa,%eax
  jne    L129
  mov    %r12,%rcx
  mov    $0x5,%edx
  mov    $0x1,%esi
  xor    %ebx,%ebx
  lea    D371(%rip),%rdi
  mov    0x10(%rsp),%r15
  call   <fwrite@plt>
  mov    0x18(%rsp),%rbp
  mov    $0xa0,%edx
  xor    %esi,%esi
  mov    %rbp,%rdi
  call   <memset@plt>
  nopl   0x0(%rax)
L637:
  pxor   %xmm1,%xmm1
  cvtsi2sd %ebx,%xmm1
  movapd %xmm1,%xmm0
  subsd  D409(%rip),%xmm0
  movsd  %xmm1,0x10(%rsp)
  mulsd  D54(%rip),%xmm0
  mulsd  D38(%rip),%xmm0
  call   <sinc@plt>
  movsd  0x10(%rsp),%xmm1
  divsd  D459(%rip),%xmm1
  cvttsd2si %xmm1,%edi
  movsd  %xmm0,0x8(%rsp)
  call   <hamming@plt>
  mulsd  0x8(%rsp),%xmm0
  divsd  D275(%rip),%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,0x0(%rbp,%rbx,4)
  add    $0x1,%rbx
  cmp    $0x19,%rbx
  jne    L637
  movq   0x20(%rsp),%xmm4
  movq   0x28(%rsp),%xmm2
  xor    %eax,%eax
  movq   0x30(%rsp),%xmm0
  mov    0x18(%rsp),%rdx
L596:
  movq   0x4(%rdx),%xmm5
  movq   0xc(%rdx),%xmm3
  mov    %rdx,%rcx
  add    $0x3,%eax
  movq   0x14(%rdx),%xmm1
  lea    0x1c(%rcx),%r8
  lea    0x20(%rcx),%r9
  add    $0x18,%rdx
  movaps %xmm5,%xmm7
  movq   0x4(%rdx),%xmm6
  lea    0x24(%rcx),%r10
  lea    0x28(%rcx),%r11
  addps  %xmm4,%xmm7
  movq   (%rdx),%xmm4
  movq   0xc(%rdx),%xmm5
  lea    0x2c(%rcx),%rdi
  lea    0x30(%rcx),%rsi
  add    $0x34,%rcx
  addps  %xmm2,%xmm7
  addps  %xmm3,%xmm7
  addps  %xmm2,%xmm3
  movq   0x8(%rdx),%xmm2
  addps  %xmm0,%xmm7
  addps  %xmm1,%xmm7
  addps  %xmm4,%xmm7
  addps  %xmm6,%xmm7
  movlps %xmm7,-0x18(%rdx)
  movaps %xmm3,%xmm7
  movq   0x14(%rdx),%xmm3
  addps  %xmm0,%xmm7
  addps  %xmm1,%xmm7
  addps  %xmm0,%xmm1
  movq   0x10(%rdx),%xmm0
  addps  %xmm4,%xmm7
  addps  %xmm4,%xmm1
  addps  %xmm6,%xmm7
  addps  %xmm6,%xmm1
  addps  %xmm2,%xmm7
  addps  %xmm2,%xmm1
  addps  %xmm5,%xmm7
  addps  %xmm1,%xmm5
  addps  %xmm0,%xmm5
  movlps %xmm7,-0x10(%rdx)
  addps  %xmm5,%xmm3
  movlps %xmm3,-0x8(%rdx)
  cmp    $0x9,%eax
  jne    L596
  xor    %eax,%eax
  nopl   (%rax)
L357:
  movq   (%rdx,%rax,8),%xmm1
  movq   (%r8,%rax,8),%xmm0
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rdx,%rax,8)
  movq   (%r9,%rax,8),%xmm1
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rdx,%rax,8)
  movq   (%r10,%rax,8),%xmm1
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rdx,%rax,8)
  movq   (%r11,%rax,8),%xmm0
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rdx,%rax,8)
  movq   (%rdi,%rax,8),%xmm0
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rdx,%rax,8)
  movq   (%rsi,%rax,8),%xmm1
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rdx,%rax,8)
  movq   (%rcx,%rax,8),%xmm1
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rdx,%rax,8)
  add    $0x1,%rax
  cmp    $0x3,%eax
  jne    L357
  mov    %r12,%rcx
  mov    $0x2e,%edx
  movss  0x80(%rsp),%xmm0
  addss  0x84(%rsp),%xmm0
  addss  0x88(%rsp),%xmm0
  mov    $0x1,%esi
  addss  0x8c(%rsp),%xmm0
  addss  0x90(%rsp),%xmm0
  lea    D333(%rip),%rdi
  addss  0x94(%rsp),%xmm0
  lea    D336(%rip),%rbp
  addss  0x98(%rsp),%xmm0
  addss  0x9c(%rsp),%xmm0
  movss  %xmm0,0x80(%rsp)
  call   <fwrite@plt>
  mov    0x18(%rsp),%r14
  mov    %r15,0x10(%rsp)
  movl   $0x0,0x8(%rsp)
  mov    %r14,%r15
L314:
  cmpl   $0x6,0x8(%rsp)
  setle  %bl
  xor    %r14d,%r14d
  jmp    L559
  nopl   0x0(%rax)
L67:
  subss  %xmm1,%xmm0
  movss  0x20(%r15),%xmm1
  test   $0x2,%r14b
  jne    L277
L182:
  subss  %xmm1,%xmm0
  movss  0x40(%r15),%xmm1
  test   $0x4,%r14b
  jne    L453
L402:
  subss  %xmm1,%xmm0
  movss  0x60(%r15),%xmm1
  test   $0x8,%r14b
  je     L649
L616:
  addss  %xmm1,%xmm0
L213:
  mulss  D314(%rip),%xmm0
  xor    %eax,%eax
  mov    %r13,%rsi
  mov    %r12,%rdi
  addss  D393(%rip),%xmm0
  cvttss2si %xmm0,%edx
  call   <fprintf@plt>
  cmp    $0xe,%r14d
  jle    L153
  test   %bl,%bl
  jne    L153
  add    $0x1,%r14d
  cmp    $0x10,%r14d
  je     L625
L559:
  movss  (%r15),%xmm1
  pxor   %xmm0,%xmm0
  test   $0x1,%r14b
  je     L67
  addss  %xmm1,%xmm0
  movss  0x20(%r15),%xmm1
  test   $0x2,%r14b
  je     L182
L277:
  addss  %xmm1,%xmm0
  movss  0x40(%r15),%xmm1
  test   $0x4,%r14b
  je     L402
L453:
  addss  %xmm1,%xmm0
  movss  0x60(%r15),%xmm1
  test   $0x8,%r14b
  jne    L616
L649:
  subss  %xmm1,%xmm0
  jmp    L213
  nopw   0x0(%rax,%rax,1)
L153:
  mov    %r14d,%eax
  lea    D178(%rip),%rdx
  mov    %rbp,%rsi
  mov    %r12,%rdi
  and    $0x7,%eax
  cmp    $0x7,%eax
  lea    D25(%rip),%rax
  cmove  %rax,%rdx
  xor    %eax,%eax
  add    $0x1,%r14d
  call   <fprintf@plt>
  cmp    $0x10,%r14d
  jne    L559
L625:
  addl   $0x1,0x8(%rsp)
  mov    0x8(%rsp),%eax
  add    $0x4,%r15
  cmp    $0x8,%eax
  jne    L314
  mov    %r12,%rcx
  mov    $0x5,%edx
  mov    $0x1,%esi
  xor    %ebx,%ebx
  lea    D371(%rip),%rdi
  mov    0x10(%rsp),%r15
  call   <fwrite@plt>
  mov    0x18(%rsp),%rbp
  mov    $0xa0,%edx
  xor    %esi,%esi
  mov    %rbp,%rdi
  call   <memset@plt>
  nopl   0x0(%rax)
L218:
  pxor   %xmm1,%xmm1
  cvtsi2sd %ebx,%xmm1
  movapd %xmm1,%xmm0
  subsd  D131(%rip),%xmm0
  movsd  %xmm1,0x10(%rsp)
  divsd  D222(%rip),%xmm0
  mulsd  D38(%rip),%xmm0
  call   <sinc@plt>
  movsd  0x10(%rsp),%xmm1
  divsd  D250(%rip),%xmm1
  cvttsd2si %xmm1,%edi
  movsd  %xmm0,0x8(%rsp)
  call   <hamming@plt>
  mulsd  0x8(%rsp),%xmm0
  divsd  D37(%rip),%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,0x28(%rbp,%rbx,4)
  add    $0x1,%rbx
  cmp    $0x1f,%rbx
  jne    L218
  movq   0x28(%rsp),%xmm4
  movq   0x30(%rsp),%xmm2
  xor    %ebx,%ebx
  movq   0x38(%rsp),%xmm0
  mov    0x18(%rsp),%rax
L461:
  movq   0x4(%rax),%xmm5
  movq   (%rax),%xmm7
  mov    %rax,%rdx
  add    $0x3,%ebx
  movq   0xc(%rax),%xmm3
  lea    0x1c(%rdx),%r10
  lea    0x20(%rdx),%r9
  add    $0x18,%rax
  addps  %xmm5,%xmm7
  movq   -0x4(%rax),%xmm1
  movq   0x4(%rax),%xmm6
  lea    0x24(%rdx),%r11
  movq   0xc(%rax),%xmm5
  lea    0x28(%rdx),%rbp
  lea    0x2c(%rdx),%rsi
  lea    0x30(%rdx),%rdi
  lea    0x34(%rdx),%r8
  addps  %xmm4,%xmm7
  movq   0x8(%rax),%xmm4
  lea    0x38(%rdx),%rcx
  add    $0x3c,%rdx
  addps  %xmm3,%xmm7
  addps  %xmm2,%xmm7
  addps  %xmm1,%xmm7
  addps  %xmm0,%xmm7
  addps  %xmm6,%xmm7
  addps  %xmm4,%xmm7
  addps  %xmm5,%xmm7
  movlps %xmm7,-0x18(%rax)
  movq   -0x10(%rax),%xmm7
  addps  %xmm7,%xmm3
  movq   0x14(%rax),%xmm7
  addps  %xmm2,%xmm3
  movq   0x10(%rax),%xmm2
  addps  %xmm1,%xmm3
  addps  %xmm0,%xmm3
  addps  %xmm6,%xmm3
  addps  %xmm4,%xmm3
  addps  %xmm5,%xmm3
  addps  %xmm2,%xmm3
  addps  %xmm7,%xmm3
  movlps %xmm3,-0x10(%rax)
  movq   -0x8(%rax),%xmm3
  addps  %xmm3,%xmm1
  movq   0x1c(%rax),%xmm3
  addps  %xmm0,%xmm1
  movq   0x18(%rax),%xmm0
  addps  %xmm6,%xmm1
  addps  %xmm4,%xmm1
  addps  %xmm5,%xmm1
  addps  %xmm2,%xmm1
  addps  %xmm1,%xmm7
  addps  %xmm0,%xmm7
  addps  %xmm7,%xmm3
  movlps %xmm3,-0x8(%rax)
  cmp    $0xc,%ebx
  jne    L461
  xor    %ebx,%ebx
  nopl   (%rax)
L325:
  movq   (%rax,%rbx,8),%xmm0
  movq   (%r10,%rbx,8),%xmm1
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rax,%rbx,8)
  movq   (%r9,%rbx,8),%xmm0
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rax,%rbx,8)
  movq   (%r11,%rbx,8),%xmm0
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rax,%rbx,8)
  movq   0x0(%rbp,%rbx,8),%xmm1
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rax,%rbx,8)
  movq   (%rsi,%rbx,8),%xmm1
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rax,%rbx,8)
  movq   (%rdi,%rbx,8),%xmm0
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rax,%rbx,8)
  movq   (%r8,%rbx,8),%xmm0
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rax,%rbx,8)
  movq   (%rcx,%rbx,8),%xmm1
  addps  %xmm1,%xmm0
  movlps %xmm0,(%rax,%rbx,8)
  movq   (%rdx,%rbx,8),%xmm1
  addps  %xmm0,%xmm1
  movlps %xmm1,(%rax,%rbx,8)
  add    $0x1,%rbx
  cmp    $0x3,%ebx
  jne    L325
  mov    %r12,%rcx
  mov    $0x2f,%edx
  movss  0x9c(%rsp),%xmm0
  addss  0x98(%rsp),%xmm0
  addss  0xa0(%rsp),%xmm0
  mov    $0x1,%esi
  addss  0xa4(%rsp),%xmm0
  addss  0xa8(%rsp),%xmm0
  lea    D354(%rip),%rdi
  addss  0xac(%rsp),%xmm0
  lea    D336(%rip),%rbp
  addss  0xb0(%rsp),%xmm0
  addss  0xb4(%rsp),%xmm0
  addss  0xb8(%rsp),%xmm0
  addss  0xbc(%rsp),%xmm0
  movss  %xmm0,0x98(%rsp)
  call   <fwrite@plt>
  movl   $0x0,0x8(%rsp)
L557:
  cmpl   $0x8,0x8(%rsp)
  setle  %r14b
  xor    %ebx,%ebx
  jmp    L6
  nopw   0x0(%rax,%rax,1)
L467:
  subss  %xmm1,%xmm0
  movss  0x28(%r15),%xmm1
  test   $0x2,%bl
  jne    L641
L490:
  subss  %xmm1,%xmm0
  movss  0x50(%r15),%xmm1
  test   $0x4,%bl
  jne    L298
L442:
  subss  %xmm1,%xmm0
  movss  0x78(%r15),%xmm1
  test   $0x8,%bl
  je     L595
L350:
  addss  %xmm1,%xmm0
L648:
  mulss  D314(%rip),%xmm0
  xor    %eax,%eax
  mov    %r13,%rsi
  mov    %r12,%rdi
  addss  D393(%rip),%xmm0
  cvttss2si %xmm0,%edx
  call   <fprintf@plt>
  cmp    $0xe,%ebx
  jle    L164
  test   %r14b,%r14b
  jne    L164
  add    $0x1,%ebx
  cmp    $0x10,%ebx
  je     L258
L6:
  movss  (%r15),%xmm1
  pxor   %xmm0,%xmm0
  test   $0x1,%bl
  je     L467
  addss  %xmm1,%xmm0
  movss  0x28(%r15),%xmm1
  test   $0x2,%bl
  je     L490
L641:
  addss  %xmm1,%xmm0
  movss  0x50(%r15),%xmm1
  test   $0x4,%bl
  je     L442
L298:
  addss  %xmm1,%xmm0
  movss  0x78(%r15),%xmm1
  test   $0x8,%bl
  jne    L350
L595:
  subss  %xmm1,%xmm0
  jmp    L648
  nopl   (%rax)
L164:
  mov    %ebx,%eax
  lea    D178(%rip),%rdx
  mov    %rbp,%rsi
  mov    %r12,%rdi
  and    $0x7,%eax
  cmp    $0x7,%eax
  lea    D25(%rip),%rax
  cmove  %rax,%rdx
  xor    %eax,%eax
  add    $0x1,%ebx
  call   <fprintf@plt>
  cmp    $0x10,%ebx
  jne    L6
L258:
  addl   $0x1,0x8(%rsp)
  mov    0x8(%rsp),%eax
  add    $0x4,%r15
  cmp    $0xa,%eax
  jne    L557
  mov    %r12,%rcx
  mov    $0x5,%edx
  mov    $0x1,%esi
  lea    D371(%rip),%rdi
  call   <fwrite@plt>
  mov    0xc8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L92
  add    $0xd8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L92:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D225
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D121
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D54
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D347
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D293
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D232
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D468
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D56
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D336
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D314
type_guessed: byte[4]
name: extract_symbolic_data
arguments: data_tag: D393
type_guessed: byte[4]
name: extract_symbolic_data
arguments: data_tag: D178
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D25
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D371
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D481
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D222
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D89
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D265
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D409
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D38
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D459
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D275
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D333
type_guessed: string
name: extract_symbolic_data
arguments: data_tag: D131
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D250
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D37
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D354
type_guessed: string

tool: D225: 
/*
 * hapn4800 specific tables
 */



tool: D121: 11.5

tool: {"D54": [0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x3f]}

tool: D347: 1.5

tool: D293: 23

tool: D232: 2.4

tool: D468: static unsigned char hapn48_txfilt_8[] = {
	

tool: D56: %4d

tool: D336: ,%s

tool: {"D314": [0x00,0x00,0xfe,0x42]}

tool: {"D393": [0x00,0x00,0x00,0x43]}

tool: 

tool: D25: 
	

tool: D371: 
};



tool: D481: 14.5

tool: D222: 10

tool: D89: 29

tool: D265: static unsigned char hapn48_txfilt_10[] = {
	

tool: D409: 12

tool: D38: 1.4

tool: D459: 24

tool: D275: 6.3

tool: D333: static unsigned char hapn48_txfilt_pm8[] = {
	

tool: D131: 15

tool: D250: 30

tool: D37: 7.9

tool: D354: static unsigned char hapn48_txfilt_pm10[] = {
	

assistant: ```c
void gentbl_hapn4800(FILE *f) {
  int i, j, k, l;
  float s;
  float c[40];
  float min, max;
  fprintf(f, "\n/*\n * hapn4800 specific tables\n */\n\n");
  min = max = 0;
  memset(c, 0, sizeof(c));
  for (i = 0; i < 24; i++)
    c[8 + i] = sinc(1.5 * ((i - 11.5) / 8.0)) * hamming(i / 23.0) / 2.4;
  for (i = 0; i < 24; i++)
    c[i] -= c[i + 8];
  fprintf(f, "static unsigned char hapn48_txfilt_8[] = {\n\t");
  for (i = 0; i < 8; i++) {
    for (j = 0; j < 16; j++) {
      for (k = 1, s = 0, l = i; k < 16; k <<= 1, l += 8) {
        if (j & k)
          s += c[l];
        else
          s -= c[l];
      }
      if (s > max)
        max = s;
      if (s < min)
        min = s;
      fprintf(f, "%4d", (int)(128 + 127 * s));
      if (i < 7 || j < 15)
        fprintf(f, ",%s", (j & 7) == 7 ? "\n\t" : "");
    }
  }
  fprintf(f, "\n};\n\n");
  min = max = 0;
  memset(c, 0, sizeof(c));
  for (i = 0; i < 30; i++)
    c[10 + i] = sinc(1.5 * ((i - 14.5) / 10.0)) * hamming(i / 29.0) / 2.4;
  for (i = 0; i < 30; i++)
    c[i] -= c[i + 10];
  fprintf(f, "static unsigned char hapn48_txfilt_10[] = {\n\t");
  for (i = 0; i < 10; i++) {
    for (j = 0; j < 16; j++) {
      for (k = 1, s = 0, l = i; k < 16; k <<= 1, l += 10) {
        if (j & k)
          s += c[l];
        else
          s -= c[l];
      }
      if (s > max)
        max = s;
      if (s < min)
        min = s;
      fprintf(f, "%4d", (int)(128 + 127 * s));
      if (i < 9 || j < 15)
        fprintf(f, ",%s", (j & 7) == 7 ? "\n\t" : "");
    }
  }
  fprintf(f, "\n};\n\n");
  min = max = 0;
  memset(c, 0, sizeof(c));
  for (i = 0; i < 25; i++)
    c[i] = sinc(1.4 * ((i - 12.0) / 8.0)) * hamming(i / 24.0) / 6.3;
  for (i = 0; i < 25; i++)
    for (j = 1; j < 8; j++)
      c[i] += c[i + j];
  fprintf(f, "static unsigned char hapn48_txfilt_pm8[] = {\n\t");
  for (i = 0; i < 8; i++) {
    for (j = 0; j < 16; j++) {
      for (k = 1, s = 0, l = i; k < 16; k <<= 1, l += 8) {
        if (j & k)
          s += c[l];
        else
          s -= c[l];
      }
      if (s > max)
        max = s;
      if (s < min)
        min = s;
      fprintf(f, "%4d", (int)(128 + 127 * s));
      if (i < 7 || j < 15)
        fprintf(f, ",%s", (j & 7) == 7 ? "\n\t" : "");
    }
  }
  fprintf(f, "\n};\n\n");
  min = max = 0;
  memset(c, 0, sizeof(c));
  for (i = 0; i < 31; i++)
    c[10 + i] = sinc(1.4 * ((i - 15.0) / 10.0)) * hamming(i / 30.0) / 7.9;
  for (i = 0; i < 31; i++)
    for (j = 1; j < 10; j++)
      c[i] += c[i + j];
  fprintf(f, "static unsigned char hapn48_txfilt_pm10[] = {\n\t");
  for (i = 0; i < 10; i++) {
    for (j = 0; j < 16; j++) {
      for (k = 1, s = 0, l = i; k < 16; k <<= 1, l += 10) {
        if (j & k)
          s += c[l];
        else
          s -= c[l];
      }
      if (s > max)
        max = s;
      if (s < min)
        min = s;
      fprintf(f, "%4d", (int)(128 + 127 * s));
      if (i < 9 || j < 15)
        fprintf(f, ",%s", (j & 7) == 7 ? "\n\t" : "");
    }
  }
  fprintf(f, "\n};\n\n");
}
```