user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<dt_iop_equalizer_wtf>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  mov    %ecx,%r12d
  push   %rbx
  mov    %rdi,%rbx
  sub    $0xc8,%rsp
  mov    %edx,-0xdc(%rbp)
  mov    %r8d,-0x4c(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x38(%rbp)
  xor    %eax,%eax
  movslq %edx,%rax
  mov    %ecx,-0x44(%rbp)
  lea    -0x1(%rax),%r14d
  lea    (%rsi,%rax,8),%r15
  xor    %esi,%esi
  mov    %r14d,%ecx
  mov    %r15,-0xa0(%rbp)
  sar    %cl,%r8d
  sar    %cl,%r12d
  lea    0x1(%r12),%edi
  lea    0x1(%r8),%edx
  mov    %r8d,%r13d
  movslq %edi,%rax
  movslq %edx,%rdx
  mov    %edi,-0x50(%rbp)
  mov    (%r15),%rdi
  imul   %rax,%rdx
  shl    $0x2,%rdx
  call   <memset@plt>
  test   %r13d,%r13d
  jle    L365
  mov    %r14d,%ecx
  mov    -0x50(%rbp),%r11d
  mov    -0x44(%rbp),%r14d
  xor    %r9d,%r9d
  xor    %r8d,%r8d
  movslq %r12d,%rdi
  nopl   (%rax)
L248:
  test   %r12d,%r12d
  jle    L366
  mov    %r8d,%esi
  mov    (%r15),%rdx
  movslq %r9d,%rax
  shl    %cl,%esi
  imul   %r14d,%esi
  lea    (%rdx,%rax,4),%r10
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L451:
  mov    %edx,%eax
  shl    %cl,%eax
  add    %esi,%eax
  shl    $0x2,%eax
  cltq
  movss  (%rbx,%rax,4),%xmm0
  movss  %xmm0,(%r10,%rdx,4)
  add    $0x1,%rdx
  cmp    %rdx,%rdi
  jne    L451
L366:
  add    $0x1,%r8d
  add    %r11d,%r9d
  cmp    %r8d,%r13d
  jne    L248
  mov    %ecx,%r14d
L365:
  movzbl -0xdc(%rbp),%ecx
  mov    $0x1,%r8d
  mov    -0x4c(%rbp),%edx
  shl    %cl,%r8d
  mov    %r8d,%r9d
  shr    $0x1f,%r9d
  add    %r8d,%r9d
  sar    %r9d
  test   %edx,%edx
  jle    L395
  movslq -0x44(%rbp),%rax
  lea    0xc(%rbx),%r10
  movslq %r8d,%rdx
  mov    %rbx,-0x68(%rbp)
  lea    0x0(,%r9,4),%edi
  mov    %r10,-0xd8(%rbp)
  movss  D11(%rip),%xmm5
  lea    0x0(,%rdx,4),%r13
  mov    %rax,%rcx
  mov    %eax,%r12d
  movslq %edi,%r11
  mov    %edi,-0x90(%rbp)
  lea    0x0(,%rax,4),%r15
  shl    $0x4,%rax
  mov    %r10,-0x70(%rbp)
  sub    %r9d,%r12d
  mov    %rax,-0xb8(%rbp)
  lea    0x0(,%rcx,4),%eax
  movzbl -0xdc(%rbp),%ecx
  movss  D56(%rip),%xmm4
  mov    %eax,-0xa8(%rbp)
  mov    $0x4,%eax
  movsd  D49(%rip),%xmm3
  shl    %cl,%eax
  mov    %r11,-0x80(%rbp)
  movsd  D74(%rip),%xmm2
  movslq %eax,%rsi
  mov    %eax,-0x8c(%rbp)
  movslq %r9d,%rax
  neg    %rax
  mov    %r15,-0xb0(%rbp)
  shl    $0x2,%rsi
  shl    $0x2,%rax
  mov    %edi,-0x98(%rbp)
  mov    %rax,-0xd0(%rbp)
  lea    0x0(,%r9,8),%eax
  mov    %eax,-0xc8(%rbp)
  lea    0xf(%r15),%rax
  mov    %rax,%rcx
  and    $0xff0,%eax
  movq   $0x0,-0x78(%rbp)
  mov    %rax,-0xe8(%rbp)
  sub    $0x8,%rax
  and    $0xfffffffffffff000,%rcx
  mov    %rax,-0xf0(%rbp)
  mov    %r8d,%eax
  sub    %r9d,%eax
  movl   $0x0,-0x60(%rbp)
  cltq
  movl   $0x0,-0x48(%rbp)
  sub    %rdx,%rax
  mov    %rcx,-0xc0(%rbp)
  mov    %r14d,%ecx
  mov    %rax,%rbx
  nopl   0x0(%rax,%rax,1)
L223:
  mov    %rsp,%rax
  sub    -0xc0(%rbp),%rax
  mov    %rsp,-0x88(%rbp)
  cmp    %rax,%rsp
  je     L112
L289:
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  cmp    %rax,%rsp
  jne    L289
L112:
  mov    -0xe8(%rbp),%rax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L224
  mov    -0xf0(%rbp),%rax
  orq    $0x0,(%rsp,%rax,1)
L224:
  mov    %rsp,-0x58(%rbp)
  test   %r12d,%r12d
  jle    L43
  mov    -0x48(%rbp),%edi
  mov    -0xa0(%rbp),%rax
  mov    -0x58(%rbp),%rdx
  sar    %cl,%edi
  imul   -0x50(%rbp),%edi
  mov    (%rax),%r10
  movslq %edi,%rax
  movss  (%r10,%rax,4),%xmm6
  xor    %eax,%eax
  nopl   0x0(%rax)
L371:
  add    %r9d,%eax
  movaps %xmm6,%xmm0
  movapd %xmm2,%xmm1
  mov    %eax,%r14d
  sar    %cl,%r14d
  add    %edi,%r14d
  movslq %r14d,%r14
  movss  (%r10,%r14,4),%xmm6
  subss  %xmm6,%xmm0
  andps  %xmm4,%xmm0
  cvtss2sd %xmm0,%xmm0
  addsd  %xmm3,%xmm0
  divsd  %xmm0,%xmm1
  cvtsd2ss %xmm1,%xmm1
  movss  %xmm1,(%rdx)
  add    %r11,%rdx
  cmp    %r12d,%eax
  jl     L371
L43:
  mov    %r9d,%r15d
  cmp    %r12d,%r9d
  jge    L211
  mov    -0x58(%rbp),%rax
  mov    -0x68(%rbp),%rdi
  mov    %ecx,-0xa4(%rbp)
  mov    -0xd0(%rbp),%rcx
  lea    (%rax,%r11,1),%r14
  movslq -0x98(%rbp),%rax
  mov    %rax,%r15
  lea    (%rdi,%rax,4),%rdx
  mov    -0x60(%rbp),%eax
  shl    $0x2,%eax
  cltq
  lea    (%rdi,%rax,4),%r10
  mov    -0x90(%rbp),%eax
  add    %r15d,%eax
  mov    %r9d,%r15d
  cltq
  lea    (%rdi,%rax,4),%rdi
  nopl   0x0(%rax,%rax,1)
L125:
  movss  (%r14,%rcx,1),%xmm7
  movss  (%r14),%xmm6
  xor    %eax,%eax
  movaps %xmm7,%xmm8
  addss  %xmm6,%xmm8
L444:
  movss  (%r10,%rax,1),%xmm0
  movss  (%rdi,%rax,1),%xmm1
  mulss  %xmm7,%xmm0
  mulss  %xmm6,%xmm1
  addss  %xmm1,%xmm0
  movss  (%rdx,%rax,1),%xmm1
  divss  %xmm8,%xmm0
  subss  %xmm0,%xmm1
  movss  %xmm1,(%rdx,%rax,1)
  add    $0x4,%rax
  cmp    $0xc,%rax
  jne    L444
  add    %r8d,%r15d
  add    %r13,%r14
  add    %rsi,%rdx
  add    %rsi,%r10
  add    %rsi,%rdi
  cmp    %r12d,%r15d
  jl     L125
  mov    -0xa4(%rbp),%ecx
L211:
  cmp    -0x44(%rbp),%r15d
  jl     L391
L243:
  mov    -0x70(%rbp),%rdi
  mov    -0x80(%rbp),%rdx
  sub    -0x78(%rbp),%rdx
  lea    -0xc(%rdi),%rax
L225:
  movss  (%rax,%rdx,4),%xmm0
  add    $0x4,%rax
  mulss  %xmm5,%xmm0
  addss  -0x4(%rax),%xmm0
  movss  %xmm0,-0x4(%rax)
  cmp    %rax,%rdi
  jne    L225
  cmp    %r12d,%r8d
  jge    L50
  mov    -0x68(%rbp),%r15
  movslq -0x8c(%rbp),%rax
  mov    -0x58(%rbp),%r14
  lea    (%r15,%rax,4),%rdx
  sub    -0x90(%rbp),%eax
  movslq %eax,%rdi
  add    -0xc8(%rbp),%eax
  add    %r13,%r14
  cltq
  lea    (%r15,%rdi,4),%r10
  lea    (%r15,%rax,4),%rdi
  mov    %r8d,%r15d
  nopl   (%rax)
L115:
  movss  (%r14,%rbx,4),%xmm8
  movss  (%r14),%xmm7
  xor    %eax,%eax
  movaps %xmm8,%xmm1
  addss  %xmm7,%xmm1
  cvtss2sd %xmm1,%xmm1
  addsd  %xmm1,%xmm1
L119:
  movss  (%r10,%rax,1),%xmm0
  movss  (%rdi,%rax,1),%xmm6
  mulss  %xmm8,%xmm0
  mulss  %xmm7,%xmm6
  addss  %xmm6,%xmm0
  pxor   %xmm6,%xmm6
  cvtss2sd (%rdx,%rax,1),%xmm6
  cvtss2sd %xmm0,%xmm0
  divsd  %xmm1,%xmm0
  addsd  %xmm6,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rdx,%rax,1)
  add    $0x4,%rax
  cmp    $0xc,%rax
  jne    L119
  add    %r8d,%r15d
  add    %r13,%r14
  add    %rsi,%rdx
  add    %rsi,%r10
  add    %rsi,%rdi
  cmp    %r12d,%r15d
  jl     L115
