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

```asm
<Feiko5_WENO3_LxF>:
  endbr64
  push   %r15
  push   %r14
  mov    %esi,%r14d
  imul   %r8d,%r14d
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rdx,%rbx
  lea    (%r14,%rdi,1),%edx
  movslq %edx,%rdx
  lea    0x0(,%rdx,4),%r13
  sub    $0x68,%rsp
  movss  (%rcx,%rdx,4),%xmm7
  lea    (%rbx,%r13,1),%r12
  movss  %xmm0,(%rsp)
  movss  %xmm7,0xc(%rsp)
  movss  (%r12),%xmm7
  movss  %xmm5,0x4(%rsp)
  movss  %xmm6,0x8(%rsp)
  test   %edi,%edi
  je     L177
  lea    -0x1(%r8),%edx
  mov    %edi,%ebp
  mov    %r8d,%r15d
  cmp    %edi,%edx
  je     L113
  mov    %esi,%eax
  test   %esi,%esi
  je     L40
  lea    -0x1(%r9),%ecx
  cmp    %esi,%ecx
  je     L164
  pxor   %xmm0,%xmm0
  subss  %xmm1,%xmm2
  lea    -0x4(%rbx,%r13,1),%rcx
  cvtsi2ss %edx,%xmm0
  lea    0x4(%rbx,%r13,1),%rdx
  movss  (%rcx),%xmm6
  movaps %xmm2,%xmm5
  movss  (%rdx),%xmm2
  divss  %xmm0,%xmm5
  cmp    $0x1,%edi
  je     L171
  lea    -0x8(%rbx,%r13,1),%rsi
  lea    -0x2(%r8),%edi
  movss  (%rsi),%xmm0
  cmp    %ebp,%edi
  je     L53
  movaps %xmm5,%xmm4
  movss  %xmm3,0x48(%rsp)
  mov    $0xffffffff,%edi
  movaps %xmm2,%xmm3
  movss  %xmm1,0x40(%rsp)
  movaps %xmm7,%xmm2
  movaps %xmm6,%xmm1
  mov    %r9d,0x38(%rsp)
  mov    %eax,0x30(%rsp)
  movss  %xmm7,0x18(%rsp)
  mov    %rcx,0x28(%rsp)
  mov    %rdx,0x20(%rsp)
  movss  %xmm5,0x50(%rsp)
  call   <WENO3@plt>
  mov    0x28(%rsp),%rcx
  mov    0x20(%rsp),%rdx
  mov    $0x1,%edi
  movss  0x50(%rsp),%xmm5
  movss  %xmm0,0x10(%rsp)
  movss  (%r12),%xmm2
  movss  (%rcx),%xmm3
  movss  (%rdx),%xmm1
  movss  0x8(%rbx,%r13,1),%xmm0
  movaps %xmm5,%xmm4
  call   <WENO3@plt>
  movss  0x50(%rsp),%xmm5
  mov    0x30(%rsp),%eax
  movss  0x10(%rsp),%xmm6
  movaps %xmm0,%xmm1
  movss  0x18(%rsp),%xmm7
  mulss  %xmm5,%xmm1
  movss  0x48(%rsp),%xmm8
  mov    0x38(%rsp),%r9d
  mulss  %xmm5,%xmm6
  movaps %xmm7,%xmm3
  movss  0x40(%rsp),%xmm9
  addss  %xmm7,%xmm1
  subss  %xmm6,%xmm3
  movss  %xmm1,0x50(%rsp)
  movss  %xmm3,0x10(%rsp)
L86:
  movss  (%r12),%xmm6
  cmp    $0x1,%eax
  je     L36
  add    %r15d,%r14d
  sub    $0x2,%r9d
  lea    0x0(%rbp,%r14,1),%edx
  movslq %edx,%rdx
  lea    (%rbx,%rdx,4),%r13
  lea    (%r15,%r15,1),%edx
  sub    %edx,%r14d
  movss  0x0(%r13),%xmm3
  lea    0x0(%rbp,%r14,1),%edx
  sub    %r15d,%r14d
  movslq %edx,%rdx
  lea    (%rbx,%rdx,4),%rcx
  lea    0x0(%rbp,%r14,1),%edx
  movslq %edx,%rdx
  movss  (%rcx),%xmm1
  lea    (%rbx,%rdx,4),%rdx
  movss  (%rdx),%xmm0
  cmp    %eax,%r9d
  je     L145
  movaps %xmm6,%xmm2
  movaps %xmm5,%xmm4
  mov    $0xffffffff,%edi
  mov    %eax,0x38(%rsp)
  movss  %xmm8,0x48(%rsp)
  movss  %xmm9,0x40(%rsp)
  movss  %xmm7,0x28(%rsp)
  mov    %rcx,0x30(%rsp)
  movss  %xmm5,0x18(%rsp)
  call   <WENO3@plt>
  lea    (%r14,%r15,4),%edx
  mov    0x30(%rsp),%rcx
  movss  0x18(%rsp),%xmm5
  add    %ebp,%edx
  movss  0x0(%r13),%xmm1
  mov    $0x1,%edi
  movss  %xmm0,0x20(%rsp)
  movslq %edx,%rdx
  movss  (%rcx),%xmm3
  movss  (%r12),%xmm2
  movaps %xmm5,%xmm4
  movss  (%rbx,%rdx,4),%xmm0
  call   <WENO3@plt>
  movss  0x18(%rsp),%xmm5
  mov    0x38(%rsp),%eax
  movss  0x20(%rsp),%xmm6
  movaps %xmm0,%xmm1
  movss  0x28(%rsp),%xmm7
  mulss  %xmm5,%xmm1
  movss  0x48(%rsp),%xmm8
  movss  0x40(%rsp),%xmm9
  mulss  %xmm5,%xmm6
  movaps %xmm7,%xmm3
  addss  %xmm7,%xmm1
  subss  %xmm6,%xmm3
  movss  %xmm1,0x18(%rsp)
  movss  %xmm3,0x20(%rsp)
L63:
  pxor   %xmm4,%xmm4
  pxor   %xmm1,%xmm1
  movss  0x8(%rsp),%xmm3
  movss  0x4(%rsp),%xmm2
  cvtsi2ss %ebp,%xmm4
  movss  %xmm7,0x30(%rsp)
  cvtsi2ss %eax,%xmm1
  movss  %xmm5,0x28(%rsp)
  mulss  %xmm5,%xmm4
  mulss  %xmm5,%xmm1
  addss  %xmm9,%xmm4
  addss  %xmm8,%xmm1
  movaps %xmm4,%xmm0
  movss  %xmm4,0x38(%rsp)
  movss  %xmm1,0x40(%rsp)
  call   <dist2@plt>
  movss  0x28(%rsp),%xmm5
  pxor   %xmm9,%xmm9
  movsd  D37(%rip),%xmm7
  pxor   %xmm3,%xmm3
  movss  (%rsp),%xmm6
  cvtss2sd %xmm5,%xmm9
  mulsd  %xmm9,%xmm7
  cvtss2sd %xmm0,%xmm3
  movaps %xmm6,%xmm8
  mulss  %xmm0,%xmm8
  comisd %xmm7,%xmm3
  movss  0x30(%rsp),%xmm7
  jb     L175
  movss  0x38(%rsp),%xmm4
  movss  0x40(%rsp),%xmm1
  subss  0x4(%rsp),%xmm4
  subss  0x8(%rsp),%xmm1
  mulss  %xmm6,%xmm4
  mulss  %xmm6,%xmm1
  divss  %xmm0,%xmm4
  divss  %xmm0,%xmm1
  movd   %xmm4,%ebx
  movd   %xmm1,%ebp
L39:
  movaps %xmm8,%xmm0
  movss  %xmm7,0x48(%rsp)
  movsd  %xmm9,0x40(%rsp)
  movss  %xmm5,0x30(%rsp)
  movss  %xmm8,0x28(%rsp)
  call   <fabs@plt>
  movss  %xmm0,0x4(%rsp)
  movd   %ebx,%xmm0
  call   <fabs@plt>
  movss  %xmm0,0x8(%rsp)
  movd   %ebp,%xmm0
  call   <fabs@plt>
  movss  0x8(%rsp),%xmm2
  movss  0x30(%rsp),%xmm5
  movss  0x28(%rsp),%xmm8
  addss  %xmm0,%xmm2
  movss  %xmm5,0x38(%rsp)
  movaps %xmm8,%xmm0
  mulss  %xmm5,%xmm2
  addss  0x4(%rsp),%xmm2
  mulss  D7(%rip),%xmm2
  movss  %xmm2,0x30(%rsp)
  call   <fabs@plt>
  movss  %xmm0,0x4(%rsp)
  movd   %ebx,%xmm0
  call   <fabs@plt>
  movss  %xmm0,0x8(%rsp)
  movd   %ebp,%xmm0
  call   <fabs@plt>
  movss  0x50(%rsp),%xmm4
  movss  0x18(%rsp),%xmm7
  pxor   %xmm1,%xmm1
  subss  0x20(%rsp),%xmm7
  subss  0x10(%rsp),%xmm4
  pxor   %xmm10,%xmm10
  movsd  D11(%rip),%xmm6
  movsd  0x40(%rsp),%xmm9
  movss  0x8(%rsp),%xmm3
  movss  0x28(%rsp),%xmm8
  cvtss2sd %xmm7,%xmm1
  cvtss2sd %xmm4,%xmm4
  mulsd  %xmm6,%xmm1
  movss  0x48(%rsp),%xmm7
  mulsd  %xmm6,%xmm4
  addss  %xmm0,%xmm3
  movd   %ebx,%xmm0
  movss  (%rsp),%xmm2
  cvtss2sd %xmm7,%xmm10
  mulss  %xmm7,%xmm7
  movss  0x38(%rsp),%xmm5
  mulss  %xmm5,%xmm3
  movss  %xmm5,0x8(%rsp)
  divsd  %xmm9,%xmm1
  addss  0x4(%rsp),%xmm3
  mulss  D7(%rip),%xmm3
  movaps %xmm7,%xmm6
  mulss  %xmm2,%xmm6
  movss  %xmm3,0x4(%rsp)
  divsd  %xmm9,%xmm4
  movd   %ebp,%xmm9
  cvtsd2ss %xmm1,%xmm1
  mulss  %xmm1,%xmm9
  mulss  %xmm1,%xmm1
  cvtsd2ss %xmm4,%xmm4
  mulss  %xmm4,%xmm0
  mulss  %xmm4,%xmm4
  addss  %xmm9,%xmm0
  pxor   %xmm9,%xmm9
  cvtss2sd %xmm8,%xmm9
  addsd  %xmm9,%xmm9
  mulss  %xmm8,%xmm8
  addss  %xmm1,%xmm4
  movaps %xmm6,%xmm1
  cvtss2sd %xmm0,%xmm0
  mulss  %xmm2,%xmm1
  mulsd  %xmm10,%xmm9
  mulss  %xmm8,%xmm4
  cvtss2sd %xmm1,%xmm1
  mulsd  %xmm9,%xmm0
  cvtss2sd %xmm4,%xmm4
  addsd  %xmm4,%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  call   <sqrt@plt>
  mov    D11(%rip),%rax
  movss  0x30(%rsp),%xmm2
  pxor   %xmm4,%xmm4
  movaps %xmm0,%xmm1
  movss  0x8(%rsp),%xmm5
  movss  0xc(%rsp),%xmm0
  movq   %rax,%xmm6
  cvtss2sd %xmm2,%xmm4
  movss  0x4(%rsp),%xmm3
  mulsd  %xmm6,%xmm4
  mulss  %xmm5,%xmm0
  addss  %xmm3,%xmm2
  mulss  %xmm1,%xmm5
  movss  0x50(%rsp),%xmm1
  addss  0x10(%rsp),%xmm1
  cvtss2sd %xmm2,%xmm2
  cvtss2sd %xmm1,%xmm1
  mulsd  %xmm4,%xmm1
  subss  %xmm5,%xmm0
  cvtss2sd %xmm0,%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm3,%xmm1
  movapd %xmm1,%xmm4
  movss  0x18(%rsp),%xmm1
  addss  0x20(%rsp),%xmm1
  mulsd  %xmm6,%xmm4
  cvtss2sd %xmm1,%xmm1
  mulsd  %xmm4,%xmm1
  addsd  %xmm1,%xmm0
  divsd  %xmm2,%xmm0
  cvtsd2ss %xmm0,%xmm0
  jmp    L62
  cs nopw 0x0(%rax,%rax,1)
L177:
  movss  0x14(%rbx,%r13,1),%xmm0
  movss  0x4(%rbx,%r13,1),%xmm4
  mov    $0x1,%edi
  movss  0x8(%rbx,%r13,1),%xmm3
  movss  0xc(%rbx,%r13,1),%xmm2
  movss  0x10(%rbx,%r13,1),%xmm1
  call   <Extrapolation4@plt>
L62:
  movss  %xmm0,(%r12)
  add    $0x68,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopw   0x0(%rax,%rax,1)
L40:
  add    %r8d,%ebp
  mov    $0x1,%edi
  lea    0x0(%rbp,%r8,1),%ecx
  movslq %ebp,%rbp
  lea    (%rcx,%r8,1),%edx
  movslq %ecx,%rcx
  movss  (%rbx,%rbp,4),%xmm4
  lea    (%rdx,%r8,1),%eax
  movslq %edx,%rdx
  movss  (%rbx,%rcx,4),%xmm3
  movslq %eax,%rsi
  add    %r8d,%eax
  movss  (%rbx,%rdx,4),%xmm2
  cltq
  movss  (%rbx,%rsi,4),%xmm1
  movss  (%rbx,%rax,4),%xmm0
  call   <Extrapolation4@plt>
  jmp    L62
  xchg   %ax,%ax
L53:
  movaps %xmm5,%xmm4
  movss  %xmm3,0x58(%rsp)
  mov    $0xffffffff,%edi
  movaps %xmm2,%xmm3
  movss  %xmm1,0x54(%rsp)
  movaps %xmm7,%xmm2
  movaps %xmm6,%xmm1
  mov    %r9d,0x48(%rsp)
  mov    %eax,0x40(%rsp)
  movss  %xmm7,0x30(%rsp)
  movss  %xmm5,0x50(%rsp)
  mov    %rcx,0x18(%rsp)
  mov    %rdx,0x10(%rsp)
  mov    %rsi,0x38(%rsp)
  call   <WENO3@plt>
  mov    0x10(%rsp),%rdx
  mov    0x18(%rsp),%rcx
  mov    $0x1,%edi
  mov    0x38(%rsp),%rsi
  movss  (%r12),%xmm11
  movss  %xmm0,0x28(%rsp)
  movss  (%rdx),%xmm10
  movss  (%rcx),%xmm2
  movss  (%rsi),%xmm1
  movss  -0xc(%rbx,%r13,1),%xmm0
  movaps %xmm11,%xmm3
  movss  %xmm11,0x18(%rsp)
  movaps %xmm10,%xmm4
  movss  %xmm10,0x20(%rsp)
  movss  %xmm2,0x10(%rsp)
  call   <Extrapolation4@plt>
  movss  0x50(%rsp),%xmm5
  movss  0x10(%rsp),%xmm2
  mov    $0x1,%edi
  movss  0x18(%rsp),%xmm11
  movss  0x20(%rsp),%xmm10
  movaps %xmm2,%xmm3
  movaps %xmm5,%xmm4
  movaps %xmm11,%xmm2
  movaps %xmm10,%xmm1
  call   <WENO3@plt>
  movss  0x50(%rsp),%xmm5
  movss  0x28(%rsp),%xmm6
  movss  0x30(%rsp),%xmm7
  mov    0x40(%rsp),%eax
  mulss  %xmm5,%xmm6
  mov    0x48(%rsp),%r9d
  movss  0x54(%rsp),%xmm9
  mulss  %xmm5,%xmm0
  movaps %xmm7,%xmm3
  movss  0x58(%rsp),%xmm8
  subss  %xmm6,%xmm3
  addss  %xmm7,%xmm0
  movss  %xmm3,0x10(%rsp)
  movss  %xmm0,0x50(%rsp)
  jmp    L86
  nopw   0x0(%rax,%rax,1)
L175:
  mov    D11(%rip),%ebp
  mov    %ebp,%ebx
  jmp    L39
  nopl   (%rax)
L113:
  movss  -0x14(%rbx,%r13,1),%xmm0
  movss  -0x4(%rbx,%r13,1),%xmm4
  mov    $0x1,%edi
  movss  -0x8(%rbx,%r13,1),%xmm3
  movss  -0xc(%rbx,%r13,1),%xmm2
  movss  -0x10(%rbx,%r13,1),%xmm1
  call   <Extrapolation4@plt>
  jmp    L62
  nopw   0x0(%rax,%rax,1)
L145:
  movaps %xmm6,%xmm2
  movaps %xmm5,%xmm4
  mov    $0xffffffff,%edi
  sub    %r15d,%r14d
  mov    %eax,0x54(%rsp)
  add    %ebp,%r14d
  movss  %xmm8,0x5c(%rsp)
  movslq %r14d,%r14
  movss  %xmm9,0x58(%rsp)
  movss  %xmm7,0x40(%rsp)
  movss  %xmm5,0x18(%rsp)
  mov    %rcx,0x20(%rsp)
  mov    %rdx,0x48(%rsp)
  call   <WENO3@plt>
  mov    0x20(%rsp),%rcx
  mov    0x48(%rsp),%rdx
  mov    $0x1,%edi
  movss  (%r12),%xmm11
  movss  0x0(%r13),%xmm10
  movss  %xmm0,0x38(%rsp)
  movss  (%rcx),%xmm2
  movss  (%rdx),%xmm1
  movss  (%rbx,%r14,4),%xmm0
  movaps %xmm10,%xmm4
  movaps %xmm11,%xmm3
  movss  %xmm10,0x30(%rsp)
  movss  %xmm11,0x28(%rsp)
  movss  %xmm2,0x20(%rsp)
  call   <Extrapolation4@plt>
  movss  0x18(%rsp),%xmm5
  movss  0x20(%rsp),%xmm2
  mov    $0x1,%edi
  movss  0x28(%rsp),%xmm11
  movss  0x30(%rsp),%xmm10
  movaps %xmm2,%xmm3
  movaps %xmm5,%xmm4
  movaps %xmm11,%xmm2
  movaps %xmm10,%xmm1
  call   <WENO3@plt>
  movss  0x18(%rsp),%xmm5
  movss  0x38(%rsp),%xmm6
  movss  0x40(%rsp),%xmm7
  mov    0x54(%rsp),%eax
  mulss  %xmm5,%xmm6
  movss  0x58(%rsp),%xmm9
  movss  0x5c(%rsp),%xmm8
  mulss  %xmm5,%xmm0
  movaps %xmm7,%xmm3
  subss  %xmm6,%xmm3
  addss  %xmm7,%xmm0
  movss  %xmm3,0x20(%rsp)
  movss  %xmm0,0x18(%rsp)
  jmp    L63
  nopl   0x0(%rax,%rax,1)
L164:
  sub    %r8d,%r14d
  mov    %r14d,%ecx
  add    %edi,%r14d
  sub    %r8d,%ecx
  movslq %r14d,%r14
  mov    %ecx,%edx
  add    %edi,%ecx
  movss  (%rbx,%r14,4),%xmm4
  sub    %r8d,%edx
  movslq %ecx,%rcx
  mov    %edx,%eax
  add    %edi,%edx
  movss  (%rbx,%rcx,4),%xmm3
  sub    %r8d,%eax
  movslq %edx,%rdx
  lea    (%rax,%rdi,1),%esi
  sub    %r8d,%eax
  movss  (%rbx,%rdx,4),%xmm2
  add    %edi,%eax
  movslq %esi,%rsi
  mov    $0x1,%edi
  cltq
  movss  (%rbx,%rsi,4),%xmm1
  movss  (%rbx,%rax,4),%xmm0
  call   <Extrapolation4@plt>
  jmp    L62
  nopl   0x0(%rax)
L36:
  lea    0x0(%rbp,%r15,2),%edx
  movaps %xmm6,%xmm3
  mov    $0x1,%edi
  mov    %eax,0x48(%rsp)
  movslq %edx,%rcx
  add    %r15d,%edx
  movss  %xmm8,0x58(%rsp)
  lea    (%rbx,%rcx,4),%r13
  movslq %ebp,%rcx
  movss  %xmm9,0x54(%rsp)
  lea    (%rbx,%rcx,4),%r14
  movslq %edx,%rcx
  add    %r15d,%edx
  movss  0x0(%r13),%xmm2
  lea    (%rbx,%rcx,4),%rcx
  movss  (%r14),%xmm10
  movslq %edx,%rdx
  movss  %xmm7,0x40(%rsp)
  movss  (%rbx,%rdx,4),%xmm0
  movss  (%rcx),%xmm1
  mov    %rcx,0x20(%rsp)
  movaps %xmm10,%xmm4
  movss  %xmm5,0x18(%rsp)
  movss  %xmm10,0x38(%rsp)
  movss  %xmm6,0x30(%rsp)
  movss  %xmm2,0x28(%rsp)
  call   <Extrapolation4@plt>
  movss  0x30(%rsp),%xmm6
  movss  0x18(%rsp),%xmm5
  mov    $0xffffffff,%edi
  movss  0x28(%rsp),%xmm2
  movss  0x38(%rsp),%xmm10
  movaps %xmm5,%xmm4
  movaps %xmm2,%xmm3
  movaps %xmm10,%xmm1
  movaps %xmm6,%xmm2
  call   <WENO3@plt>
  mov    0x20(%rsp),%rcx
  movss  0x18(%rsp),%xmm5
  mov    $0x1,%edi
  movss  0x0(%r13),%xmm1
  movd   %xmm0,%ebx
  movss  (%r14),%xmm3
  movss  (%r12),%xmm2
  movss  (%rcx),%xmm0
  movaps %xmm5,%xmm4
  call   <WENO3@plt>
  movss  0x18(%rsp),%xmm5
  mov    0x48(%rsp),%eax
  movaps %xmm0,%xmm1
  movd   %ebx,%xmm0
  movss  0x40(%rsp),%xmm7
  movss  0x54(%rsp),%xmm9
  mulss  %xmm5,%xmm0
  movss  0x58(%rsp),%xmm8
  mulss  %xmm5,%xmm1
  movaps %xmm7,%xmm6
  subss  %xmm0,%xmm6
  addss  %xmm7,%xmm1
  movss  %xmm6,0x20(%rsp)
  movss  %xmm1,0x18(%rsp)
  jmp    L63
L171:
  mov    %esi,0x40(%rsp)
  lea    0x8(%rbx,%r13,1),%rsi
  movaps %xmm6,%xmm4
  mov    $0x1,%edi
  movss  0xc(%rbx,%r13,1),%xmm0
  movss  %xmm1,0x54(%rsp)
  movss  (%rsi),%xmm1
  movss  %xmm3,0x58(%rsp)
  movaps %xmm7,%xmm3
  mov    %r9d,0x48(%rsp)
  mov    %rcx,0x38(%rsp)
  mov    %rdx,0x30(%rsp)
  mov    %rsi,0x18(%rsp)
  movss  %xmm5,0x50(%rsp)
  movss  %xmm6,0x28(%rsp)
  movss  %xmm7,0x20(%rsp)
  movss  %xmm2,0x10(%rsp)
  call   <Extrapolation4@plt>
  movss  0x20(%rsp),%xmm7
  mov    $0xffffffff,%edi
  movss  0x10(%rsp),%xmm2
  movss  0x50(%rsp),%xmm5
  movss  0x28(%rsp),%xmm6
  movaps %xmm2,%xmm3
  movaps %xmm7,%xmm2
  movss  %xmm7,0x10(%rsp)
  movaps %xmm5,%xmm4
  movaps %xmm6,%xmm1
  call   <WENO3@plt>
  mov    0x38(%rsp),%rcx
  mov    0x30(%rsp),%rdx
  mov    $0x1,%edi
  mov    0x18(%rsp),%rsi
  movss  0x50(%rsp),%xmm5
  movd   %xmm0,%r13d
  movss  (%rcx),%xmm3
  movss  (%rdx),%xmm1
  movss  (%r12),%xmm2
  movss  (%rsi),%xmm0
  movaps %xmm5,%xmm4
  call   <WENO3@plt>
  movss  0x50(%rsp),%xmm5
  movss  0x10(%rsp),%xmm7
  movaps %xmm0,%xmm1
  movd   %r13d,%xmm0
  mov    0x40(%rsp),%eax
  mov    0x48(%rsp),%r9d
  mulss  %xmm5,%xmm0
  movaps %xmm7,%xmm3
  movss  0x54(%rsp),%xmm9
  movss  0x58(%rsp),%xmm8
  mulss  %xmm5,%xmm1
  subss  %xmm0,%xmm3
  addss  %xmm7,%xmm1
  movss  %xmm3,0x10(%rsp)
  movss  %xmm1,0x50(%rsp)
  jmp    L86
```

