user: 这段汇编代码用C语言表示是什么样的：

```asm
<sebs_evapfr>:
  endbr64
  push   %r15
  mov    $0x2,%eax
  movq   %xmm6,%r15
  push   %r14
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xc0,%rsp
  movsd  %xmm0,0x10(%rsp)
  movsd  0x110(%rsp),%xmm0
  movsd  %xmm1,0x8(%rsp)
  movsd  0x108(%rsp),%xmm1
  movsd  %xmm5,0x40(%rsp)
  movsd  %xmm3,0x28(%rsp)
  movsd  %xmm2,0x20(%rsp)
  movsd  %xmm7,0xb8(%rsp)
  call   <z0_m@plt>
  pxor   %xmm7,%xmm7
  movsd  0x110(%rsp),%xmm0
  cvtsi2sd %eax,%xmm7
  mov    $0x1,%eax
  movsd  %xmm7,(%rsp)
  call   <leafai@plt>
  movsd  0x108(%rsp),%xmm2
  movsd  0x100(%rsp),%xmm1
  movsd  0x110(%rsp),%xmm0
  mov    %eax,%ebp
  mov    $0x3,%eax
  call   <f_c@plt>
  movsd  (%rsp),%xmm7
  movsd  0x10(%rsp),%xmm8
  pxor   %xmm6,%xmm6
  movsd  D581(%rip),%xmm1
  cvtsi2sd %eax,%xmm6
  mulsd  %xmm7,%xmm1
  movsd  %xmm6,0x18(%rsp)
  subsd  %xmm1,%xmm8
  movsd  %xmm1,0x30(%rsp)
  movapd %xmm8,%xmm0
  movsd  %xmm8,0x48(%rsp)
  divsd  %xmm7,%xmm0
  call   <log@plt>
  movsd  0x30(%rsp),%xmm1
  movsd  D263(%rip),%xmm7
  movq   %xmm0,%rbx
  subsd  %xmm1,%xmm7
  movapd %xmm7,%xmm0
  movsd  %xmm7,0x30(%rsp)
  divsd  (%rsp),%xmm0
  call   <log@plt>
  movsd  D609(%rip),%xmm2
  subsd  0x40(%rsp),%xmm2
  movapd %xmm0,%xmm1
  movq   %rbx,%xmm0
  divsd  %xmm1,%xmm0
  movsd  D65(%rip),%xmm1
  mulsd  0x28(%rsp),%xmm0
  movsd  %xmm2,0x28(%rsp)
  movq   %xmm0,%rbx
  movsd  D609(%rip),%xmm0
  subsd  0x128(%rsp),%xmm0
  divsd  %xmm2,%xmm0
  call   <pow@plt>
  movsd  0x10(%rsp),%xmm3
  addsd  0x128(%rsp),%xmm3
  mulsd  0x20(%rsp),%xmm0
  movsd  D609(%rip),%xmm2
  mov    D65(%rip),%rax
  subsd  %xmm3,%xmm2
  movq   %rax,%xmm1
  movsd  %xmm0,0x40(%rsp)
  movapd %xmm2,%xmm0
  movsd  0x28(%rsp),%xmm2
  divsd  %xmm2,%xmm0
  call   <pow@plt>
  movsd  0x40(%rsp),%xmm5
  pxor   %xmm3,%xmm3
  movsd  0x18(%rsp),%xmm4
  movapd %xmm0,%xmm2
  cvtsi2sd %ebp,%xmm3
  movsd  0x10(%rsp),%xmm1
  movq   %rbx,%xmm0
  mulsd  %xmm5,%xmm2
  movapd %xmm5,%xmm6
  movsd  0x8(%rsp),%xmm5
  mov    $0x7,%eax
  movsd  %xmm2,0x28(%rsp)
  movsd  (%rsp),%xmm2
  divsd  D368(%rip),%xmm2
  call   <kb_1@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <exp@plt>
  movsd  (%rsp),%xmm1
  movsd  0x48(%rsp),%xmm8
  divsd  %xmm0,%xmm1
  movapd %xmm8,%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm1,(%rsp)
  call   <log@plt>
  movsd  0x30(%rsp),%xmm7
  movsd  (%rsp),%xmm1
  movq   %xmm0,%rbp
  divsd  %xmm1,%xmm7
  movapd %xmm7,%xmm0
  call   <log@plt>
  movq   %rbp,%xmm4
  movsd  0x8(%rsp),%xmm5
  divsd  %xmm0,%xmm4
  movsd  %xmm4,(%rsp)
  movsd  D407(%rip),%xmm4
  comisd %xmm5,%xmm4
  jbe    L125
  addsd  D315(%rip),%xmm5
  movsd  %xmm5,0x8(%rsp)
L125:
  movsd  D221(%rip),%xmm3
  movsd  D39(%rip),%xmm1
  movsd  0x128(%rsp),%xmm0
  divsd  D609(%rip),%xmm0
  subsd  %xmm0,%xmm3
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x20(%rsp)
  call   <pow@plt>
  movsd  0x18(%rsp),%xmm5
  mov    D39(%rip),%rax
  movapd %xmm0,%xmm4
  movsd  D221(%rip),%xmm0
  movsd  0x20(%rsp),%xmm3
  movq   %rax,%xmm1
  subsd  %xmm5,%xmm0
  mulsd  (%rsp),%xmm5
  mulsd  0x8(%rsp),%xmm0
  addsd  %xmm5,%xmm0
  divsd  %xmm4,%xmm0
  movsd  %xmm0,0x88(%rsp)
  movapd %xmm3,%xmm0
  call   <pow@plt>
  movsd  0x120(%rsp),%xmm7
  divsd  %xmm0,%xmm7
  movsd  0x88(%rsp),%xmm0
  comisd D407(%rip),%xmm7
  addsd  %xmm7,%xmm0
  mulsd  D95(%rip),%xmm0
  movapd %xmm7,%xmm1
  movsd  %xmm0,0x78(%rsp)
  jbe    L32
  subsd  D315(%rip),%xmm1
L32:
  movsd  D159(%rip),%xmm0
  movsd  %xmm7,(%rsp)
  mulsd  %xmm1,%xmm0
  addsd  D136(%rip),%xmm1
  divsd  %xmm1,%xmm0
  call   <exp@plt>
  movsd  0x78(%rsp),%xmm5
  movq   %r15,%xmm8
  comisd D407(%rip),%xmm5
  mulsd  D442(%rip),%xmm0
  movsd  (%rsp),%xmm7
  mulsd  D12(%rip),%xmm8
  divsd  0x28(%rsp),%xmm8
  movq   %xmm0,%r12
  jbe    L65
  subsd  D315(%rip),%xmm5
  movsd  %xmm5,0x78(%rsp)
L65:
  movsd  0xf8(%rsp),%xmm0
  mov    $0x1,%eax
  movsd  %xmm8,0x30(%rsp)
  movsd  %xmm7,0x8(%rsp)
  call   <leafai@plt>
  movsd  0x108(%rsp),%xmm2
  movsd  0x100(%rsp),%xmm1
  movsd  0xf8(%rsp),%xmm0
  mov    %eax,%ebp
  mov    $0x3,%eax
  call   <f_c@plt>
  pxor   %xmm5,%xmm5
  movsd  0x108(%rsp),%xmm1
  movsd  0xf8(%rsp),%xmm0
  cvtsi2sd %eax,%xmm5
  mov    $0x2,%eax
  movsd  %xmm5,0x90(%rsp)
  call   <z0_m@plt>
  pxor   %xmm7,%xmm7
  pxor   %xmm3,%xmm3
  movsd  D581(%rip),%xmm6
  cvtsi2sd %eax,%xmm7
  movsd  0x78(%rsp),%xmm5
  movsd  0x90(%rsp),%xmm4
  movq   %rbx,%xmm0
  cvtsi2sd %ebp,%xmm3
  movsd  0x10(%rsp),%xmm1
  mov    $0x7,%eax
  mulsd  %xmm7,%xmm6
  movapd %xmm7,%xmm2
  movsd  %xmm7,0x18(%rsp)
  divsd  D368(%rip),%xmm2
  movsd  %xmm6,(%rsp)
  movsd  0x28(%rsp),%xmm6
  call   <kb_1@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <exp@plt>
  movsd  0x30(%rsp),%xmm8
  movsd  D468(%rip),%xmm2
  movsd  D221(%rip),%xmm1
  movsd  0x18(%rsp),%xmm4
  mulsd  %xmm8,%xmm2
  movsd  0x40(%rsp),%xmm6
  movsd  D237(%rip),%xmm9
  mulsd  0x28(%rsp),%xmm8
  movapd %xmm4,%xmm5
  movsd  0x8(%rsp),%xmm7
  divsd  %xmm0,%xmm5
  movapd %xmm6,%xmm3
  movsd  D523(%rip),%xmm0
  movsd  D221(%rip),%xmm11
  subsd  0x88(%rsp),%xmm7
  addsd  %xmm2,%xmm1
  mulsd  0x120(%rsp),%xmm1
  movsd  %xmm7,0x98(%rsp)
  mulsd  %xmm8,%xmm9
  movsd  0x10(%rsp),%xmm7
  movapd %xmm1,%xmm2
  movsd  %xmm1,0x30(%rsp)
  movq   %rbx,%xmm1
  movsd  %xmm9,0xb0(%rsp)
  mulsd  %xmm0,%xmm2
  mulsd  D486(%rip),%xmm1
  movsd  %xmm1,0x28(%rsp)
  divsd  %xmm2,%xmm3
  movsd  D343(%rip),%xmm2
  mulsd  %xmm9,%xmm2
  movsd  %xmm5,0x20(%rsp)
  movsd  D38(%rip),%xmm5
  mulsd  %xmm7,%xmm5
  divsd  %xmm6,%xmm2
  movsd  %xmm3,0xa0(%rsp)
  subsd  %xmm2,%xmm11
  movsd  0x120(%rsp),%xmm2
  mulsd  %xmm0,%xmm2
  movapd %xmm6,%xmm0
  divsd  %xmm2,%xmm0
  movapd %xmm11,%xmm2
  mulsd  %xmm0,%xmm2
  movsd  %xmm2,0xa8(%rsp)
  movsd  D385(%rip),%xmm2
  mulsd  %xmm4,%xmm2
  movapd %xmm2,%xmm0
  cmplesd %xmm5,%xmm0
  andpd  %xmm0,%xmm5
  andnpd %xmm2,%xmm0
  orpd   %xmm5,%xmm0
  movapd %xmm7,%xmm5
  subsd  (%rsp),%xmm5
  movsd  %xmm0,0x80(%rsp)
  movapd %xmm5,%xmm2
  movsd  %xmm5,0x68(%rsp)
  divsd  %xmm4,%xmm2
  movapd %xmm2,%xmm0
  movq   %xmm2,%r15
  call   <log@plt>
  movsd  0x28(%rsp),%xmm1
  movsd  D486(%rip),%xmm12
  mulsd  0x98(%rsp),%xmm12
  movsd  D614(%rip),%xmm6
  divsd  %xmm0,%xmm1
  movsd  0x68(%rsp),%xmm2
  divsd  0x20(%rsp),%xmm2
  movsd  0xa0(%rsp),%xmm0
  movq   %xmm2,%rbp
  mulsd  %xmm12,%xmm0
  mulsd  %xmm0,%xmm6
  movapd %xmm2,%xmm0
  movsd  %xmm6,0x40(%rsp)
  movsd  %xmm1,(%rsp)
  call   <log@plt>
  movsd  0x40(%rsp),%xmm2
  movsd  (%rsp),%xmm4
  movsd  0x10(%rsp),%xmm7
  movsd  0x30(%rsp),%xmm1
  mulsd  %xmm4,%xmm2
  comisd 0x80(%rsp),%xmm7
  movapd %xmm2,%xmm6
  divsd  %xmm0,%xmm6
  movsd  0xa8(%rsp),%xmm0
  xorpd  D33(%rip),%xmm0
  mulsd  D614(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  divsd  D431(%rip),%xmm0
  movsd  %xmm6,0x8(%rsp)
  jb     L46
  movsd  D557(%rip),%xmm5
  movq   D556(%rip),%xmm6
  movsd  %xmm0,0x60(%rsp)
  xor    %ebx,%ebx
  movq   %xmm5,%r14
  movaps %xmm6,0x30(%rsp)
  jmp    L101
  xchg   %ax,%ax
L133:
  cmp    $0x64,%ebx
  je     L144
L101:
  movapd %xmm4,%xmm0
  movq   %r14,%xmm1
  add    $0x1,%ebx
  call   <pow@plt>
  mulsd  0x60(%rsp),%xmm0
  movapd %xmm0,%xmm6
  movq   %r15,%xmm0
  divsd  0x8(%rsp),%xmm6
  movsd  %xmm6,(%rsp)
  call   <log@plt>
  movsd  0x18(%rsp),%xmm2
  movsd  (%rsp),%xmm1
  mov    $0x3,%eax
  movsd  %xmm0,0x48(%rsp)
  movsd  0x10(%rsp),%xmm0
  call   <bw@plt>
  pxor   %xmm0,%xmm0
  movsd  0x48(%rsp),%xmm3
  movsd  0x28(%rsp),%xmm4
  cvtsi2sd %eax,%xmm0
  movsd  0x40(%rsp),%xmm6
  subsd  %xmm0,%xmm3
  movq   %rbp,%xmm0
  divsd  %xmm3,%xmm4
  mulsd  %xmm4,%xmm6
  movsd  %xmm4,0x58(%rsp)
  movsd  %xmm6,0x50(%rsp)
  call   <log@plt>
  movsd  (%rsp),%xmm1
  movsd  0x20(%rsp),%xmm3
  mov    $0x4,%eax
  movsd  %xmm0,0x48(%rsp)
  movsd  0x18(%rsp),%xmm2
  movsd  0x10(%rsp),%xmm0
  call   <cw@plt>
  pxor   %xmm1,%xmm1
  movsd  0x48(%rsp),%xmm5
  movsd  0x50(%rsp),%xmm6
  cvtsi2sd %eax,%xmm1
  movsd  0x8(%rsp),%xmm0
  movsd  0x58(%rsp),%xmm4
  subsd  %xmm1,%xmm5
  divsd  %xmm5,%xmm6
  subsd  %xmm6,%xmm0
  andpd  0x30(%rsp),%xmm0
  movsd  %xmm6,0x8(%rsp)
  comisd D627(%rip),%xmm0
  ja     L133
L144:
  movsd  0x88(%rsp),%xmm0
  movsd  D316(%rip),%xmm1
  movsd  %xmm4,0x40(%rsp)
  movapd %xmm0,%xmm2
  divsd  D31(%rip),%xmm2
  movsd  %xmm2,0x28(%rsp)
  call   <pow@plt>
  mov    D316(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movsd  0x120(%rsp),%xmm0
  movq   %rax,%xmm1
  call   <pow@plt>
  movsd  0x28(%rsp),%xmm2
  movsd  0x118(%rsp),%xmm1
  movsd  0x40(%rsp),%xmm4
  mulsd  %xmm2,%xmm2
  mulsd  D233(%rip),%xmm2
  movsd  %xmm4,0x28(%rsp)
  mulsd  0x8(%rsp),%xmm2
  mulsd  %xmm0,%xmm1
  movsd  D329(%rip),%xmm0
  subsd  %xmm1,%xmm2
  movsd  D221(%rip),%xmm1
  subsd  0xf0(%rsp),%xmm1
  mulsd  0xb8(%rsp),%xmm1
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  D221(%rip),%xmm1
  subsd  0x90(%rsp),%xmm1
  mulsd  D281(%rip),%xmm1
  addsd  D512(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  subsd  %xmm1,%xmm0
  movq   %r14,%xmm1
  movsd  %xmm0,0x8(%rsp)
  movapd %xmm4,%xmm0
  call   <pow@plt>
  movsd  0x28(%rsp),%xmm4
  movapd %xmm0,%xmm1
  xorpd  D33(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  mulsd  0xa8(%rsp),%xmm1
  mulsd  D377(%rip),%xmm0
  divsd  D313(%rip),%xmm0
  divsd  %xmm0,%xmm1
  movsd  0x10(%rsp),%xmm0
  comisd 0x80(%rsp),%xmm0
  jb     L66
  movsd  0x20(%rsp),%xmm3
  movsd  0x18(%rsp),%xmm2
  mov    $0x4,%eax
  call   <cw@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x40(%rsp)
  movsd  0x28(%rsp),%xmm4
L122:
  movq   %rbp,%xmm0
  movsd  %xmm4,0x28(%rsp)
  call   <log@plt>
  movsd  0x28(%rsp),%xmm4
  subsd  0x40(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mulsd  D486(%rip),%xmm4
  movsd  %xmm4,0x28(%rsp)
  divsd  %xmm4,%xmm0
  comisd %xmm0,%xmm1
  jae    L9
L23:
  movsd  D614(%rip),%xmm5
  movsd  D136(%rip),%xmm1
  mulsd  0xa0(%rsp),%xmm5
  addsd  0x78(%rsp),%xmm1
  movsd  0x8(%rsp),%xmm3
  mulsd  %xmm1,%xmm1
  movapd %xmm5,%xmm2
  movsd  %xmm5,0x40(%rsp)
  movq   %r12,%xmm5
  divsd  %xmm0,%xmm2
  movq   %r12,%xmm0
  subsd  0xb0(%rsp),%xmm0
  mulsd  D365(%rip),%xmm5
  mulsd  %xmm2,%xmm0
  movsd  D199(%rip),%xmm2
  divsd  %xmm2,%xmm0
  subsd  %xmm0,%xmm3
  movapd %xmm5,%xmm0
  divsd  %xmm1,%xmm0
  divsd  %xmm2,%xmm0
  addsd  D221(%rip),%xmm0
  divsd  %xmm0,%xmm3
  movsd  0x10(%rsp),%xmm0
  comisd 0x80(%rsp),%xmm0
  movsd  %xmm3,0x30(%rsp)
  jb     L156
  movsd  0x20(%rsp),%xmm3
  movsd  0x18(%rsp),%xmm2
  mov    $0x4,%eax
  movsd  (%rsp),%xmm1
  call   <cw@plt>
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movsd  %xmm6,(%rsp)
L110:
  movq   %rbp,%xmm0
  call   <log@plt>
  movsd  0x40(%rsp),%xmm1
  subsd  (%rsp),%xmm0
  divsd  0x28(%rsp),%xmm0
  mulsd  0x98(%rsp),%xmm1
  movsd  0x8(%rsp),%xmm5
  movapd %xmm5,%xmm7
  divsd  %xmm0,%xmm1
  movapd %xmm5,%xmm0
  minsd  %xmm1,%xmm7
  movapd %xmm7,%xmm1
  movsd  0x30(%rsp),%xmm7
  subsd  %xmm7,%xmm0
  subsd  %xmm7,%xmm1
  divsd  %xmm5,%xmm7
  divsd  %xmm0,%xmm1
  movsd  D221(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  D221(%rip),%xmm1
  add    $0xc0,%rsp
  pop    %rbx
  pop    %rbp
  subsd  %xmm7,%xmm1
  pop    %r12
  pop    %r14
  pop    %r15
  mulsd  %xmm1,%xmm0
  ret
  xchg   %ax,%ax
L46:
  movsd  D557(%rip),%xmm7
  movq   D556(%rip),%xmm5
  movsd  %xmm0,0x70(%rsp)
  xor    %ebx,%ebx
  movq   %xmm7,%r14
  movaps %xmm5,0x30(%rsp)
  jmp    L14
  nopl   0x0(%rax)
L163:
  cmp    $0x64,%ebx
  je     L144
L14:
  movapd %xmm4,%xmm0
  movq   %r14,%xmm1
  add    $0x1,%ebx
  call   <pow@plt>
  mulsd  0x70(%rsp),%xmm0
  movapd %xmm0,%xmm7
  movq   %r15,%xmm0
  divsd  0x8(%rsp),%xmm7
  movsd  %xmm7,(%rsp)
  call   <log@plt>
  movsd  0x68(%rsp),%xmm2
  mov    $0x1,%eax
  divsd  (%rsp),%xmm2
  movsd  %xmm0,0x48(%rsp)
  movapd %xmm2,%xmm0
  movsd  %xmm2,0x60(%rsp)
  call   <psim@plt>
  pxor   %xmm0,%xmm0
  movsd  0x48(%rsp),%xmm1
  movsd  0x18(%rsp),%xmm2
  cvtsi2sd %eax,%xmm0
  divsd  (%rsp),%xmm2
  mov    $0x1,%eax
  subsd  %xmm0,%xmm1
  movapd %xmm2,%xmm0
  movsd  %xmm1,0x48(%rsp)
  call   <psim@plt>
  pxor   %xmm1,%xmm1
  movsd  0x28(%rsp),%xmm4
  movsd  0x40(%rsp),%xmm3
  cvtsi2sd %eax,%xmm1
  addsd  0x48(%rsp),%xmm1
  movq   %rbp,%xmm0
  divsd  %xmm1,%xmm4
  mulsd  %xmm4,%xmm3
  movsd  %xmm4,0x58(%rsp)
  movsd  %xmm3,0x50(%rsp)
  call   <log@plt>
  movsd  0x60(%rsp),%xmm2
  mov    $0x1,%eax
  movsd  %xmm0,0x48(%rsp)
  movapd %xmm2,%xmm0
  call   <psih@plt>
  pxor   %xmm0,%xmm0
  movsd  0x48(%rsp),%xmm1
  movsd  0x20(%rsp),%xmm6
  cvtsi2sd %eax,%xmm0
  divsd  (%rsp),%xmm6
  mov    $0x1,%eax
  subsd  %xmm0,%xmm1
  movapd %xmm6,%xmm0
  movsd  %xmm1,0x48(%rsp)
  call   <psih@plt>
  pxor   %xmm1,%xmm1
  movsd  0x50(%rsp),%xmm3
  movsd  0x8(%rsp),%xmm0
  cvtsi2sd %eax,%xmm1
  addsd  0x48(%rsp),%xmm1
  movsd  0x58(%rsp),%xmm4
  divsd  %xmm1,%xmm3
  subsd  %xmm3,%xmm0
  andpd  0x30(%rsp),%xmm0
  movsd  %xmm3,0x8(%rsp)
  comisd D627(%rip),%xmm0
  ja     L163
  jmp    L144
  nopl   0x0(%rax)
L156:
  mov    $0x1,%eax
  movsd  0x10(%rsp),%xmm0
  xorpd  D33(%rip),%xmm0
  divsd  (%rsp),%xmm0
  call   <psih@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,(%rsp)
  jmp    L110
  nopw   0x0(%rax,%rax,1)
L66:
  movsd  0x10(%rsp),%xmm0
  xorpd  D33(%rip),%xmm0
  mov    $0x1,%eax
  movsd  %xmm4,0x28(%rsp)
  divsd  %xmm1,%xmm0
  call   <psih@plt>
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movsd  %xmm4,0x40(%rsp)
  movsd  0x28(%rsp),%xmm4
  jmp    L122
  nopl   0x0(%rax,%rax,1)
L9:
  movq   %rbp,%xmm0
  call   <log@plt>
  divsd  0x28(%rsp),%xmm0
  jmp    L23
```