L406:
  cmp    -0x44(%rbp),%r15d
  jl     L266
L269:
  mov    -0x44(%rbp),%edx
  addl   $0x1,-0x48(%rbp)
  add    %edx,-0x60(%rbp)
  mov    -0x88(%rbp),%rsp
  mov    -0xb0(%rbp),%rdx
  mov    -0x48(%rbp),%eax
  add    %rdx,-0x80(%rbp)
  add    %rdx,-0x78(%rbp)
  mov    -0xb8(%rbp),%rdx
  add    %rdx,-0x70(%rbp)
  mov    -0xa8(%rbp),%edx
  add    %edx,-0x98(%rbp)
  add    %edx,-0x8c(%rbp)
  cmp    %eax,-0x4c(%rbp)
  jne    L223
  mov    -0x68(%rbp),%rbx
  mov    %ecx,%r14d
L395:
  mov    -0x44(%rbp),%eax
  test   %eax,%eax
  jle    L195
  mov    -0x44(%rbp),%esi
  movslq -0x4c(%rbp),%r11
  lea    0xc(%rbx),%r15
  movslq %r8d,%r10
  movzbl -0xdc(%rbp),%ecx
  mov    %r15,-0xc0(%rbp)
  lea    0x0(,%r10,4),%r13
  movss  D56(%rip),%xmm4
  mov    %esi,%edi
  mov    %r11,%rax
  mov    %r15,-0x70(%rbp)
  movsd  D13(%rip),%xmm5
  imul   %r9d,%edi
  sub    %r9d,%eax
  movq   $0x0,-0x58(%rbp)
  movsd  D49(%rip),%xmm3
  mov    %eax,%r12d
  movl   $0x0,-0x48(%rbp)
  movsd  D74(%rip),%xmm2
  movss  D11(%rip),%xmm6
  mov    %rbx,-0x68(%rbp)
  lea    0x0(,%rdi,4),%eax
  shl    $0x3,%edi
  cltq
  mov    %edi,-0xb0(%rbp)
  mov    %rax,-0x78(%rbp)
  lea    0x0(,%rsi,4),%eax
  mov    %eax,%edx
  shl    %cl,%edx
  mov    %edx,-0x88(%rbp)
  movslq %r9d,%rdx
  lea    0x0(,%rdx,4),%rcx
  neg    %rdx
  mov    %rcx,-0x60(%rbp)
  movzbl -0xdc(%rbp),%ecx
  lea    0x0(,%rdx,4),%rdi
  lea    (%r9,%r8,1),%edx
  mov    %rdi,-0xb8(%rbp)
  imul   %eax,%edx
  shl    %cl,%esi
  mov    %eax,%ecx
  imul   %r9d,%ecx
  shl    $0x2,%esi
  mov    %edx,-0x90(%rbp)
  movslq %esi,%rsi
  shl    $0x2,%rsi
  mov    %ecx,-0xa8(%rbp)
  mov    %r8d,%ecx
  sub    %r9d,%ecx
  mov    %ecx,%edi
  movslq %ecx,%rcx
  imul   %eax,%edi
  lea    0xf(,%r11,4),%rax
  mov    -0x60(%rbp),%r11
  mov    %edi,-0xa4(%rbp)
  mov    %rax,%rdi
  and    $0xff0,%eax
  mov    %rax,-0xc8(%rbp)
  and    $0xfffffffffffffff0,%rdi
  sub    $0x8,%rax
  mov    %rax,-0xd0(%rbp)
  mov    %rcx,%rax
  mov    %r14d,%ecx
  mov    %rdi,-0x98(%rbp)
  sub    %r10,%rax
  mov    %rax,%rbx
  nopl   (%rax)
