user: Translate the below assembly code into C programming language:

```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  D661(%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  D47(%rip),%xmm7
  movq   %xmm0,%rbx
  subsd  %xmm1,%xmm7
  movapd %xmm7,%xmm0
  movsd  %xmm7,0x30(%rsp)
  divsd  (%rsp),%xmm0
  call   <log@plt>
  movsd  D109(%rip),%xmm2
  subsd  0x40(%rsp),%xmm2
  movapd %xmm0,%xmm1
  movq   %rbx,%xmm0
  divsd  %xmm1,%xmm0
  movsd  D558(%rip),%xmm1
  mulsd  0x28(%rsp),%xmm0
  movsd  %xmm2,0x28(%rsp)
  movq   %xmm0,%rbx
  movsd  D109(%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  D109(%rip),%xmm2
  mov    D558(%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  D516(%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  D351(%rip),%xmm4
  comisd %xmm5,%xmm4
  jbe    L27
  addsd  D14(%rip),%xmm5
  movsd  %xmm5,0x8(%rsp)
L27:
  movsd  D542(%rip),%xmm3
  movsd  D525(%rip),%xmm1
  movsd  0x128(%rsp),%xmm0
  divsd  D109(%rip),%xmm0
  subsd  %xmm0,%xmm3
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x20(%rsp)
  call   <pow@plt>
  movsd  0x18(%rsp),%xmm5
  mov    D525(%rip),%rax
  movapd %xmm0,%xmm4
  movsd  D542(%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 D351(%rip),%xmm7
  addsd  %xmm7,%xmm0
  mulsd  D356(%rip),%xmm0
  movapd %xmm7,%xmm1
  movsd  %xmm0,0x78(%rsp)
  jbe    L54
  subsd  D14(%rip),%xmm1
L54:
  movsd  D368(%rip),%xmm0
  movsd  %xmm7,(%rsp)
  mulsd  %xmm1,%xmm0
  addsd  D303(%rip),%xmm1
  divsd  %xmm1,%xmm0
  call   <exp@plt>
  movsd  0x78(%rsp),%xmm5
  movq   %r15,%xmm8
  comisd D351(%rip),%xmm5
  mulsd  D205(%rip),%xmm0
  movsd  (%rsp),%xmm7
  mulsd  D302(%rip),%xmm8
  divsd  0x28(%rsp),%xmm8
  movq   %xmm0,%r12
  jbe    L81
  subsd  D14(%rip),%xmm5
  movsd  %xmm5,0x78(%rsp)
L81:
  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  D661(%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  D516(%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  D570(%rip),%xmm2
  movsd  D542(%rip),%xmm1
  movsd  0x18(%rsp),%xmm4
  mulsd  %xmm8,%xmm2
  movsd  0x40(%rsp),%xmm6
  movsd  D130(%rip),%xmm9
  mulsd  0x28(%rsp),%xmm8
  movapd %xmm4,%xmm5
  movsd  0x8(%rsp),%xmm7
  divsd  %xmm0,%xmm5
  movapd %xmm6,%xmm3
  movsd  D621(%rip),%xmm0
  movsd  D542(%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  D620(%rip),%xmm1
  movsd  %xmm1,0x28(%rsp)
  divsd  %xmm2,%xmm3
  movsd  D613(%rip),%xmm2
  mulsd  %xmm9,%xmm2
  movsd  %xmm5,0x20(%rsp)
  movsd  D557(%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  D667(%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  D620(%rip),%xmm12
  mulsd  0x98(%rsp),%xmm12
  movsd  D158(%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  D163(%rip),%xmm0
  mulsd  D158(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  divsd  D675(%rip),%xmm0
  movsd  %xmm6,0x8(%rsp)
  jb     L69
  movsd  D416(%rip),%xmm5
  movq   D430(%rip),%xmm6
  movsd  %xmm0,0x60(%rsp)
  xor    %ebx,%ebx
  movq   %xmm5,%r14
  movaps %xmm6,0x30(%rsp)
  jmp    L6
  xchg   %ax,%ax
L111:
  cmp    $0x64,%ebx
  je     L168
L6:
  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 D97(%rip),%xmm0
  ja     L111
L168:
  movsd  0x88(%rsp),%xmm0
  movsd  D119(%rip),%xmm1
  movsd  %xmm4,0x40(%rsp)
  movapd %xmm0,%xmm2
  divsd  D312(%rip),%xmm2
  movsd  %xmm2,0x28(%rsp)
  call   <pow@plt>
  mov    D119(%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  D660(%rip),%xmm2
  movsd  %xmm4,0x28(%rsp)
  mulsd  0x8(%rsp),%xmm2
  mulsd  %xmm0,%xmm1
  movsd  D206(%rip),%xmm0
  subsd  %xmm1,%xmm2
  movsd  D542(%rip),%xmm1
  subsd  0xf0(%rsp),%xmm1
  mulsd  0xb8(%rsp),%xmm1
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  D542(%rip),%xmm1
  subsd  0x90(%rsp),%xmm1
  mulsd  D2(%rip),%xmm1
  addsd  D668(%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  D163(%rip),%xmm1
  movsd  0x8(%rsp),%xmm0
  mulsd  0xa8(%rsp),%xmm1
  mulsd  D149(%rip),%xmm0
  divsd  D129(%rip),%xmm0
  divsd  %xmm0,%xmm1
  movsd  0x10(%rsp),%xmm0
  comisd 0x80(%rsp),%xmm0
  jb     L140
  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
L49:
  movq   %rbp,%xmm0
  movsd  %xmm4,0x28(%rsp)
  call   <log@plt>
  movsd  0x28(%rsp),%xmm4
  subsd  0x40(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  mulsd  D620(%rip),%xmm4
  movsd  %xmm4,0x28(%rsp)
  divsd  %xmm4,%xmm0
  comisd %xmm0,%xmm1
  jae    L114
L143:
  movsd  D158(%rip),%xmm5
  movsd  D303(%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  D262(%rip),%xmm5
  mulsd  %xmm2,%xmm0
  movsd  D604(%rip),%xmm2
  divsd  %xmm2,%xmm0
  subsd  %xmm0,%xmm3
  movapd %xmm5,%xmm0
  divsd  %xmm1,%xmm0
  divsd  %xmm2,%xmm0
  addsd  D542(%rip),%xmm0
  divsd  %xmm0,%xmm3
  movsd  0x10(%rsp),%xmm0
  comisd 0x80(%rsp),%xmm0
  movsd  %xmm3,0x30(%rsp)
  jb     L68
  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)
L38:
  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  D542(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  D542(%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
L69:
  movsd  D416(%rip),%xmm7
  movq   D430(%rip),%xmm5
  movsd  %xmm0,0x70(%rsp)
  xor    %ebx,%ebx
  movq   %xmm7,%r14
  movaps %xmm5,0x30(%rsp)
  jmp    L124
  nopl   0x0(%rax)
L130:
  cmp    $0x64,%ebx
  je     L168
L124:
  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 D97(%rip),%xmm0
  ja     L130
  jmp    L168
  nopl   0x0(%rax)
L68:
  mov    $0x1,%eax
  xorpd  D163(%rip),%xmm0
  divsd  (%rsp),%xmm0
  call   <psih@plt>
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movsd  %xmm7,(%rsp)
  jmp    L38
  nopl   0x0(%rax)
L140:
  xorpd  D163(%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    L49
  nopl   (%rax)
L114:
  movq   %rbp,%xmm0
  call   <log@plt>
  divsd  0x28(%rsp),%xmm0
  jmp    L143
```