tool_calls: name: parse_data
arguments: tag: D37
data_type: f64
name: parse_data
arguments: tag: D7
data_type: f32
name: parse_data
arguments: tag: D11
data_type: f64

tool: D37: 0.1

tool: D7: 2.5

tool: D11: 0.5

assistant: ```c
void Feiko5_WENO3_LxF(int i, int j, float *tao, float *slowMatrix, float slow0, int I, int J, float xmin, float xmax, float ymin, float ymax, float sx, float sy) {
  float slow = slowMatrix[j * I + i];
  float Dx = (xmax - xmin) / (I - 1), Dy = (ymax - ymin) / (J - 1);
  float h = Dx;
  float ax;
  float ay;
  float T0C;
  float taoC = tao[j * I + i];
  float unew = 0.0;
  float ue = 0, uw = 0, un = 0, us = 0;
  float hamilton = 0;
  float ew = 0, ns = 0;
  float x0, y0;
  float p0, q0;
  float r2;
  if (i == 0) {
    unew = Extrapolation4(tao[j * I + i + 5], tao[j * I + i + 4], tao[j * I + i + 3], tao[j * I + i + 2], tao[j * I + i + 1], 1);
  } else if (i == I - 1) {
    unew = Extrapolation4(tao[j * I + i - 5], tao[j * I + i - 4], tao[j * I + i - 3], tao[j * I + i - 2], tao[j * I + i - 1], 1);
  } else if (j == 0) {
    unew = Extrapolation4(tao[(j + 5) * I + i], tao[(j + 4) * I + i], tao[(j + 3) * I + i], tao[(j + 2) * I + i], tao[(j + 1) * I + i], 1);
  } else if (j == J - 1) {
    unew = Extrapolation4(tao[(j - 5) * I + i], tao[(j - 4) * I + i], tao[(j - 3) * I + i], tao[(j - 2) * I + i], tao[(j - 1) * I + i], 1);
  } else {
    if (i == 1) {
      uw = WENO3(Extrapolation4(tao[j * I + i + 3], tao[j * I + i + 2], tao[j * I + i + 1], tao[j * I + i], tao[j * I + i - 1], 1), tao[j * I + i - 1], tao[j * I + i], tao[j * I + i + 1], h, -1);
      ue = WENO3(tao[j * I + i + 2], tao[j * I + i + 1], tao[j * I + i], tao[j * I + i - 1], h, 1);
      uw = taoC - h * uw;
      ue = taoC + h * ue;
    } else if (i == I - 2) {
      uw = WENO3(tao[j * I + i - 2], tao[j * I + i - 1], tao[j * I + i], tao[j * I + i + 1], h, -1);
      ue = WENO3(Extrapolation4(tao[j * I + i - 3], tao[j * I + i - 2], tao[j * I + i - 1], tao[j * I + i], tao[j * I + i + 1], 1), tao[j * I + i + 1], tao[j * I + i], tao[j * I + i - 1], h, 1);
      uw = taoC - h * uw;
      ue = taoC + h * ue;
    } else {
      uw = WENO3(tao[j * I + i - 2], tao[j * I + i - 1], tao[j * I + i], tao[j * I + i + 1], h, -1);
      ue = WENO3(tao[j * I + i + 2], tao[j * I + i + 1], tao[j * I + i], tao[j * I + i - 1], h, 1);
      uw = taoC - h * uw;
      ue = taoC + h * ue;
    }
    if (j == 1) {
      us = WENO3(Extrapolation4(tao[(j + 3) * I + i], tao[(j + 2) * I + i], tao[(j + 1) * I + i], tao[j * I + i], tao[(j - 1) * I + i], 1), tao[(j - 1) * I + i], tao[j * I + i], tao[(j + 1) * I + i], h, -1);
      un = WENO3(tao[(j + 2) * I + i], tao[(j + 1) * I + i], tao[j * I + i], tao[(j - 1) * I + i], h, 1);
      us = taoC - h * us;
      un = taoC + h * un;
    } else if (j == J - 2) {
      us = WENO3(tao[(j - 2) * I + i], tao[(j - 1) * I + i], tao[j * I + i], tao[(j + 1) * I + i], h, -1);
      un = WENO3(Extrapolation4(tao[(j - 3) * I + i], tao[(j - 2) * I + i], tao[(j - 1) * I + i], tao[j * I + i], tao[(j + 1) * I + i], 1), tao[(j + 1) * I + i], tao[j * I + i], tao[(j - 1) * I + i], h, 1);
      us = taoC - h * us;
      un = taoC + h * un;
    } else {
      us = WENO3(tao[(j - 2) * I + i], tao[(j - 1) * I + i], tao[j * I + i], tao[(j + 1) * I + i], h, -1);
      un = WENO3(tao[(j + 2) * I + i], tao[(j + 1) * I + i], tao[j * I + i], tao[(j - 1) * I + i], h, 1);
      us = taoC - h * us;
      un = taoC + h * un;
    }
    x0 = i * h + xmin;
    y0 = j * h + ymin;
    r2 = dist2(x0, y0, sx, sy);
    T0C = slow0 * r2;
    if (r2 >= 0.1 * h) {
      p0 = slow0 * (x0 - sx) / r2;
      q0 = slow0 * (y0 - sy) / r2;
    } else {
      p0 = 0;
      q0 = 0;
    }
    ax = (2.5 * (fabs(T0C) + h * (fabs(p0) + fabs(q0))));
    ay = (2.5 * (fabs(T0C) + h * (fabs(p0) + fabs(q0))));
    ew = 0.5 * (ue - uw) / h;
    ns = 0.5 * (un - us) / h;
    hamilton = T0C * T0C * (ew * ew + ns * ns) + 2.0 * T0C * taoC * (p0 * ew + q0 * ns) + taoC * taoC * slow0 * slow0;
    hamilton = sqrt(hamilton);
    unew = (h * slow - h * hamilton + ax * 0.5 * (ue + uw) + ay * 0.5 * (un + us)) / (ax + ay);
  }
  tao[j * I + i] = unew;
  return;
}
```