L336:
  mov    -0x98(%rbp),%rdx
  mov    %rsp,%rax
  mov    %rsp,-0x80(%rbp)
  and    $0xfffffffffffff000,%rdx
  sub    %rdx,%rax
  cmp    %rax,%rsp
  je     L162
L194:
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  cmp    %rax,%rsp
  jne    L194
L162:
  mov    -0xc8(%rbp),%rax
  sub    %rax,%rsp
  test   %rax,%rax
  je     L358
  mov    -0xd0(%rbp),%rax
  orq    $0x0,(%rsp,%rax,1)
L358:
  mov    %rsp,-0x60(%rbp)
  test   %r12d,%r12d
  jle    L361
  mov    -0xa0(%rbp),%rax
  mov    -0x48(%rbp),%r10d
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%r15d
  mov    (%rax),%rdi
  sar    %cl,%r10d
  movslq %r10d,%rax
  movss  (%rdi,%rax,4),%xmm7
  xor    %eax,%eax
  nopl   0x0(%rax)
L188:
  add    %r9d,%eax
  movaps %xmm7,%xmm0
  movapd %xmm2,%xmm1
  mov    %eax,%r14d
  sar    %cl,%r14d
  imul   %r15d,%r14d
  add    %r10d,%r14d
  movslq %r14d,%r14
  movss  (%rdi,%r14,4),%xmm7
  subss  %xmm7,%xmm0
  andps  %xmm4,%xmm0
  cvtss2sd %xmm0,%xmm0
  addsd  %xmm3,%xmm0
  divsd  %xmm0,%xmm1
  cvtsd2ss %xmm1,%xmm1
  movss  %xmm1,(%rdx)
  add    %r11,%rdx
  cmp    %r12d,%eax
  jl     L188