tool_calls: name: retrieve_data
arguments: data_label: D661
type_guessed: f64
name: retrieve_data
arguments: data_label: D47
type_guessed: f64
name: retrieve_data
arguments: data_label: D109
type_guessed: f64
name: retrieve_data
arguments: data_label: D558
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D516
type_guessed: f64
name: retrieve_data
arguments: data_label: D351
type_guessed: f32[4]
name: retrieve_data
arguments: data_label: D14
type_guessed: f64
name: retrieve_data
arguments: data_label: D542
type_guessed: f64
name: retrieve_data
arguments: data_label: D525
type_guessed: f64
name: retrieve_data
arguments: data_label: D356
type_guessed: f64
name: retrieve_data
arguments: data_label: D368
type_guessed: f64
name: retrieve_data
arguments: data_label: D303
type_guessed: f64
name: retrieve_data
arguments: data_label: D205
type_guessed: f64
name: retrieve_data
arguments: data_label: D302
type_guessed: f32[2]
name: retrieve_data
arguments: data_label: D570
type_guessed: f64
name: retrieve_data
arguments: data_label: D130
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D621
type_guessed: f64
name: retrieve_data
arguments: data_label: D620
type_guessed: f64
name: retrieve_data
arguments: data_label: D613
type_guessed: f64
name: retrieve_data
arguments: data_label: D557
type_guessed: f64
name: retrieve_data
arguments: data_label: D667
type_guessed: f64
name: retrieve_data
arguments: data_label: D158
type_guessed: f64
name: retrieve_data
arguments: data_label: D163
type_guessed: f32[4]
name: retrieve_data
arguments: data_label: D675
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D416
type_guessed: f64
name: retrieve_data
arguments: data_label: D430
type_guessed: qword
name: retrieve_data
arguments: data_label: D97
type_guessed: f64[2]
name: retrieve_data
arguments: data_label: D119
type_guessed: f64
name: retrieve_data
arguments: data_label: D312
type_guessed: f64
name: retrieve_data
arguments: data_label: D660
type_guessed: f64
name: retrieve_data
arguments: data_label: D206
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D2
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D668
type_guessed: f64
name: retrieve_data
arguments: data_label: D149
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D129
type_guessed: f32[2]
name: retrieve_data
arguments: data_label: D262
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D604
type_guessed: f64

tool: D661: 4.9

tool: D47: 10

tool: D109: 44331

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

tool: D516: 0.136

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

tool: D14: 273.15

tool: D542: 1

tool: D525: 1.5029

tool: D356: 0.5

tool: D368: 17.502

tool: D303: 240.97

tool: D205: 611

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

tool: D570: 0.61

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

tool: D621: 287.04

tool: D620: 0.41

tool: D613: 0.378

tool: D557: 0.12

tool: D667: 125

tool: D158: 1005

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

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

tool: D416: 3

tool: D430: 9223372036854775807

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

tool: D119: 4

tool: D312: 1000

tool: D660: 9.2

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

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

tool: D668: 0.05

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

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

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

tool: D604: 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);
}
```