tool_calls: name: read_data
arguments: label: D581
data_type: f64
name: read_data
arguments: label: D263
data_type: f64
name: read_data
arguments: label: D609
data_type: f64
name: read_data
arguments: label: D65
data_type: byte[8]
name: read_data
arguments: label: D368
data_type: f64
name: read_data
arguments: label: D407
data_type: f32[4]
name: read_data
arguments: label: D315
data_type: f64
name: read_data
arguments: label: D221
data_type: f64
name: read_data
arguments: label: D39
data_type: f64
name: read_data
arguments: label: D95
data_type: f64
name: read_data
arguments: label: D159
data_type: f64
name: read_data
arguments: label: D136
data_type: f64
name: read_data
arguments: label: D442
data_type: f64
name: read_data
arguments: label: D12
data_type: f32[2]
name: read_data
arguments: label: D468
data_type: f64
name: read_data
arguments: label: D237
data_type: byte[8]
name: read_data
arguments: label: D523
data_type: f64
name: read_data
arguments: label: D486
data_type: f64
name: read_data
arguments: label: D343
data_type: f64
name: read_data
arguments: label: D38
data_type: f64
name: read_data
arguments: label: D385
data_type: f64
name: read_data
arguments: label: D614
data_type: f64
name: read_data
arguments: label: D33
data_type: f32[4]
name: read_data
arguments: label: D431
data_type: byte[8]
name: read_data
arguments: label: D557
data_type: f64
name: read_data
arguments: label: D556
data_type: qword
name: read_data
arguments: label: D627
data_type: f64[2]
name: read_data
arguments: label: D316
data_type: f64
name: read_data
arguments: label: D31
data_type: f64
name: read_data
arguments: label: D233
data_type: f64
name: read_data
arguments: label: D329
data_type: byte[8]
name: read_data
arguments: label: D281
data_type: byte[8]
name: read_data
arguments: label: D512
data_type: f64
name: read_data
arguments: label: D377
data_type: byte[8]
name: read_data
arguments: label: D313
data_type: f32[2]
name: read_data
arguments: label: D365
data_type: byte[8]
name: read_data
arguments: label: D199
data_type: f64