L361:
  mov    %r9d,%r15d
  cmp    %r12d,%r9d
  jge    L189
  mov    -0x60(%rbp),%rax
  mov    -0x58(%rbp),%r15
  mov    %ecx,-0x8c(%rbp)
  mov    -0x68(%rbp),%rdi
  mov    -0xb8(%rbp),%rcx
  lea    (%rax,%r11,1),%r14
  mov    -0xa8(%rbp),%eax
  add    %r15d,%eax
  cltq
  lea    (%rdi,%rax,4),%rdx
  movslq %r15d,%rax
  lea    (%rdi,%rax,4),%r10
  mov    -0xb0(%rbp),%eax
  add    %r15d,%eax
  mov    %r9d,%r15d
  cltq
  lea    (%rdi,%rax,4),%rdi
  nopl   0x0(%rax)
L131:
  movss  (%r14,%rcx,1),%xmm8
  movss  (%r14),%xmm7
  xor    %eax,%eax
  movaps %xmm8,%xmm9
  addss  %xmm7,%xmm9
L456:
  movss  (%r10,%rax,1),%xmm0
  movss  (%rdi,%rax,1),%xmm1
  mulss  %xmm8,%xmm0
  mulss  %xmm7,%xmm1
  addss  %xmm1,%xmm0
  movss  (%rdx,%rax,1),%xmm1
  divss  %xmm9,%xmm0
  subss  %xmm0,%xmm1
  movss  %xmm1,(%rdx,%rax,1)
  add    $0x4,%rax
  cmp    $0xc,%rax
  jne    L456
  add    %r8d,%r15d
  add    %r13,%r14
  add    %rsi,%rdx
  add    %rsi,%r10
  add    %rsi,%rdi
  cmp    %r12d,%r15d
  jl     L131
  mov    -0x8c(%rbp),%ecx
