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

```asm
<bessik>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1a0,%rsp
  movss  %xmm0,-0x174(%rbp)
  movss  %xmm1,-0x178(%rbp)
  mov    %rdi,-0x180(%rbp)
  mov    %rsi,-0x188(%rbp)
  mov    %rdx,-0x190(%rbp)
  mov    %rcx,-0x198(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  pxor   %xmm0,%xmm0
  comiss -0x174(%rbp),%xmm0
  jae    L70
  pxor   %xmm0,%xmm0
  comiss -0x178(%rbp),%xmm0
  jbe    L69
L70:
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  call   <nrerror@plt>
L69:
  pxor   %xmm1,%xmm1
  cvtss2sd -0x178(%rbp),%xmm1
  movsd  D193(%rip),%xmm0
  addsd  %xmm1,%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x164(%rbp)
  pxor   %xmm1,%xmm1
  cvtsi2ssl -0x164(%rbp),%xmm1
  movss  -0x178(%rbp),%xmm0
  subss  %xmm1,%xmm0
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  pxor   %xmm1,%xmm1
  cvtss2sd -0x174(%rbp),%xmm1
  movsd  D188(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x98(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  pxor   %xmm0,%xmm0
  cvtss2sd -0x178(%rbp),%xmm0
  movsd  -0x98(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  D278(%rip),%xmm0
  comisd -0x108(%rbp),%xmm0
  jbe    L48
  movsd  D278(%rip),%xmm0
  movsd  %xmm0,-0x108(%rbp)
L48:
  pxor   %xmm0,%xmm0
  cvtss2sd -0x178(%rbp),%xmm0
  movsd  -0x90(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0x108(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movl   $0x1,-0x16c(%rbp)
  jmp    L284
L36:
  movsd  -0x138(%rbp),%xmm0
  addsd  -0x90(%rbp),%xmm0
  movsd  %xmm0,-0x138(%rbp)
  movsd  -0x138(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x128(%rbp),%xmm1
  movsd  D188(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  D188(%rip),%xmm0
  divsd  -0x130(%rbp),%xmm0
  movsd  -0x138(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x130(%rbp),%xmm0
  mulsd  -0x128(%rbp),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x108(%rbp),%xmm0
  mulsd  -0x88(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0x88(%rbp),%xmm0
  movsd  D188(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movq   D172(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D204(%rip),%xmm0
  comisd %xmm1,%xmm0
  ja     L109
  addl   $0x1,-0x16c(%rbp)
L284:
  cmpl   $0x2710,-0x16c(%rbp)
  jle    L36
  jmp    L121
L109:
  nop
L121:
  cmpl   $0x2710,-0x16c(%rbp)
  jle    L238
  lea    D58(%rip),%rax
  mov    %rax,%rdi
  call   <nrerror@plt>
L238:
  movsd  D278(%rip),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  -0x108(%rbp),%xmm0
  mulsd  -0xe0(%rbp),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  -0xe0(%rbp),%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0x78(%rbp)
  pxor   %xmm0,%xmm0
  cvtss2sd -0x178(%rbp),%xmm0
  movsd  -0x98(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x118(%rbp)
  mov    -0x164(%rbp),%eax
  mov    %eax,-0x168(%rbp)
  jmp    L226
L73:
  movsd  -0x118(%rbp),%xmm0
  mulsd  -0xe0(%rbp),%xmm0
  movsd  -0xd8(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x118(%rbp),%xmm0
  subsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x118(%rbp)
  movsd  -0x118(%rbp),%xmm0
  mulsd  -0x10(%rbp),%xmm0
  movsd  -0xe0(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  subl   $0x1,-0x168(%rbp)
L226:
  cmpl   $0x0,-0x168(%rbp)
  jg     L73
  movsd  -0xd8(%rbp),%xmm0
  divsd  -0xe0(%rbp),%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movss  D427(%rip),%xmm0
  comiss -0x174(%rbp),%xmm0
  jbe    L111
  pxor   %xmm1,%xmm1
  cvtss2sd -0x174(%rbp),%xmm1
  movsd  D193(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0xa8(%rbp),%xmm1
  movsd  D78(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x48(%rbp),%xmm0
  movq   D172(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D204(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L262
  movsd  D188(%rip),%xmm0
  jmp    L122
L262:
  mov    -0x48(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movapd %xmm0,%xmm1
  movsd  -0x48(%rbp),%xmm0
  divsd  %xmm1,%xmm0
L122:
  movsd  %xmm0,-0x118(%rbp)
  mov    -0x50(%rbp),%rax
  movq   %rax,%xmm0
  call   <log@plt>
  movq   %xmm0,%rax
  movq   D60(%rip),%xmm0
  movq   %rax,%xmm3
  xorpd  %xmm0,%xmm3
  movapd %xmm3,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  -0x128(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm0
  movq   D172(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D204(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L65
  movsd  D188(%rip),%xmm0
  jmp    L189
L65:
  mov    -0x40(%rbp),%rax
  movq   %rax,%xmm0
  call   <sinh@plt>
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  divsd  -0x40(%rbp),%xmm0
L189:
  movsd  %xmm0,-0x38(%rbp)
  lea    -0x150(%rbp),%rcx
  lea    -0x148(%rbp),%rdx
  lea    -0x158(%rbp),%rsi
  lea    -0x160(%rbp),%rdi
  mov    -0xa8(%rbp),%rax
  movq   %rax,%xmm0
  call   <beschb@plt>
  mov    -0x40(%rbp),%rax
  movq   %rax,%xmm0
  call   <cosh@plt>
  movsd  -0x160(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  -0x158(%rbp),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  mulsd  -0x128(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x118(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  movsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  pxor   %xmm5,%xmm5
  cvtsd2ss -0x40(%rbp),%xmm5
  movd   %xmm5,%eax
  movd   %eax,%xmm0
  call   <exp@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm1
  movsd  D193(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x148(%rbp),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  -0x150(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x40(%rbp),%xmm1
  movsd  D193(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  D188(%rip),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0x100(%rbp),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movl   $0x1,-0x16c(%rbp)
  jmp    L98
L194:
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x16c(%rbp),%xmm0
  mulsd  -0x110(%rbp),%xmm0
  addsd  -0x100(%rbp),%xmm0
  addsd  -0xf8(%rbp),%xmm0
  mov    -0x16c(%rbp),%eax
  imul   %eax,%eax
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm1
  subsd  -0xa0(%rbp),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x110(%rbp)
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0x16c(%rbp),%xmm1
  movsd  -0x128(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movsd  -0x130(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x16c(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0xa8(%rbp),%xmm1
  movsd  -0x100(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x100(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x16c(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0xa8(%rbp),%xmm1
  movsd  -0xf8(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  -0x130(%rbp),%xmm0
  mulsd  -0x110(%rbp),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0xb8(%rbp),%xmm0
  addsd  -0x88(%rbp),%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x16c(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x110(%rbp),%xmm1
  movsd  -0x100(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  -0x130(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0x88(%rbp),%xmm0
  movq   D172(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  -0xb8(%rbp),%xmm0
  movq   D172(%rip),%xmm2
  andpd  %xmm0,%xmm2
  movsd  D204(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  comisd %xmm1,%xmm0
  ja     L55
  addl   $0x1,-0x16c(%rbp)
L98:
  cmpl   $0x2710,-0x16c(%rbp)
  jle    L194
  jmp    L110
L55:
  nop
L110:
  cmpl   $0x2710,-0x16c(%rbp)
  jle    L272
  lea    D182(%rip),%rax
  mov    %rax,%rdi
  call   <nrerror@plt>
L272:
  movsd  -0xb8(%rbp),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0x90(%rbp),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  jmp    L64
L111:
  pxor   %xmm1,%xmm1
  cvtss2sd -0x174(%rbp),%xmm1
  movsd  D188(%rip),%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  movsd  D188(%rip),%xmm0
  divsd  -0x138(%rbp),%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0x128(%rbp),%xmm0
  movsd  %xmm0,-0x120(%rbp)
  movsd  -0x120(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  D188(%rip),%xmm0
  movsd  %xmm0,-0xe8(%rbp)
  movsd  D416(%rip),%xmm0
  subsd  -0xa0(%rbp),%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  -0x68(%rbp),%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x130(%rbp),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  -0x68(%rbp),%xmm0
  movq   D60(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  %xmm0,-0x140(%rbp)
  movsd  -0xf8(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x120(%rbp),%xmm1
  movsd  D188(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movl   $0x2,-0x16c(%rbp)
  jmp    L23
L146:
  mov    -0x16c(%rbp),%eax
  sub    $0x1,%eax
  add    %eax,%eax
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm1
  movsd  -0x140(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x140(%rbp)
  movsd  -0x140(%rbp),%xmm0
  movq   D60(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mulsd  -0x130(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0x16c(%rbp),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x130(%rbp)
  movsd  -0x138(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xe8(%rbp),%xmm1
  movsd  -0xf0(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  divsd  -0x140(%rbp),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0xe8(%rbp),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,-0xe8(%rbp)
  movsd  -0x130(%rbp),%xmm0
  mulsd  -0x60(%rbp),%xmm0
  movsd  -0xf8(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  -0x138(%rbp),%xmm1
  movsd  D72(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x138(%rbp)
  movsd  -0x140(%rbp),%xmm0
  mulsd  -0x128(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0x138(%rbp),%xmm1
  movsd  D188(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x128(%rbp)
  movsd  -0x138(%rbp),%xmm0
  mulsd  -0x128(%rbp),%xmm0
  movsd  D188(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  -0x120(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x120(%rbp)
  movsd  -0x108(%rbp),%xmm0
  addsd  -0x120(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  movsd  -0xf8(%rbp),%xmm0
  mulsd  -0x120(%rbp),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0xc0(%rbp),%xmm0
  addsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  -0x58(%rbp),%xmm0
  divsd  -0xc0(%rbp),%xmm0
  movq   D172(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  D204(%rip),%xmm0
  comisd %xmm1,%xmm0
  ja     L161
  addl   $0x1,-0x16c(%rbp)
L23:
  cmpl   $0x2710,-0x16c(%rbp)
  jle    L146
  jmp    L27
L161:
  nop
L27:
  cmpl   $0x2710,-0x16c(%rbp)
  jle    L105
  lea    D71(%rip),%rax
  mov    %rax,%rdi
  call   <nrerror@plt>
L105:
  movsd  -0x108(%rbp),%xmm0
  mulsd  -0x68(%rbp),%xmm0
  movsd  %xmm0,-0x108(%rbp)
  pxor   %xmm0,%xmm0
  cvtss2sd -0x174(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  %xmm0,%xmm1
  movsd  D78(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movsd  %xmm0,-0x1a0(%rbp)
  movss  -0x174(%rbp),%xmm0
  movss  D210(%rip),%xmm1
  movaps %xmm0,%xmm4
  xorps  %xmm1,%xmm4
  movd   %xmm4,%eax
  movd   %eax,%xmm0
  call   <exp@plt>
  mulsd  -0x1a0(%rbp),%xmm0
  divsd  -0xc0(%rbp),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  pxor   %xmm0,%xmm0
  cvtss2sd -0x174(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0xa8(%rbp),%xmm1
  movsd  D193(%rip),%xmm0
  addsd  %xmm1,%xmm0
  subsd  -0x108(%rbp),%xmm0
  mulsd  -0xc8(%rbp),%xmm0
  movsd  -0x98(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0xd0(%rbp)
L64:
  movsd  -0xa8(%rbp),%xmm0
  mulsd  -0x98(%rbp),%xmm0
  mulsd  -0xc8(%rbp),%xmm0
  subsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x70(%rbp),%xmm0
  mulsd  -0xc8(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x28(%rbp),%xmm1
  movsd  -0x98(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0x20(%rbp),%xmm0
  mulsd  -0x80(%rbp),%xmm0
  divsd  -0xe0(%rbp),%xmm0
  cvtsd2ss %xmm0,%xmm0
  mov    -0x180(%rbp),%rax
  movss  %xmm0,(%rax)
  movsd  -0x20(%rbp),%xmm0
  mulsd  -0x78(%rbp),%xmm0
  divsd  -0xe0(%rbp),%xmm0
  cvtsd2ss %xmm0,%xmm0
  mov    -0x190(%rbp),%rax
  movss  %xmm0,(%rax)
  movl   $0x1,-0x16c(%rbp)
  jmp    L171
L135:
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x16c(%rbp),%xmm0
  addsd  -0xa8(%rbp),%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  -0xc8(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  addl   $0x1,-0x16c(%rbp)
L171:
  mov    -0x16c(%rbp),%eax
  cmp    -0x164(%rbp),%eax
  jle    L135
  pxor   %xmm0,%xmm0
  cvtsd2ss -0xc8(%rbp),%xmm0
  mov    -0x188(%rbp),%rax
  movss  %xmm0,(%rax)
  pxor   %xmm0,%xmm0
  cvtss2sd -0x178(%rbp),%xmm0
  mulsd  -0x98(%rbp),%xmm0
  mulsd  -0xc8(%rbp),%xmm0
  subsd  -0xd0(%rbp),%xmm0
  cvtsd2ss %xmm0,%xmm0
  mov    -0x198(%rbp),%rax
  movss  %xmm0,(%rax)
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L59
  call   <__stack_chk_fail@plt>
L59:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D43
datatype: string
name: retrieve_data
arguments: data_tag: D193
datatype: f64
name: retrieve_data
arguments: data_tag: D188
datatype: f64
name: retrieve_data
arguments: data_tag: D278
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D172
datatype: qword
name: retrieve_data
arguments: data_tag: D204
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D58
datatype: string
name: retrieve_data
arguments: data_tag: D427
datatype: f32
name: retrieve_data
arguments: data_tag: D78
datatype: f64
name: retrieve_data
arguments: data_tag: D60
datatype: f32[2]
name: retrieve_data
arguments: data_tag: D182
datatype: string
name: retrieve_data
arguments: data_tag: D416
datatype: f64
name: retrieve_data
arguments: data_tag: D72
datatype: f32[2]
name: retrieve_data
arguments: data_tag: D71
datatype: string
name: retrieve_data
arguments: data_tag: D210
datatype: byte[4]

tool: D43: bad arguments in bessik

tool: D193: 0.5

tool: D188: 1

tool: {"D278": [0xa0,0xc2,0xeb,0xfe,0x4b,0x48,0xb4,0x39]}

tool: D172: 9223372036854775807

tool: {"D204": [0xbb,0xbd,0xd7,0xd9,0xdf,0x7c,0xdb,0x3d]}

tool: D58: x too large in bessik; try asymptotic expansion

tool: D427: 2

tool: D78: 3.141592653589793

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

tool: D182: bessk series failed to converge

tool: D416: 0.25

tool: {"D72": [0.0,2.0]}

tool: D71: bessik: failure to converge in cf2

tool: {"D210": [0x00,0x00,0x00,0x80]}

assistant: ```c
void bessik(float x, float xnu, float *ri, float *rk, float *rip, float *rkp) {
  void beschb(double x, double *gam1, double *gam2, double *gampl, double *gammi);
  void nrerror(char error_text[]);
  int i, l, nl;
  double a, a1, b, c, d, del, del1, delh, dels, e, f, fact, fact2, ff, gam1, gam2, gammi, gampl, h, p, pimu, q, q1, q2, qnew, ril, ril1, rimu, rip1, ripl, ritemp, rk1, rkmu, rkmup, rktemp, s, sum, sum1, x2, xi, xi2, xmu, xmu2;
  if (x <= 0.0 || xnu < 0.0)
    nrerror("bad arguments in bessik");
  nl = (int)(xnu + 0.5);
  xmu = xnu - nl;
  xmu2 = xmu * xmu;
  xi = 1.0 / x;
  xi2 = 2.0 * xi;
  h = xnu * xi;
  if (h < 1.0e-30)
    h = 1.0e-30;
  b = xi2 * xnu;
  d = 0.0;
  c = h;
  for (i = 1; i <= 10000; i++) {
    b += xi2;
    d = 1.0 / (b + d);
    c = b + 1.0 / c;
    del = c * d;
    h = del * h;
    if (fabs(del - 1.0) < 1.0e-10)
      break;
  }
  if (i > 10000)
    nrerror("x too large in bessik; try asymptotic expansion");
  ril = 1.0e-30;
  ripl = h * ril;
  ril1 = ril;
  rip1 = ripl;
  fact = xnu * xi;
  for (l = nl; l >= 1; l--) {
    ritemp = fact * ril + ripl;
    fact -= xi;
    ripl = fact * ritemp + ril;
    ril = ritemp;
  }
  f = ripl / ril;
  if (x < 2.0) {
    x2 = 0.5 * x;
    pimu = 3.141592653589793 * xmu;
    fact = (fabs(pimu) < 1.0e-10 ? 1.0 : pimu / sin(pimu));
    d = -log(x2);
    e = xmu * d;
    fact2 = (fabs(e) < 1.0e-10 ? 1.0 : sinh(e) / e);
    beschb(xmu, &gam1, &gam2, &gampl, &gammi);
    ff = fact * (gam1 * cosh(e) + gam2 * fact2 * d);
    sum = ff;
    e = exp(e);
    p = 0.5 * e / gampl;
    q = 0.5 / (e * gammi);
    c = 1.0;
    d = x2 * x2;
    sum1 = p;
    for (i = 1; i <= 10000; i++) {
      ff = (i * ff + p + q) / (i * i - xmu2);
      c *= (d / i);
      p /= (i - xmu);
      q /= (i + xmu);
      del = c * ff;
      sum += del;
      del1 = c * (p - i * ff);
      sum1 += del1;
      if (fabs(del) < fabs(sum) * 1.0e-10)
        break;
    }
    if (i > 10000)
      nrerror("bessk series failed to converge");
    rkmu = sum;
    rk1 = sum1 * xi2;
  } else {
    b = 2.0 * (1.0 + x);
    d = 1.0 / b;
    h = delh = d;
    q1 = 0.0;
    q2 = 1.0;
    a1 = 0.25 - xmu2;
    q = c = a1;
    a = -a1;
    s = 1.0 + q * delh;
    for (i = 2; i <= 10000; i++) {
      a -= 2 * (i - 1);
      c = -a * c / i;
      qnew = (q1 - b * q2) / a;
      q1 = q2;
      q2 = qnew;
      q += c * qnew;
      b += 2.0;
      d = 1.0 / (b + a * d);
      delh = (b * d - 1.0) * delh;
      h += delh;
      dels = q * delh;
      s += dels;
      if (fabs(dels / s) < 1.0e-10)
        break;
    }
    if (i > 10000)
      nrerror("bessik: failure to converge in cf2");
    h = a1 * h;
    rkmu = sqrt(3.141592653589793 / (2.0 * x)) * exp(-x) / s;
    rk1 = rkmu * (xmu + x + 0.5 - h) * xi;
  }
  rkmup = xmu * xi * rkmu - rk1;
  rimu = xi / (f * rkmu - rkmup);
  *ri = (rimu * ril1) / ril;
  *rip = (rimu * rip1) / ril;
  for (i = 1; i <= nl; i++) {
    rktemp = (xmu + i) * xi2 * rk1 + rkmu;
    rkmu = rk1;
    rk1 = rktemp;
  }
  *rk = rkmu;
  *rkp = xnu * xi * rkmu - rk1;
}
```