tool: D581: 4.9

tool: D263: 10

tool: D609: 44331

tool: {"D65": [0x49,0xaf,0x27,0x37,0xfa,0x04,0x15,0x40]}

tool: D368: 0.136

tool: {"D407": [0.0,3.390625,2.7200830220753216e23,3.7667479515075684]}

tool: D315: 273.15

tool: D221: 1

tool: D39: 1.5029

tool: D95: 0.5

tool: D159: 17.502

tool: D136: 240.97

tool: D442: 611

tool: {"D12": [0.0,1.78125]}

tool: D468: 0.61

tool: {"D237": [0xab,0xa6,0xb8,0xf9,0x15,0xb3,0xf9,0x3f]}

tool: D523: 287.04

tool: D486: 0.41

tool: D343: 0.378

tool: D38: 0.12

tool: D385: 125

tool: D614: 1005

tool: {"D33": [0.0,-0.0,0.0,0.0]}

tool: {"D431": [0x66,0xf7,0xe4,0x61,0xa1,0x16,0x10,0x40]}

tool: D557: 3

tool: D556: 9223372036854775807

tool: {"D627": [0.01,1000.0]}

tool: D316: 4

tool: D31: 1000

tool: D233: 9.2

tool: {"D329": [0x4f,0x27,0xaf,0xa5,0xc8,0x7b,0x6e,0x3e]}