L189:
  cmp    -0x4c(%rbp),%r15d
  jl     L151
L183:
  mov    -0x58(%rbp),%r15
  mov    -0x70(%rbp),%r10
  mov    -0x78(%rbp),%rdi
  mov    %r15d,%eax
  lea    -0xc(%r10),%rdx
  sub    %r15,%rdi
L434:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd (%rdx,%rdi,4),%xmm0
  mulsd  %xmm5,%xmm0
  cvtss2sd (%rdx),%xmm1
  add    $0x4,%rdx
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x4(%rdx)
  cmp    %rdx,%r10
  jne    L434
  cmp    %r12d,%r8d
  jge    L52
  mov    -0xa4(%rbp),%edi
  mov    -0x68(%rbp),%r15
  mov    -0x60(%rbp),%r14
  movslq -0x88(%rbp),%rdx
  add    %eax,%edi
  add    -0x90(%rbp),%eax
  movslq %edi,%rdi
  cltq
  lea    (%r15,%rdx,4),%rdx
  add    %r13,%r14
  lea    (%r15,%rdi,4),%r10
  lea    (%r15,%rax,4),%rdi
  mov    %r8d,%r15d
  nopl   (%rax)
L138:
  movss  (%r14,%rbx,4),%xmm8
  movss  (%r14),%xmm7
  xor    %eax,%eax
  movaps %xmm8,%xmm1
  addss  %xmm7,%xmm1
  cvtss2sd %xmm1,%xmm1
  addsd  %xmm1,%xmm1
L276:
  movss  (%r10,%rax,1),%xmm0
  movss  (%rdi,%rax,1),%xmm9
  mulss  %xmm8,%xmm0
  mulss  %xmm7,%xmm9
  addss  %xmm9,%xmm0
  pxor   %xmm9,%xmm9
  cvtss2sd (%rdx,%rax,1),%xmm9
  cvtss2sd %xmm0,%xmm0
  divsd  %xmm1,%xmm0
  addsd  %xmm9,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rdx,%rax,1)
  add    $0x4,%rax
  cmp    $0xc,%rax
  jne    L276
  add    %r8d,%r15d
  add    %r13,%r14
  add    %rsi,%rdx
  add    %rsi,%r10
  add    %rsi,%rdi
  cmp    %r12d,%r15d
  jl     L138
L246:
  cmp    -0x4c(%rbp),%r15d
  jl     L309
L166:
  addl   $0x1,-0x48(%rbp)
  mov    -0x80(%rbp),%rsp
  addq   $0x4,-0x78(%rbp)
  mov    -0x48(%rbp),%eax
  addq   $0x4,-0x58(%rbp)
  addq   $0x10,-0x70(%rbp)
  addl   $0x4,-0x88(%rbp)
  cmp    %eax,-0x44(%rbp)
  jne    L336
L195:
  mov    -0x38(%rbp),%rax
  sub    %fs:0x28,%rax
  jne    L342
  lea    -0x28(%rbp),%rsp
  pop    %rbx
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  pop    %rbp
  ret
L309:
  mov    -0x44(%rbp),%eax
  mov    %r15d,%edi
  mov    -0x48(%rbp),%edx
  sub    %r9d,%edi
  imul   %eax,%r15d
  imul   %eax,%edi
  lea    (%r15,%rdx,1),%eax
  add    %edx,%edi
  shl    $0x2,%eax
  mov    -0x68(%rbp),%rdx
  cltq
  shl    $0x2,%edi
  lea    0x0(,%rax,4),%r10
  movslq %edi,%rdi
  add    %r10,%rdx
  sub    %rax,%rdi
  add    -0xc0(%rbp),%r10
L307:
  movss  (%rdx,%rdi,4),%xmm0
  add    $0x4,%rdx
  mulss  %xmm6,%xmm0
  addss  -0x4(%rdx),%xmm0
  movss  %xmm0,-0x4(%rdx)
  cmp    %rdx,%r10
  jne    L307
  jmp    L166
L151:
  mov    -0x44(%rbp),%eax
  mov    %r15d,%edi
  mov    -0x48(%rbp),%edx
  sub    %r9d,%edi
  imul   %eax,%r15d
  imul   %eax,%edi
  lea    (%r15,%rdx,1),%eax
  add    %edx,%edi
  shl    $0x2,%eax
  mov    -0x68(%rbp),%rdx
  cltq
  shl    $0x2,%edi
  lea    0x0(,%rax,4),%r10
  movslq %edi,%rdi
  add    %r10,%rdx
  sub    %rax,%rdi
  add    -0xc0(%rbp),%r10
L468:
  movss  (%rdx),%xmm0
  subss  (%rdx,%rdi,4),%xmm0
  add    $0x4,%rdx
  movss  %xmm0,-0x4(%rdx)
  cmp    %rdx,%r10
  jne    L468
  jmp    L183
L266:
  mov    -0x60(%rbp),%eax
  mov    %r15d,%edi
  mov    -0x68(%rbp),%rdx
  sub    %r9d,%edi
  add    %eax,%edi
  add    %r15d,%eax
  shl    $0x2,%eax
  shl    $0x2,%edi
  cltq
  movslq %edi,%rdi
  lea    0x0(,%rax,4),%r10
  sub    %rax,%rdi
  add    %r10,%rdx
  add    -0xd8(%rbp),%r10
L51:
  movss  (%rdx,%rdi,4),%xmm0
  add    $0x4,%rdx
  mulss  %xmm5,%xmm0
  addss  -0x4(%rdx),%xmm0
  movss  %xmm0,-0x4(%rdx)
  cmp    %rdx,%r10
  jne    L51
  jmp    L269
L391:
  mov    -0x60(%rbp),%eax
  mov    %r15d,%edi
  mov    -0x68(%rbp),%rdx
  sub    %r9d,%edi
  add    %eax,%edi
  add    %r15d,%eax
  shl    $0x2,%eax
  shl    $0x2,%edi
  cltq
  movslq %edi,%rdi
  lea    0x0(,%rax,4),%r10
  sub    %rax,%rdi
  add    %r10,%rdx
  add    -0xd8(%rbp),%r10
L30:
  movss  (%rdx),%xmm0
  subss  (%rdx,%rdi,4),%xmm0
  add    $0x4,%rdx
  movss  %xmm0,-0x4(%rdx)
  cmp    %rdx,%r10
  jne    L30
  jmp    L243
L52:
  mov    %r8d,%r15d
  jmp    L246
L50:
  mov    %r8d,%r15d
  jmp    L406
L342:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D11
type_guessed: f32
name: unpack_data
arguments: data_label: D56
type_guessed: dword
name: unpack_data
arguments: data_label: D49
type_guessed: byte[8]
name: unpack_data
arguments: data_label: D74
type_guessed: f64
name: unpack_data
arguments: data_label: D13
type_guessed: byte[8]