tool: {"D281": [0xf6,0x28,0x5c,0x8f,0xc2,0xf5,0xd0,0x3f]}

tool: D512: 0.05

tool: {"D377": [0xe8,0xdb,0x82,0xa5,0xba,0xa0,0x03,0x40]}

tool: {"D313": [0.0,12.158714294433594]}

tool: {"D365": [0x3c,0x14,0x05,0xfa,0x74,0x79,0xb0,0x40]}

tool: D199: 67

assistant: ```c
double sebs_evapfr(double z_pbl, double t_s, double p_s, double u_s, double hr_s, double alt_ms, double eact, double kin, double albedo, double ndvi, double ndvi_min, double ndvi_max, double ndvi_median, double e0, double lst, double dem) {
  double gamma = 67;
  double rv = 461.05;
  double rd = 287.04;
  double cp = 1005;
  double l_e = 2.430 * pow(10, 6);
  double g = 9.81;
  double sigma = 5.678 * pow(10, -8);
  double k = 0.41;
  double z0m = z0_m(ndvi_median, ndvi_max);
  double lai = leafai(ndvi_median);
  double fc = f_c(ndvi_median, ndvi_min, ndvi_max);
  double d = z0m * 4.9;
  double h = z0m / 0.136;
  double z_ms = 10.0;
  double u_c = log((z_pbl - d) / z0m) / log((z_ms - d) / z0m);
  double u_pbl = u_s * u_c;
  p_s = p_s * pow(((44331.0 - dem) / (44331.0 - alt_ms)), (1 / 0.1903));
  double p_pbl = p_s * pow(((44331.0 - (dem + z_pbl)) / (44331.0 - alt_ms)), (1 / 0.1903));
  double kb1 = kb_1(u_pbl, z_pbl, h, lai, fc, t_s, p_s);
  double z0h = z0m / exp(kb1);
  double t_c = log((z_pbl - d) / z0h) / log((z_ms - d) / z0h);
  if (t_s < 100)
    t_s = t_s + 273.15;
  double t_pbl = (t_s * (1.0 - fc) + t_c * fc) / pow((1.0 - dem / 44331.0), 1.5029);
  double t0 = lst / pow((1.0 - dem / 44331.0), 1.5029);
  double t0_pbl = 0.5 * (t0 + t_pbl);
  double tcn;
  if (t0 > 100)
    tcn = t0 - 273.15;
  else
    tcn = t0;
  double esat = 611.0 * exp(17.502 * tcn / (tcn + 240.97));
  double q_pbl = 5.0 / 8.0 * eact / p_pbl;
  double ta;
  if (t0_pbl > 100)
    ta = t0_pbl - 273.15;
  else
    ta = t0_pbl;
  lai = leafai(ndvi);
  fc = f_c(ndvi, ndvi_min, ndvi_max);
  z0m = z0_m(ndvi, ndvi_max);
  d = z0m * 4.9;
  h = z0m / 0.136;
  kb1 = kb_1(u_pbl, z_pbl, h, lai, fc, ta, p_pbl);
  z0h = z0m / exp(kb1);
  double theta_v = lst * (1 + 0.61 * q_pbl);
  double dtair = t0 - t_pbl;
  eact = p_pbl * q_pbl * (rv / rd);
  double rohair = p_s / (rd * theta_v);
  double rohairm = (p_s / (rd * lst)) * (1 - 0.378 * eact / p_s);
  double alpha = 0.12;
  double beta = 125.0;
  double hst;
  if (alpha * z_pbl >= beta * z0m)
    hst = alpha * z_pbl;
  else
    hst = beta * z0m;
  double ustar = k * u_pbl / (log((z_pbl - d) / z0m));
  h = (dtair * k * rohair * cp) * ustar / (log((z_pbl - d) / z0h));
  double h0 = h;
  double reps = 10.0;
  int lsteps = 0;
  double molength;
  if (z_pbl >= hst) {
    while (reps > 0.01 && lsteps < 100) {
      molength = (-rohairm * cp * theta_v / (k * g)) * pow(ustar, 3) / h;
      ustar = k * u_pbl / ((log((z_pbl - d) / z0m)) - bw(z_pbl, molength, z0m));
      h = (dtair * k * rohair * cp) * ustar / ((log((z_pbl - d) / z0h)) - cw(z_pbl, molength, z0m, z0h));
      reps = fabs(h0 - h);
      h0 = h;
      lsteps = lsteps + 1;
    }
  } else {
    while (reps > 0.01 && lsteps < 100) {
      molength = (-rohairm * cp * theta_v / (k * g)) * pow(ustar, 3) / h;
      ustar = k * u_pbl / ((log((z_pbl - d) / z0m)) - psim((z_pbl - d) / molength) + psim(z0m / molength));
      h = (dtair * k * rohair * cp) * ustar / ((log((z_pbl - d) / z0h)) - psih((z_pbl - d) / molength) + psih(z0h / molength));
      reps = fabs(h0 - h);
      h0 = h;
      lsteps = lsteps + 1;
    }
  }
  double e_atm = 9.2 * pow((t_pbl / 1000.0), 2);
  double rn = (1.0 - albedo) * kin + sigma * (e_atm * pow(t_pbl, 4) - e0 * pow(lst, 4));
  double g0 = rn * (0.05 + (1 - fc) * (0.315 - 0.05));
  double h_dry = rn - g0;
  double l_w = -pow(ustar, 3) * rohairm / (0.61 * k * g * (rn - g0) / l_e);
  double cwet;
  if (z_pbl >= hst)
    cwet = cw(z_pbl, l_w, z0m, z0h);
  else
    cwet = psih(-z_pbl / l_w);
  double rew = ((log((z_pbl - d) / z0h)) - cwet) / (k * ustar);
  if (rew <= 0.0)
    rew = (log((z_pbl - d) / z0h)) / (k * ustar);
  double slope = 17.502 * 240.97 * esat / pow((ta + 240.97), 2);
  double h_wet = ((rn - g0) - (rohair * cp / rew) * (esat - eact) / gamma) / (1.0 + slope / gamma);
  double ci;
  if (z_pbl >= hst)
    ci = cw(z_pbl, molength, z0m, z0h);
  else
    ci = psih(-z_pbl / molength);
  double rah = ((log((z_pbl - d) / z0h)) - ci) / (k * ustar);
  double h_pixel = rohair * cp * dtair / rah;
  if (h_pixel > h_dry)
    h_pixel = h_dry;
  double ev_r = 1 - (h_pixel - h_wet) / (h_dry - h_wet);
  double evapfr = ev_r * (1 - h_wet / h_dry);
  return (evapfr);
}
```