tool: D11: 0.5

tool: D56: 2147483647

tool: {"D49": [0xf1,0x68,0xe3,0x88,0xb5,0xf8,0xe4,0x3e]}

tool: D74: 1

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

assistant: ```c
void dt_iop_equalizer_wtf(float *buf, float **weight_a, const int l, const int width, const int height) {
  const int wd = (int)(1 + (width >> (l - 1))), ht = (int)(1 + (height >> (l - 1)));
  int ch = 0;
  memset(weight_a[l], 0, sizeof(float) * wd * ht);
  for (int j = 0; j < ht - 1; j++)
    for (int i = 0; i < wd - 1; i++)
      weight_a[l][j * wd + i] = ((buf)[4 * (width * ((j << (l - 1))) + ((i << (l - 1)))) + ch]);
  const int step = 1 << l;
  const int st = step / 2;
  for (int j = 0; j < height; j++) {
    float tmp[width];
    for (int i = 0; i < width - st; i += st)
      tmp[i] = 1.0 / (fabsf(weight_a[l][wd * ((j) >> (l - 1)) + ((i) >> (l - 1))] - weight_a[l][wd * ((j) >> (l - 1)) + ((i + st) >> (l - 1))]) + 1.e-5);
    int i = st;
    for (; i < width - st; i += step)
      for (ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) -= (tmp[i - st] * ((buf)[4 * (width * ((j)) + ((i - st))) + ch]) + tmp[i] * ((buf)[4 * (width * ((j)) + ((i + st))) + ch])) / (tmp[i - st] + tmp[i]);
    if (i < width)
      for (ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) -= ((buf)[4 * (width * ((j)) + ((i - st))) + ch]);
    for (ch = 0; ch < 3; ch++)
      ((buf)[4 * (width * ((j)) + ((0))) + ch]) += ((buf)[4 * (width * ((j)) + ((st))) + ch]) * 0.5f;
    for (i = step; i < width - st; i += step)
      for (ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) += (tmp[i - st] * ((buf)[4 * (width * ((j)) + ((i - st))) + ch]) + tmp[i] * ((buf)[4 * (width * ((j)) + ((i + st))) + ch])) / (2.0 * (tmp[i - st] + tmp[i]));
    if (i < width)
      for (ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) += ((buf)[4 * (width * ((j)) + ((i - st))) + ch]) * .5f;
  }
  for (int i = 0; i < width; i++) {
    float tmp[height];
    for (int j = 0; j < height - st; j += st)
      tmp[j] = 1.0 / (fabsf(weight_a[l][wd * ((j) >> (l - 1)) + ((i) >> (l - 1))] - weight_a[l][wd * ((j + st) >> (l - 1)) + ((i) >> (l - 1))]) + 1.e-5);
    int j = st;
    for (; j < height - st; j += step)
      for (ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) -= (tmp[j - st] * ((buf)[4 * (width * ((j - st)) + ((i))) + ch]) + tmp[j] * ((buf)[4 * (width * ((j + st)) + ((i))) + ch])) / (tmp[j - st] + tmp[j]);
    if (j < height)
      for (int ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) -= ((buf)[4 * (width * ((j - st)) + ((i))) + ch]);
    for (ch = 0; ch < 3; ch++)
      ((buf)[4 * (width * ((0)) + ((i))) + ch]) += ((buf)[4 * (width * ((st)) + ((i))) + ch]) * 0.5;
    for (j = step; j < height - st; j += step)
      for (ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) += (tmp[j - st] * ((buf)[4 * (width * ((j - st)) + ((i))) + ch]) + tmp[j] * ((buf)[4 * (width * ((j + st)) + ((i))) + ch])) / (2.0 * (tmp[j - st] + tmp[j]));
    if (j < height)
      for (int ch = 0; ch < 3; ch++)
        ((buf)[4 * (width * ((j)) + ((i))) + ch]) += ((buf)[4 * (width * ((j - st)) + ((i))) + ch]) * .5f;
  }
}
```